Sprsun nie mają, trzeba dorzucić osobno.
Jeżeli jesteś zainteresowany tematem to jak będę miał chwilę wolnego czasu, mogę Ci przesłać co i jak, ale moje rozwiązanie wiąże się z wyciągnięciem API key z aplikacji.
Też jestem zainteresowany rozwiązaniem gdzie działa chmura i HA. Czy możesz ( tak jak już prosił Blacksceener) udostępnić kod node red ? Planujesz sie podzielić info na github?
To znaczy temat nie jest dla każdego, ja użyłem http toolkit z zrootowanym telefonem (pinning certyfikatów) aby rozgryźć komunikację. Ponieważ klucze API są wysyłane w zapytaniach nie sprawdzałem czy można się dobrać do nich inaczej. W sumie jak ktoś bardziej się zna na Node Red to mogło by z tego wyjść coś fajnego.
Zaczynając od websocket in:
Po zalogowaniu serwer zwraca jsona z danymi, tu dla testu użyłem template a dane przekazuje do HA
Zawartość template:
Temperatura zadana:
{{payload.attr_status.data.water_heat_set_temp}}
Temperatura w pompie:
{{payload.attr_status.data.env_temp}}
Temperatura parownika:
{{payload.attr_status.data.0x0028}}
Temperatura kondensacji:
{{payload.attr_status.data.0x0029}}
Napięcie 3 faz:
{{payload.attr_status.data.0x0021}}
Następnie websocket out:
Tu uzyskałem logowanie, oraz odczytałem dane jakie należy przesłać aby w odpowiedzi uzyskać wszystkie dane zawarte w tabelach:
Logowanie:
msg.payload = {
"cmd": "Authenticate",
"sn": 1,
"domain": {
"phoenix": "m2m.sprsun.com:8082&447",
"file_upload_b": "m2m.chip-space.com:9001&446",
"file_upload": "di-link.com:80&443",
"file_download": "m2m.sprsun.com:80&443",
"qr_url": "m2m.chip-space.com:9001&446",
"api": "m2m.sprsun.com:80&8083"
},
"app_info": {
"app_key": "",
"app_secret": "",
"package_name": "com.sprsun.commonovs",
"version": "1.8.3",
"build_channel": "release",
"app_name_en": "Heat Pump"
},
"product_info": [
{
"product_key": "",
"product_secret": ""
}
],
"user_info": {
"uid": "",
"token": ""
},
"log_clear": false,
"lan_disable": false,
"diff_report": false,
"targeting_push": true,
"no_devStatus_after_DevList": true
}
return msg;
No i w tym miejscu pojawia się opisany wcześniej problem wszystkie puste wartości każdy musi sobie odczytać sam.
Z zapytaniem o szczegółowe dane jest podobnie:
msg.payload =
{
"cmd": "UserFormatDataQuery",
"sn": 4,
"token": "",
"data_query": {
"url": "DeviceDetail",
"action": "select",
"select": [
{
"table": "E_data_minute",
"column": [
"V",
"A",
"P",
"E",
"device_key",
"create_at"
]
}
],
"where": [
{
"table": "E_data_minute",
"column": [
{
"method": "",
"name": "device_key",
"option": "=",
"value": ""
},
{
"method": "and",
"name": "create_at",
"option": ">",
"value": "2023-07-13 00:00:00"
},
{
"method": "and",
"name": "create_at",
"option": "<=",
"value": "2023-07-13 23:59:59"
}
]
}
],
"order": {
"desc": false,
"table": "E_data_minute",
"order_by": "create_at",
"same_repeat": [
"create_at"
]
},
"group": {},
"addition": {}
}
}
return msg;
Jak już się ogarnie http toolkit to jest prosto bo wystarczy skopiować sobie co jest wysyłane np. podczas kliknięcia przycisku wyłączenia pompy czy zmainy nastawy temperatury.
CZEŚĆ,
proszę o SOS, jestem tu nowy i korzystam z HomeAssistant od niedawna, więc moja wiedza jest niestety niewielka…
Udało mi się zintegrować solarassistant, wszystkie możliwe elementy inteligentnego domu itp., ale mam problem z pompą ciepła SPRSUN.
Zupełnie nie podobają mi się wartości, które EW11 wysyła poprzez Modbus (kupiłem drugi na Aliexpress, żeby zachować konfigurację oryginalnego).
Ustawiam te wartości na pompie ciepła i szukam ich na protokole MODBUS, żeby zobaczyć ich adresy - na próżno, jedne wychodzą, a inne nie. toto je nastavení na čerpadle:
když ale čtu modbus:
więc brakuje mi ustawionej temperatury (25°C) i temperatury zewnętrznej (3,5°C) - gdzie mogę znaleźć te wartości w logu MODBUS, co źle odczytuję? z drugiej strony usunę wejście (adres 14), wyjście (adres 18), aktualną temperaturę CWU (adres 15) … .