AdapterRequests icon indicating copy to clipboard operation
AdapterRequests copied to clipboard

Salus Controls - it600

Open rweise opened this issue 5 years ago • 10 comments

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.

rweise avatar Feb 04 '20 07:02 rweise

Gibs irgendwelche infos, links zur API zb?

DutchmanNL avatar Feb 04 '20 07:02 DutchmanNL

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

xyz4tech avatar Apr 25 '21 11:04 xyz4tech

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

JeffJefferson avatar May 22 '21 08:05 JeffJefferson

@DutchmanNL lässt sich mit den bisherigen Input etwas anfangen um eine Integration zu starten?

xyz4tech avatar Dec 14 '21 23:12 xyz4tech

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

2K-Darkness avatar Nov 08 '25 13:11 2K-Darkness

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,

mcm1957 avatar Nov 08 '25 15:11 mcm1957

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

2K-Darkness avatar Nov 08 '25 16:11 2K-Darkness

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.

mcm1957 avatar Nov 08 '25 16:11 mcm1957

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 :-)

2K-Darkness avatar Nov 08 '25 16:11 2K-Darkness

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.

mcm1957 avatar Nov 08 '25 19:11 mcm1957