Homematic Variablen über Homeassistant via NodeRed schreiben

Open Source Hausautomation

Moderator: Co-Administratoren

Antworten
jorin
Beiträge: 3
Registriert: 16.10.2020, 10:26
System: Alternative CCU (auf Basis OCCU)

Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von jorin » 23.12.2022, 20:34

Liebe Community,

seit ein paar Tagen bin ich dabei, mein Homematic auf Homeassistant zu migrieren. Da ich einen eInk Taster nutze, um u.A. die Außentemperatur anzuzeigen würde ich die Temperatur (wird bei DWD Node in NodeRed abgerufen) gerne in die Homematic Variable "Aussentemperatur" schreiben.

Ich habe gesehen, dass es für die "call service" für die Domain homematicip_local einen Service "set_variable_value" gibt. Dort müssen die Variablen entry_id, name und value übergeben werden. Ich schreibe dort testweise folgenden JSON:

Code: Alles auswählen

{"entry_id":"homematicip_local.raspimatic","name":"Aussentemperatur","value":25}
Der Wert kommt aber nicht an. "raspimatic" ist der Name der CCU in Homeassistant. Weiß jemand, was ich hier falsch mache?

Würde mich über Hilfe sehr freuen, stecke hier leider fest und habe schon diverse Alternativen versucht. Falls jemand weiß, wie ich das eInk Display direkt nutzen kann, nehme ich auch dazu gerne Hinweise an :)

Danke und viele Grüße,

Jorin

Benutzeravatar
Henke
Beiträge: 1500
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 304 Mal

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von Henke » 23.12.2022, 21:09

Node "sysvar" nutzen, wenn es darum geht eine Systemvariable der CCU zu beschreiben.

jorin
Beiträge: 3
Registriert: 16.10.2020, 10:26
System: Alternative CCU (auf Basis OCCU)

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von jorin » 23.12.2022, 22:10

NodeRed läuft hier nicht als RedMatic auf der CCU, sondern als Addon im HomeAssistant.

jonvelle
Beiträge: 20
Registriert: 17.11.2022, 16:43
System: CCU
Hat sich bedankt: 3 Mal

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von jonvelle » 05.08.2023, 07:46

Hallo jorin, hast Du dazu eine Lösung gefunden?
Ich bin ziemlicher Anfänger und Programmier Laie.
Habe Raspberrymatic auf NUC als Adon im Homeassistant zu laufen.
Ich möchte auch gern bestimmte Entitäten, wie z.B. die Werte meiner Bodenfeuchte Sensoren der Ecowitt Station in Systemvariablen der CCU3 übergeben. Einfach um diese in der @Home App neben meinen Garten Sprengern ( Magnetventile) anzuzeigen. Ich habe über Automatisierungen im Homeassistant die Bodenfeuchte ( bzw. zwei Entscheidungswerte „Trocken“ und „Nass genug“) als Trigger zur Steuerung der Sprenger in eine Systemvariable der CCU3 geschrieben. Das funktioniert ganz gut. Aber wie mache ich das mit sich ändernden Werten, also den einzelnen „Prozenten“ der Bodenfeuchte Sensoren?
Ich hoffe, ich konnte mich mit meiner laienhaften Beschreibung verständlich genug ausdrücken.
Mit besten Grüßen
Jonvelle


jonvelle
Beiträge: 20
Registriert: 17.11.2022, 16:43
System: CCU
Hat sich bedankt: 3 Mal

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von jonvelle » 06.08.2023, 14:53

Vielen Dank für den Hinweis. Aber ich komme leider mit meinen Kenntnissen nur per Error und trial weiter.

Ich habe es mit dem Vorschlag versucht und meine Daten eingetragen bzw. auch erst mit einer eigenen Automation das Grundgerüst erzeugt und dann die fehlenden Teile eingefügt.
Yamml hatte nach einigen Fehlvesuchen, dann an der Syntax nichts mehr auszusetzen.
Aber ich bekomme jetzt nach Neustart folgenden Fehler:

Automation with alias 'Bodenfeuchte Werte in%' could not be validated and has been disabled: extra keys not allowed @ data['action'][0]['entry_id']. Got 'XXXXXXX303e0d70d0d22f4bba694699a' extra keys not allowed @ data['action'][0]['name']. Got "VH_Boden value:> {{ states('sensor.gw2000a_v2_2_3_soil_moisture_1') | float | round(1) }}"

Meine Automation sieht so aus:
- id: '1691321639718'
alias: Bodenfeuchte Werte in%
description: übertragen
trigger:
- platform: state
entity_id: sensor.gw2000a_v2_2_3_soil_moisture_1
condition: []
action:
- service: homematicip_local.set_variable_value
data: sensor.gw2000a_v2_2_3_soil_moisture_1
entry_id: XXXXXXX303e0d70d0d22f4bba694699a
name: VH_Boden
value:>
{{ states('sensor.gw2000a_v2_2_3_soil_moisture_1') | float
| round(1) }}
mode: single

Hab dann erstmal die Zeilen aus der config/automations.yaml gelöscht.

Zu meinem Verständniss? - Das muss schon eine Automation sein, die in die config/automations.yaml geschrieben wird?
Weil, ich brauche da ja auch immer eine "iD:", oder?

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von Baxxy » 06.08.2023, 15:41

Ich würde einfach über die UI von HA eine Automatisierung erstellen (Einstellungen -> Automatisierungen & Szenen)

Da kann man sich das ja erstmal grob zusammenklicken und den Feinschliff dann in yaml machen.

Ein weiteres Beispiel gibt es hier:
viewtopic.php?f=84&t=79018#p768232

jonvelle
Beiträge: 20
Registriert: 17.11.2022, 16:43
System: CCU
Hat sich bedankt: 3 Mal

Re: Homematic Variablen über Homeassistant via NodeRed schreiben

Beitrag von jonvelle » 07.08.2023, 08:04

Vielen Dank für Deinen Hinweis, aber genau dass versuche ich ja.
Es funktioniert aber nicht. Es gibt entweder Syntaxfehler oder die UI der Automatisierung lässt das so nicht zu. Bringt Fehler.

Der letzte Beispiel Hinweis Deinerseits: Wie und wo muss der genau abgespeichert werden?

Antworten

Zurück zu „Home Assistant“