Automation-Neuling braucht Hilfe beim erstellen von Regeln

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von wighdeas »

Hallo zusammen,

ich brauch etwas Hilfe bei der Einrichtung von Rules mittels Visual Studio Code für mein Openhab-System. Eckdaten wie folgt:

- Openhabian/Openhab 2.4.0. auf meine RasPi4 4B
- Ich will damit mein eigenes Smart Home einrichten, wobei folgende Geräte schon eingebunden sind:
- Thermostate, Unterputzdimmer und Fußbodenheizung von HomeMaticIP (mittel CCU3, Firmware 3.47.22)
- Osram Smart+ Steckdose und Glühbirnen mittles Dezcon-Zigbee-Adapter, den ich im RasPi verbaut habe
- Yamaha RXV 497 Receiver
- Samsung TV UE50Ku6079U
- No-Name-Colorbirne Zigbee
- Mit der Einrichtung des HabPanels komme ich bis auf Kleinigkeiten zurecht.
- Ich habe recht wenig Programmiererfahrung und denke mich gerade in Visual Studio rein, Items und sitemap (bedingt) habe ich auch schon angelegt, klappt soweit.
- Nun möchte ich Regeln erstellen damit das ganze auch Smart wird und ich nicht nur wie ein Horst mein Licht mit dem PC dimmen kann.
- Mein grundlegendes Problem ist wohl neben der fehlenden Kenntnis im Programmieren auch, dass ich nicht weiß welche Befehle ich genau an welchen Aktor bzw. Item in welchem Format schicken muss.

Beispiel und auch Anlass meines Beitrags: Ich würde gerne das Licht im Wohnzimmer auf 20% dimmen, sobald ich den Fernseher und damit auch Receiver (sind über ACR verbunden und Receiver geht mit TV an). Dazu habe ich folgende Rule geschrieben:

Code: Alles auswählen

rule "Livingroom_TV_Mode"
when
Item HeimkinoYamahaReceiverRXV479_Power changed [from <OFF>] [to <ON>]
then DimmerschalterWohnzimmer1LEVEL.sendCommand(0.2)
end
nun passiert nichts.

Kann mir jemand sagen, ob meine Rule einen Fehler beinhaltet (z.B. Falsches Command an Dimmer), der Trigger falsch formuliert ist (changed from ...to...) oder - was ich vermute - hier ein viel grundlegenderes Problem vorliegt? Gut möglich, dass ich was vergessen habe mitzuteilen aber das teilt mir sicher jemand mit :D Vielen Dank schonmal für euer Feedback (hoffentlich noch dieses Jahr).
von mbs » 12. Jan 2020 12:22
starte Dein openHAB-System neu, sollte danach funktionieren.
Gehe zur vollständigen Antwort
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

Benutzeravatar
udo1toni
Beiträge: 14046
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von udo1toni »

Ein Dimmer Item erwartet zwar einen Prozentwert, der bewegt sich aber zwischen 0 und 100, nicht zwischen 0 und 1.
Der Trigger muss anders geschrieben werden.
Die konkrete Rule sollte also eher so aussehen:

Code: Alles auswählen

rule "Livingroom_TV_Mode"
when
    Item HeimkinoYamahaReceiverRXV479_Power changed from OFF to ON
then 
    DimmerschalterWohnzimmer1LEVEL.sendCommand(20)
end
Es gibt übrigens keine Dimmerschalter ;) sondern Dimmer und Schalter. Ein Dimmer hat per Definition immer ein Level, womit Der Itemname kürzer und prägnanter z.B. DimmerWohnzimmer1 lauten sollte.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von wighdeas »

Hallo udo1toni,

vielen Dank dafür! Das war gerade ein fast übernatürlicher Moment als sich das Licht verdunkelt hat :lol: wobei meine Frau minimal weniger beeindruckt war.

Nun ist mein erstes Problem gelöst und um zu verhindern, dass ich viele weitere Fragen stelle - wie oder wo finde ich raus welche Commands für welches Item gültig sind?

Und noch eine Sidequest: mit welchem Befehl kann ich den Intervall verkürzen bzw. festlegen in welchem ein Item einen Zustand(swelchsel) übermittelt? Grund ist, dass das Licht erst nach 5-8 Sekunden herunterdimmt.

Note: absolut richtig - Dimmer oder Schalter :D

Einen guten Rutsch!
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

Benutzeravatar
udo1toni
Beiträge: 14046
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von udo1toni »

Der Dimmer sollte unmittelbar reagieren. Tut er das nicht, hast Du vermutlich Fehler in Deiner Konfiguration, die openHAB im normalen Ablauf behindern.

Typische Probleme sind, dass z.B. (viel) mehr Addons aktiv sind, als benötigt, oder dass Channel unnötigerweise an mehrere Items gekoppelt sind. Schau mal in Deine log-Dateien, dort steht, was openHAB zu welchem Zeitpunkt macht.
Wann eine Rule ausgeführt wird, kann man sichtbar machen, indem man einen Logbefehl einbaut.

Code: Alles auswählen

logInfo("rulename","die Rule wurde gestartet!")
erzeugt in openhab.log eine Zeile mit Datum, Zeit, Loglevel INFO, dem Loggernamen ...rulename und der Meldung - die Rule wurde gestartet!
INFO ist das normale loglevel. Man kann das Loglevel aber jederzeit während openHAB ausgeführt wird ändern, und zwar für jeden Logger getrennt. Man kann so z.B. mit logDebug() ziemlich ausführliche Informationen geben, die aber nicht geloggt werden, bis man den Loglevel auf DEBUG oder TRACE setzt. TRACE spielt aber für Rules keine Rolle, da es kein logTrace() gibt. Setzt man das level auf WARN, so werden auch keine logInfo() Zeilen mehr erzeugt.

Für die Steuerung von Items gibt es exakt 2 Befehle, Item.sendCommand(Befehl) sendet Befehl an Item (welches den Befehl an die verknüpften Addons weiterleitet), Item.postUpdate(Status) setzt den Status von Item auf Status, dies wird nicht an die Addons weitergeleitet.
Man denke daran, dass Items in openHAB die Status halten. Wenn Du einen Befehl sendest, schickt das Addon im Gegenzug den neuen Status, der wiederum im Item landet.
Welche Befehle man senden darf, hängt vom Itemtyp ab, also z.B. ON/OFF für Switch Items. Dimmer kennen ON/OFF/INCREASE und DECREASE sowie die Integerwerte 0 bis 100. Ob ein Dimmer INCREASE/DECREASE unterstützt, kommt aber auf den Dimmer an.

Ansonsten gibt es noch diverse andere Befehle, z.B. if() else für bedingte Verzweigungen oder auch switch() case für noch mehr Verzweigungen. Es kommt sehr darauf an, welches konkrete Problem Du gerade lösen musst. Leider gibt es keine spezielle Dokumentation für openHAB, allenfalls kann man in der xtend Doku nachschlagen, aber das ist auch nur eingeschränkt zu empfehlen, nicht jede Anweisung wird in openHAB unterstützt, nicht jede Schreibweise ist in openHAB erlaubt. Als beste Quelle kann ich nur immer wieder die vielen Codebeispiele im Forum nennen, und immer wieder die Empfehlung, keine Angst zu haben, Fragen zu stellen. Solange man freundlich bleibt, werden auch die Antworten freundlich sein ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von wighdeas »

Hi,

once again, vielen Dank - das hilft mir sehr weiter. Somit weiß ich nach was ich suchen muss - das macht das Leben deutlich leichter!n Ein kleines Problem tritt bei mir aber noch auf - wenn ich den o.g. Befehl/Code ausführe, kommt die Fehlermeldung:

Code: Alles auswählen

-bash: syntax error near unexpected token "Livingromm_TV_Mode","die Rlue wurde gestartet!"
Rule-Name sollte passen, da copy paste. Whats the matter?
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von seppy »

Hi,
poste mal die gesamte rule! Dann können wir schauen wo der Syntaxfehler liegt ;-)

Grüße,
Seppy
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von wighdeas »

Hi,

hier der Code:

Code: Alles auswählen

[12:05:21]openhabian@openhab:~$ logInfo("Livingroom_TV_Mode","die Rule wurde gestartet!")
-bash: syntax error near unexpected token `('
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

mbs
Beiträge: 30
Registriert: 8. Jun 2019 20:27
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von mbs »

Das ist nicht deine Rule, sondern dein Log! ;-)
openHAB3 | Alexa [Sprachsteuerung, Informationssystem] | coreELEC [SAT-IP-Clients] | innogy Smarthome [Heizung]| netatmo [Temperatur-, Regen- & Windmesser] | UBNT UniFi [UDMS PRO, AP AC Lite, AP AC Pro, Switch 24, Switch 8-150W, Switch 8-60W, Switch 8, Flex Mini ] | Zigbee2MQTT [Heiman CO- und Rauchmelder, Lightify Smart+, Philips hue, Xiaomi Lumi Kontakte & Wassersensoren ]

wighdeas
Beiträge: 26
Registriert: 30. Dez 2019 18:01
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von wighdeas »

Danke mbs, ich bin heute wohl etwas verklatscht :D

hier die rule:

Code: Alles auswählen

rule "Livingroom_TV_Mode"
when
Item HeimkinoYamahaReceiverRXV479_Power changed from OFF to ON
then DimmerschalterWohnzimmer1LEVEL.sendCommand(20)
end
Openhabian/Openhab 2.4.0.
RasPi4 4B
HomeMaticIP (CCU3, Firmware 3.51.6)
Dezcon-Zigbee-Adapter

mbs
Beiträge: 30
Registriert: 8. Jun 2019 20:27
Answers: 1

Re: Automation-Neuling braucht Hilfe beim erstellen von Regeln

Beitrag von mbs »

übersehen, die LogInfo kannst Du nicht in der Shell ausführen, das muss in die Regel.

so ist es von Udo gemeint:

Code: Alles auswählen

rule "Livingroom_TV_Mode"
when
	Item HeimkinoYamahaReceiverRXV479_Power changed from OFF to ON
then
	logInfo("Livingroom_TV_Mode", "die Rule wurde gestartet!")
	DimmerschalterWohnzimmer1LEVEL.sendCommand(20)
end
openHAB3 | Alexa [Sprachsteuerung, Informationssystem] | coreELEC [SAT-IP-Clients] | innogy Smarthome [Heizung]| netatmo [Temperatur-, Regen- & Windmesser] | UBNT UniFi [UDMS PRO, AP AC Lite, AP AC Pro, Switch 24, Switch 8-150W, Switch 8-60W, Switch 8, Flex Mini ] | Zigbee2MQTT [Heiman CO- und Rauchmelder, Lightify Smart+, Philips hue, Xiaomi Lumi Kontakte & Wassersensoren ]

Antworten