Salus Controls - it600
Hallo,
eine Einbindung der Salus Systeme , für mich hauptsächlich das it600 System wäre wünschenswert. Die Thermostate und Regler laufen über Zigbee, das wäre aber egal. schöner wäre für mich zur Zeit ein Zugriff über die Salus-Control Server.
Gibs irgendwelche infos, links zur API zb?
Maybe it‘s useful to have a look at the salus component for home assistant.
https://github.com/jvitkauskas/homeassistant_salus https://github.com/jvitkauskas/pyit600
Hi Leute,
ich habe mir mal die oben erwähnten sourcen angsehen. Scheinbar läuft ne REST API auf dem UGE600.
Leider finde ich die Readme nicht sehr aussagekräftig, also musste ich mich durch den code wühlen. Habe in der gateway.py einiges interessantes entdeckt. scheinbar muss die api kommunikation verschlüsselt werden, verstehe den teil in der encryption.py aber nicht so ganz. habe die api auch mal mit postman versucht anzusprechen, aber krieg da keine rückmeldung. (vermutlich wegen fehlender verschlüsselung)
habe das ganze daher einfach mal auf meinem rapsberry pi geschmissen, auf dem auch meine iobroker instanz läuft. der Aufruf der main.py mittels ip und euid vom UGE600 sieht schonmal sehr gut aus.
Auf dem ersten Blick habe ich folgende json Endpunkte entdeckt:
POST http://[ip vom uge 600]:80/deviceid/read und POST http://[ip vom uge 600]:80/deviceid/write
in der main.py werden diese entpunkte mit unterschiedlichen json bodies bedient: bspw für den read endpunkt:
- {"requestAttr": "readall"}
- {"requestAttr": "deviceid", "id": [{"data": {"DeviceType": 300, "UniID": "0000000000000000", "Endpoint": 0}}]}
oder für den write entpunkt um die SOLL temperatur eines Thermostats auf 21°C festzulegen: {"requestAttr": "write", "id": [{"data": {"DeviceType": 100, "UniID": "001e5e090209fe13", "Endpoint": 9}, "sIT600TH": {"SetHeatingSetpoint_x100": 2100}}]}
Leider weiß ich nicht wie man Adapter für Io broker erstellt, aber basierend auf dem sourcecode müsste das ja relativ einfach gehen. werden imerhin ja nur einzelne api's angesprochen. wäre auf jeden fall ganz cool wenn jemand so nen adapter basteln könnte :)
Liebe Grüße, Jeff
@DutchmanNL lässt sich mit den bisherigen Input etwas anfangen um eine Integration zu starten?
Hi!
Ich habe mit den Infos hier zumindest schon mal ein lauffähiges python (v3.14) Script erfolgreich erstellt.
Der Ausprint sieht wie folgt aus:
/home/pi/salus/venv/bin/python /home/pi/salus/uge600.py 0000000000000000 192.168.0.28
{ "climate": { "001e5e090904d2ee": { "name": "Raum1", "current_temperature": 21.5, "target_temperature": 21.0, "current_humidity": 46, "hvac_mode": "auto", "hvac_action": "idle" }, "001e5e090904d402": { "name": "Raum2", "current_temperature": 21.0, "target_temperature": 21.0, "current_humidity": 57, "hvac_mode": "auto", "hvac_action": "idle" } }, "switch": {}, "cover": {}, "sensor": {} }
Hier sind es 2 it600er Module.
Es müsste nur noch jemand den Adapter bauen und das Script "pollen" lassen. Beim erstellen eines Adapters bin ich allerdings leider raus...
Vielleicht hat ja jemand Lust?
Grüße
ioBroker und Python vertragen sich ziemlich schlecht. Die Einbindung in Installation von Python Modulen macht meist Probleme und sollte wenn irgend möglich vermniden werden,
Verstehe. Vielleicht gibt es einen "Universal" Adapter, der einfach bestimmte Werte aus einer Datei in die Objekte übernimmt? Dann könnte ich das Script ja über nen Cronjob laufen lassen und die Werte darüber integrieren. Ich hatte schon was von der simpleAPI gelesen... Wäre das der Ansatz?
Grüße
Du kannst via simpleApi oder REST Api beliebig States in iobroker beschreiben. Dein Script kann also via http Daten eoinlieferern. Aber das hat jetzt mal nichts mehr mit deiesem Request zu tun. Bitte mach ein Topic in userem Forum (https://forum.iobroker.ent) auf. Da kann / wird man dir sicher helfen.
Ja, ein echter Adapter wäre mir natürlich lieber. Das es hier jetzt mit Python umgesetzt wurde ist natürlich auch kein "Muss". Kein Plan wie aufwändig das wäre, die einfache Abfrage anders umzusetzen...
Aber ich kann natürlich gerne unterstützen.
Grüße :-)
Wenn du in die Adapterentwicklung einsteigen willst wirf einen Blick auf www.iobroker.dev. Und meld dich ggF in der Telegramm / Discord Starters Gruppe. Wenn du dich vor javascript nicht fürchtest wirst du dort sicher Hilfe bekommen mal was zu probieren.