Blockly Noob braucht hilfe
-
- Beiträge: 14
- Registriert: 21. Mai 2022 14:56
Blockly Noob braucht hilfe
Hallo Forum,
ich bin noch ein Frischling bei openHAB und gerade dabei an meiner ersten Blockly Rule zu verzweifeln.
Ich hätte gerne ein Bit, welches mir "Tag bzw. Nacht" zurück gibt. Dafür habe ich mir mit dem Astrobinding die Zeiten für die Dämmerung am Morgen und am Abend ausgeben lassen. Die Items sehe ich in der "Developer Sidebar" auch. Leider schaltet mein "Tag/Nacht" bin nicht.
Ich vermute ich muss die Zeit für die Dämmerungen umformatieren, aber wie?
Kann mir jemand weiterhelfen, wäre super!
Vielen Dank schonmal
Grüße
Chris
ich bin noch ein Frischling bei openHAB und gerade dabei an meiner ersten Blockly Rule zu verzweifeln.
Ich hätte gerne ein Bit, welches mir "Tag bzw. Nacht" zurück gibt. Dafür habe ich mir mit dem Astrobinding die Zeiten für die Dämmerung am Morgen und am Abend ausgeben lassen. Die Items sehe ich in der "Developer Sidebar" auch. Leider schaltet mein "Tag/Nacht" bin nicht.
Ich vermute ich muss die Zeit für die Dämmerungen umformatieren, aber wie?
Kann mir jemand weiterhelfen, wäre super!
Vielen Dank schonmal
Grüße
Chris
Da herrscht vermutlich ein Missverständnis.
Ein Dimmer hat einen Status und kann über verschiedene Befehle gesteuert werden. Das ist letztlich bei allen Dimmern gleich.
Ein knx Dimmer hat gewöhnlich 5+x Kommunikationsobjekte (KO), von denen mindestens drei KO für die Steuerung über Tasten gebraucht werden und drei andere KO für die vollständige Steuerung über eine Visu (auch wenn openHAB weit mehr als eine Visu ist, möchte ich den Begriff mal so nutzen, weil dieser Punkt nicht openHAB-spezifisch ist)
Die KO im einzelnen, in ungewöhnlicher Reihenfolge :
Heller/Dunkler Befehl (4 Bit) - Ein/Aus Status (1 Bit) - Ein/Aus Befehl (1 Bit) - Absolute Helligkeit Befehl (1 Byte) - Absolute Helligkeit Status (1 Byte)
Wahlweise käme noch Zwangssteuerung und/oder Szenen mit dazu.
Für die Wandtaster (solange keine Displays verbaut sind) reichen die ersten drei KO, für die Visu reichen die letzten drei KO.
Du kannst gewöhnlich über die ETS die Einschalthelligkeit eines knx Dimmers vorgeben, also entweder ein fixer Wert, oder die letzte gewählte Helligkeit. Dies ist aber eine generelle Einstellung, nicht ständig anzupassen. Die Einschalthelligkeit wird nur dann verwendet, wenn der Dimmer einen ON-Befehl über das Ein/Aus KO empfängt.
Das Status KO Ein/Aus signalisiert ON, sobald ein Dimmwert ungleich 0 anliegt, das Absolut KO signalisiert stets die aktuelle Helligkeit (eventuell nur statisch, also nicht während eines Regelvorgangs, kommt aber auf den Dimmer an).
Über den Absolutwert Befehl wird immer der Befehl gegeben, unmittelbar die gewünschte Helligkeit auszugeben.
Wenn Blendzeiten definiert sind, wird die neue Helligkeitsstufe allmählich erreicht.
Es gibt keine Möglichkeit - jedenfalls wären mir keine Dimmer, die so etwas bieten bekannt - eine Helligkeitsstufe dynamisch vorauszuwählen.
Nun zu Deinem Problem, die Helligkeit tageszeitabhängig unterschiedlich zu gestalten:
Der einfachste Weg führt über eine Rule. Die Rule triggert, wenn der Status von OFF auf ON wechselt. Abhängig von der Zeit sendet die Rule dann den gewünschten absoluten Helligkeitswert. Gewöhnlich wird man im Dimmer als Einschalthelligkeit den niedrigeren beider Werte hinterlegen. Wenn openHAB ausgeschaltet ist, wird das Licht also in bestimmten Zeitabschnitten zu dunkel sein.
Läuft openHAB, so erfasst die Rule den Einschaltvorgang und übersteuert die Helligkeitsstufe, das Licht leuchtet in der helleren Stufe.
Die Rule muss also nur dann eingreifen, wenn die Helligkeit höher sein soll.
In openHAB wird ein Dimmer immer über ein Item dargestellt, das Item kennt die Befehle ON/OFF/INCREASE/DECREASE sowie die Zahlen 0 - 100.
Als Status sind ausschließlich die Zahlen 0 - 100 vorhanden.
Die Befehle INCREASE/DECREASE wird man nur im Ausnahmefall verwenden, warum sollte man relativ steuern, wenn man auch absolut steuern kann? Es reicht auch nicht, die Befehle an den Dimmer zu senden, denn die meisten modernen knx Dimmer sprechen ausschließlich start/stop Dimming, während openHAB sendend kein start/stop-Dimming beherrscht. Das bedeutet, dass die Helligkeit immer von <aktuelle Helligkeit> bis 100 durchlaufen wird, wenn man einmal INCREASE sendet, während bei DECREASE die Gegenrichtung bis 0 durchlaufen wird. Es ist also in den meisten Fällen nicht sinnvoll, die GA in openHAB zu hinterlegen, welche für heller/dunkler zuständig ist.
Der korrekte Trigger für eine Rule, welche sich um die Helligkeit kümmert lautet wegen des Status 0-100 also nicht "changed to ON", sondern "changed from 0"
Geht es um die aktuelle Uhrzeit, ist es oftmals einfacher, den Wert anders als als Zeit darzustellen, z.B. now.getHour liefert de Stundenanteil einer Digitalanzeige, also beispielsweise die Zahl 16, in der Zeit von 16:00:00 Uhr bis 16:59:59.999 Uhr, aber ab 17:00:00 Uhr springt dieser Wert dann schlagartig auf 17 um. Willst Du also zwischen 6 Uhr und 23 Uhr helleres Licht haben, reicht ein doppelter Vergleich:
Das funktioniert in Blockly genauso, aber Text ist nun mal wesentlich effizienter und benötigt keine Screenshots...
Gehe zur vollständigen AntwortEin Dimmer hat einen Status und kann über verschiedene Befehle gesteuert werden. Das ist letztlich bei allen Dimmern gleich.
Ein knx Dimmer hat gewöhnlich 5+x Kommunikationsobjekte (KO), von denen mindestens drei KO für die Steuerung über Tasten gebraucht werden und drei andere KO für die vollständige Steuerung über eine Visu (auch wenn openHAB weit mehr als eine Visu ist, möchte ich den Begriff mal so nutzen, weil dieser Punkt nicht openHAB-spezifisch ist)
Die KO im einzelnen, in ungewöhnlicher Reihenfolge :
Heller/Dunkler Befehl (4 Bit) - Ein/Aus Status (1 Bit) - Ein/Aus Befehl (1 Bit) - Absolute Helligkeit Befehl (1 Byte) - Absolute Helligkeit Status (1 Byte)
Wahlweise käme noch Zwangssteuerung und/oder Szenen mit dazu.
Für die Wandtaster (solange keine Displays verbaut sind) reichen die ersten drei KO, für die Visu reichen die letzten drei KO.
Du kannst gewöhnlich über die ETS die Einschalthelligkeit eines knx Dimmers vorgeben, also entweder ein fixer Wert, oder die letzte gewählte Helligkeit. Dies ist aber eine generelle Einstellung, nicht ständig anzupassen. Die Einschalthelligkeit wird nur dann verwendet, wenn der Dimmer einen ON-Befehl über das Ein/Aus KO empfängt.
Das Status KO Ein/Aus signalisiert ON, sobald ein Dimmwert ungleich 0 anliegt, das Absolut KO signalisiert stets die aktuelle Helligkeit (eventuell nur statisch, also nicht während eines Regelvorgangs, kommt aber auf den Dimmer an).
Über den Absolutwert Befehl wird immer der Befehl gegeben, unmittelbar die gewünschte Helligkeit auszugeben.
Wenn Blendzeiten definiert sind, wird die neue Helligkeitsstufe allmählich erreicht.
Es gibt keine Möglichkeit - jedenfalls wären mir keine Dimmer, die so etwas bieten bekannt - eine Helligkeitsstufe dynamisch vorauszuwählen.
Nun zu Deinem Problem, die Helligkeit tageszeitabhängig unterschiedlich zu gestalten:
Der einfachste Weg führt über eine Rule. Die Rule triggert, wenn der Status von OFF auf ON wechselt. Abhängig von der Zeit sendet die Rule dann den gewünschten absoluten Helligkeitswert. Gewöhnlich wird man im Dimmer als Einschalthelligkeit den niedrigeren beider Werte hinterlegen. Wenn openHAB ausgeschaltet ist, wird das Licht also in bestimmten Zeitabschnitten zu dunkel sein.
Läuft openHAB, so erfasst die Rule den Einschaltvorgang und übersteuert die Helligkeitsstufe, das Licht leuchtet in der helleren Stufe.
Die Rule muss also nur dann eingreifen, wenn die Helligkeit höher sein soll.
In openHAB wird ein Dimmer immer über ein Item dargestellt, das Item kennt die Befehle ON/OFF/INCREASE/DECREASE sowie die Zahlen 0 - 100.
Als Status sind ausschließlich die Zahlen 0 - 100 vorhanden.
Die Befehle INCREASE/DECREASE wird man nur im Ausnahmefall verwenden, warum sollte man relativ steuern, wenn man auch absolut steuern kann? Es reicht auch nicht, die Befehle an den Dimmer zu senden, denn die meisten modernen knx Dimmer sprechen ausschließlich start/stop Dimming, während openHAB sendend kein start/stop-Dimming beherrscht. Das bedeutet, dass die Helligkeit immer von <aktuelle Helligkeit> bis 100 durchlaufen wird, wenn man einmal INCREASE sendet, während bei DECREASE die Gegenrichtung bis 0 durchlaufen wird. Es ist also in den meisten Fällen nicht sinnvoll, die GA in openHAB zu hinterlegen, welche für heller/dunkler zuständig ist.
Der korrekte Trigger für eine Rule, welche sich um die Helligkeit kümmert lautet wegen des Status 0-100 also nicht "changed to ON", sondern "changed from 0"
Geht es um die aktuelle Uhrzeit, ist es oftmals einfacher, den Wert anders als als Zeit darzustellen, z.B. now.getHour liefert de Stundenanteil einer Digitalanzeige, also beispielsweise die Zahl 16, in der Zeit von 16:00:00 Uhr bis 16:59:59.999 Uhr, aber ab 17:00:00 Uhr springt dieser Wert dann schlagartig auf 17 um. Willst Du also zwischen 6 Uhr und 23 Uhr helleres Licht haben, reicht ein doppelter Vergleich:
Code: Alles auswählen
if(now.getHour > 5 && now.getHour < 23)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 312
- Registriert: 30. Apr 2021 13:13
Re: Blockly Noob braucht hilfe
Hi,
das Astrobinding gibt Dir bessere Möglichkeiten. Ich nehme gern den Höhenwinkel (wenn < 0 ist Nacht) oder die Sonnenphase. Für OpenHab ist der Trigger (When-Option der Rule) wichtig. Wie lauter der bei Dir?
Hier ein Beispiel, bei welchem auf die Änderung des Höhenwinkels reagiert wird. An Stelle von " contextual info ..." kannst Du auch "get state of item -Höhenwinkel" nehmen.
Edit: habe nicht daran gedacht das Maßeinheiten manchmal Probleme bereiten und daher sicherheitshalber nachgebessert
das Astrobinding gibt Dir bessere Möglichkeiten. Ich nehme gern den Höhenwinkel (wenn < 0 ist Nacht) oder die Sonnenphase. Für OpenHab ist der Trigger (When-Option der Rule) wichtig. Wie lauter der bei Dir?
Hier ein Beispiel, bei welchem auf die Änderung des Höhenwinkels reagiert wird. An Stelle von " contextual info ..." kannst Du auch "get state of item -Höhenwinkel" nehmen.
Edit: habe nicht daran gedacht das Maßeinheiten manchmal Probleme bereiten und daher sicherheitshalber nachgebessert
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 14
- Registriert: 21. Mai 2022 14:56
Re: Blockly Noob braucht hilfe
Hey,
vielen dank für deine Antwort. Mit dem Sonnenwinkel habe ich es jetzt gelöst und so wie es aussieht funktioniert es auch. Vielen dank Als When Trigger habe ich alle 5 Minuten festgelegt zwischen 4-9Uhr und 16-22Uhr. Was die Sonnenauf und Untergangszeiten vom längsten biszum kürzesten Tag abdecken sollte. Kann mir jemand erklären, was mein Fehler bei meiner ersten Variante (aus Post1) war.
Vielen dank schonmal.
Viele Grüße
Christian
vielen dank für deine Antwort. Mit dem Sonnenwinkel habe ich es jetzt gelöst und so wie es aussieht funktioniert es auch. Vielen dank Als When Trigger habe ich alle 5 Minuten festgelegt zwischen 4-9Uhr und 16-22Uhr. Was die Sonnenauf und Untergangszeiten vom längsten biszum kürzesten Tag abdecken sollte. Kann mir jemand erklären, was mein Fehler bei meiner ersten Variante (aus Post1) war.
Vielen dank schonmal.
Viele Grüße
Christian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 312
- Registriert: 30. Apr 2021 13:13
Re: Blockly Noob braucht hilfe
Hi,
versuch es mal mir "datetime from item ..." (aus dem Date & Times - Menü) an stelle von "item ...".
Anscheinend ist es nur ein Formaterkennungsproblem.
"item ..." zu nutzen ist in den meisten Fällen kein zum Ziel führenderAnsatz. Üblicherweise möchtest Du wissen welchen Status das Item hat und nutzt dazu "get state of item ..."
Zu Deiner Lösung: das mit den alle 5 Minuten als Trigger ist unnötig aufwendig. Nutz doch die Aktualisierung des Status von "Astro_Sonnen_Hohenwinkel" als Auslöser. Also: WHEN - Item - Astro_Sonnen_Hohenwinkel - was updated. Den Aktualisierungsintervall stellst Du in der Konfiguration des Astro-Things auf 300 (Sekunden) ein.
versuch es mal mir "datetime from item ..." (aus dem Date & Times - Menü) an stelle von "item ...".
Anscheinend ist es nur ein Formaterkennungsproblem.
"item ..." zu nutzen ist in den meisten Fällen kein zum Ziel führenderAnsatz. Üblicherweise möchtest Du wissen welchen Status das Item hat und nutzt dazu "get state of item ..."
Zu Deiner Lösung: das mit den alle 5 Minuten als Trigger ist unnötig aufwendig. Nutz doch die Aktualisierung des Status von "Astro_Sonnen_Hohenwinkel" als Auslöser. Also: WHEN - Item - Astro_Sonnen_Hohenwinkel - was updated. Den Aktualisierungsintervall stellst Du in der Konfiguration des Astro-Things auf 300 (Sekunden) ein.
Zuletzt geändert von Harka am 31. Okt 2022 17:37, insgesamt 1-mal geändert.
- udo1toni
- Beiträge: 13996
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly Noob braucht hilfe
Es reicht sogar ein changed Ereignis, (wobei sich der Höhenwinkel eh immer ändert...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 14
- Registriert: 21. Mai 2022 14:56
Re: Blockly Noob braucht hilfe
Guten Abend,
vielen dank für eure freundliche und schnelle Hilfe, das scheint jetzt zu klappen, das freut mich Mega!!
Jetzt hänge ich direkt am nächsten Problem. Ich würde gerne den Dimmwert abhängig von einer Uhrzeit machen. Für mich sieht das mega logisch aus, für Blockly aber leider nicht. Kann mir jemand helfen, was mein Fehler ist. In dem einfachen Beispiel soll vor 6 Uhr der Dimmwert auf 60% gestellt werden, danach auf 100%. Das ist nur eine Spielrule und soll dann noch verfeinert werden....wenn ich blockly mal ansatzweiße verstehe.
Viele Grüße
Chris
PS: kann mir jemand ein Quelle nennen wo ich mir das Wissen für Blockly aneignen kann.
vielen dank für eure freundliche und schnelle Hilfe, das scheint jetzt zu klappen, das freut mich Mega!!
Jetzt hänge ich direkt am nächsten Problem. Ich würde gerne den Dimmwert abhängig von einer Uhrzeit machen. Für mich sieht das mega logisch aus, für Blockly aber leider nicht. Kann mir jemand helfen, was mein Fehler ist. In dem einfachen Beispiel soll vor 6 Uhr der Dimmwert auf 60% gestellt werden, danach auf 100%. Das ist nur eine Spielrule und soll dann noch verfeinert werden....wenn ich blockly mal ansatzweiße verstehe.
Viele Grüße
Chris
PS: kann mir jemand ein Quelle nennen wo ich mir das Wissen für Blockly aneignen kann.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 312
- Registriert: 30. Apr 2021 13:13
Re: Blockly Noob braucht hilfe
Moin,
Wenn Du etwas mit Zeit regeln möchtest: datetime... kommt imho mit reiner Zeiteingabe nicht klar und brauch auch das Datum. Hier hätte ich die Funktion hour of - now genutzt.
zum Lernen finde ich die Videos 1. Wahl und gut investierte Zeit -> https://www.youtube.com/c/OpenhabOrg
Edit: Ja, jetzt sehe ich es auch (was Udo hat im folgendem Beitrag bezüglich des Triggers meint) und habe den ersten Teil mal gelöscht.
Wenn Du etwas mit Zeit regeln möchtest: datetime... kommt imho mit reiner Zeiteingabe nicht klar und brauch auch das Datum. Hier hätte ich die Funktion hour of - now genutzt.
zum Lernen finde ich die Videos 1. Wahl und gut investierte Zeit -> https://www.youtube.com/c/OpenhabOrg
Edit: Ja, jetzt sehe ich es auch (was Udo hat im folgendem Beitrag bezüglich des Triggers meint) und habe den ersten Teil mal gelöscht.
Zuletzt geändert von Harka am 1. Nov 2022 14:03, insgesamt 1-mal geändert.
- udo1toni
- Beiträge: 13996
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly Noob braucht hilfe
Nein, ich denke, der Trigger ist hier eher, dass ein Bewegungsmelder angesprochen hat. Meine Vermutung lautet, dass tagsüber mehr Licht als nachts gebraucht wird.
Einfachste Möglichkeit, statt kompliziert mit Zeiten zu jonglieren: Man definiert sich ein ungebundenes Item. Dieses Item wird durch zwei simple Rules auf die Status ON bzw. OFF gesetzt. Die beiden simplen Rules werden entweder durch Time cron oder auch z.B. durch Astro RangeEvent Channel getriggert.
Damit reicht die Prüfung auf Item.state ON oder OFF.
Ja, das mit der Uhrzeit funktioniert "sofort" nach Systemstart, das Proxy Item muss gezielt über die Rule gesetzt werden. Im täglichen Gebrauch (speziell, wenn man das Item in mehreren Rules verwenden kann) ist das vernachlässigbar.
Einfachste Möglichkeit, statt kompliziert mit Zeiten zu jonglieren: Man definiert sich ein ungebundenes Item. Dieses Item wird durch zwei simple Rules auf die Status ON bzw. OFF gesetzt. Die beiden simplen Rules werden entweder durch Time cron oder auch z.B. durch Astro RangeEvent Channel getriggert.
Damit reicht die Prüfung auf Item.state ON oder OFF.
Ja, das mit der Uhrzeit funktioniert "sofort" nach Systemstart, das Proxy Item muss gezielt über die Rule gesetzt werden. Im täglichen Gebrauch (speziell, wenn man das Item in mehreren Rules verwenden kann) ist das vernachlässigbar.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet
-
- Beiträge: 14
- Registriert: 21. Mai 2022 14:56
Re: Blockly Noob braucht hilfe
Guten Abend,
und wieder vielen Dank. Ein bisschen klarer ist mir das ganze jetzt schon. Vorallem das mit der Uhrzeit!
Jetzt stell ich mir direkt die nächste Frage. Mein Chanel für den KNX Dimmer hat eine Verknüpfung zu drei Gurppenadressen. (Ein/Aus, Absoluter Wert, Erhöhen bzw. Verringern).
Wenn ich jetzt ein Item damit verknüpfe erschliest es mir noch nicht wie ich z.B. nur einen Wert davon ändere.
In meinem Fall stolpere ich gerade darüber, dass ich zwar den absoluten Wert ändern möchte, dabei den Chanel aber nicht einschalten. Das soll dann über den Bewegungsmelder geschehen.
Hintergund, wenn ich Nachts das Treppenhaus runter gehe, will ich nicht von zu viel licht Wach gemacht werden. Tagsüber soll es aber "normal" Hell sein und nicht zu schummrig. Damit ich keine Schalter suchen muss, geht das an und aus Schalten im Treppenhaus über Bewegungsmelder.
Vielen dank und grüße
Chris
PS: die videos werde ich mir auf jeden Fall anschauen.
und wieder vielen Dank. Ein bisschen klarer ist mir das ganze jetzt schon. Vorallem das mit der Uhrzeit!
Jetzt stell ich mir direkt die nächste Frage. Mein Chanel für den KNX Dimmer hat eine Verknüpfung zu drei Gurppenadressen. (Ein/Aus, Absoluter Wert, Erhöhen bzw. Verringern).
Wenn ich jetzt ein Item damit verknüpfe erschliest es mir noch nicht wie ich z.B. nur einen Wert davon ändere.
In meinem Fall stolpere ich gerade darüber, dass ich zwar den absoluten Wert ändern möchte, dabei den Chanel aber nicht einschalten. Das soll dann über den Bewegungsmelder geschehen.
Hintergund, wenn ich Nachts das Treppenhaus runter gehe, will ich nicht von zu viel licht Wach gemacht werden. Tagsüber soll es aber "normal" Hell sein und nicht zu schummrig. Damit ich keine Schalter suchen muss, geht das an und aus Schalten im Treppenhaus über Bewegungsmelder.
Vielen dank und grüße
Chris
PS: die videos werde ich mir auf jeden Fall anschauen.
- udo1toni
- Beiträge: 13996
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Blockly Noob braucht hilfe
Da herrscht vermutlich ein Missverständnis.
Ein Dimmer hat einen Status und kann über verschiedene Befehle gesteuert werden. Das ist letztlich bei allen Dimmern gleich.
Ein knx Dimmer hat gewöhnlich 5+x Kommunikationsobjekte (KO), von denen mindestens drei KO für die Steuerung über Tasten gebraucht werden und drei andere KO für die vollständige Steuerung über eine Visu (auch wenn openHAB weit mehr als eine Visu ist, möchte ich den Begriff mal so nutzen, weil dieser Punkt nicht openHAB-spezifisch ist)
Die KO im einzelnen, in ungewöhnlicher Reihenfolge :
Heller/Dunkler Befehl (4 Bit) - Ein/Aus Status (1 Bit) - Ein/Aus Befehl (1 Bit) - Absolute Helligkeit Befehl (1 Byte) - Absolute Helligkeit Status (1 Byte)
Wahlweise käme noch Zwangssteuerung und/oder Szenen mit dazu.
Für die Wandtaster (solange keine Displays verbaut sind) reichen die ersten drei KO, für die Visu reichen die letzten drei KO.
Du kannst gewöhnlich über die ETS die Einschalthelligkeit eines knx Dimmers vorgeben, also entweder ein fixer Wert, oder die letzte gewählte Helligkeit. Dies ist aber eine generelle Einstellung, nicht ständig anzupassen. Die Einschalthelligkeit wird nur dann verwendet, wenn der Dimmer einen ON-Befehl über das Ein/Aus KO empfängt.
Das Status KO Ein/Aus signalisiert ON, sobald ein Dimmwert ungleich 0 anliegt, das Absolut KO signalisiert stets die aktuelle Helligkeit (eventuell nur statisch, also nicht während eines Regelvorgangs, kommt aber auf den Dimmer an).
Über den Absolutwert Befehl wird immer der Befehl gegeben, unmittelbar die gewünschte Helligkeit auszugeben.
Wenn Blendzeiten definiert sind, wird die neue Helligkeitsstufe allmählich erreicht.
Es gibt keine Möglichkeit - jedenfalls wären mir keine Dimmer, die so etwas bieten bekannt - eine Helligkeitsstufe dynamisch vorauszuwählen.
Nun zu Deinem Problem, die Helligkeit tageszeitabhängig unterschiedlich zu gestalten:
Der einfachste Weg führt über eine Rule. Die Rule triggert, wenn der Status von OFF auf ON wechselt. Abhängig von der Zeit sendet die Rule dann den gewünschten absoluten Helligkeitswert. Gewöhnlich wird man im Dimmer als Einschalthelligkeit den niedrigeren beider Werte hinterlegen. Wenn openHAB ausgeschaltet ist, wird das Licht also in bestimmten Zeitabschnitten zu dunkel sein.
Läuft openHAB, so erfasst die Rule den Einschaltvorgang und übersteuert die Helligkeitsstufe, das Licht leuchtet in der helleren Stufe.
Die Rule muss also nur dann eingreifen, wenn die Helligkeit höher sein soll.
In openHAB wird ein Dimmer immer über ein Item dargestellt, das Item kennt die Befehle ON/OFF/INCREASE/DECREASE sowie die Zahlen 0 - 100.
Als Status sind ausschließlich die Zahlen 0 - 100 vorhanden.
Die Befehle INCREASE/DECREASE wird man nur im Ausnahmefall verwenden, warum sollte man relativ steuern, wenn man auch absolut steuern kann? Es reicht auch nicht, die Befehle an den Dimmer zu senden, denn die meisten modernen knx Dimmer sprechen ausschließlich start/stop Dimming, während openHAB sendend kein start/stop-Dimming beherrscht. Das bedeutet, dass die Helligkeit immer von <aktuelle Helligkeit> bis 100 durchlaufen wird, wenn man einmal INCREASE sendet, während bei DECREASE die Gegenrichtung bis 0 durchlaufen wird. Es ist also in den meisten Fällen nicht sinnvoll, die GA in openHAB zu hinterlegen, welche für heller/dunkler zuständig ist.
Der korrekte Trigger für eine Rule, welche sich um die Helligkeit kümmert lautet wegen des Status 0-100 also nicht "changed to ON", sondern "changed from 0"
Geht es um die aktuelle Uhrzeit, ist es oftmals einfacher, den Wert anders als als Zeit darzustellen, z.B. now.getHour liefert de Stundenanteil einer Digitalanzeige, also beispielsweise die Zahl 16, in der Zeit von 16:00:00 Uhr bis 16:59:59.999 Uhr, aber ab 17:00:00 Uhr springt dieser Wert dann schlagartig auf 17 um. Willst Du also zwischen 6 Uhr und 23 Uhr helleres Licht haben, reicht ein doppelter Vergleich:
Das funktioniert in Blockly genauso, aber Text ist nun mal wesentlich effizienter und benötigt keine Screenshots...
Ein Dimmer hat einen Status und kann über verschiedene Befehle gesteuert werden. Das ist letztlich bei allen Dimmern gleich.
Ein knx Dimmer hat gewöhnlich 5+x Kommunikationsobjekte (KO), von denen mindestens drei KO für die Steuerung über Tasten gebraucht werden und drei andere KO für die vollständige Steuerung über eine Visu (auch wenn openHAB weit mehr als eine Visu ist, möchte ich den Begriff mal so nutzen, weil dieser Punkt nicht openHAB-spezifisch ist)
Die KO im einzelnen, in ungewöhnlicher Reihenfolge :
Heller/Dunkler Befehl (4 Bit) - Ein/Aus Status (1 Bit) - Ein/Aus Befehl (1 Bit) - Absolute Helligkeit Befehl (1 Byte) - Absolute Helligkeit Status (1 Byte)
Wahlweise käme noch Zwangssteuerung und/oder Szenen mit dazu.
Für die Wandtaster (solange keine Displays verbaut sind) reichen die ersten drei KO, für die Visu reichen die letzten drei KO.
Du kannst gewöhnlich über die ETS die Einschalthelligkeit eines knx Dimmers vorgeben, also entweder ein fixer Wert, oder die letzte gewählte Helligkeit. Dies ist aber eine generelle Einstellung, nicht ständig anzupassen. Die Einschalthelligkeit wird nur dann verwendet, wenn der Dimmer einen ON-Befehl über das Ein/Aus KO empfängt.
Das Status KO Ein/Aus signalisiert ON, sobald ein Dimmwert ungleich 0 anliegt, das Absolut KO signalisiert stets die aktuelle Helligkeit (eventuell nur statisch, also nicht während eines Regelvorgangs, kommt aber auf den Dimmer an).
Über den Absolutwert Befehl wird immer der Befehl gegeben, unmittelbar die gewünschte Helligkeit auszugeben.
Wenn Blendzeiten definiert sind, wird die neue Helligkeitsstufe allmählich erreicht.
Es gibt keine Möglichkeit - jedenfalls wären mir keine Dimmer, die so etwas bieten bekannt - eine Helligkeitsstufe dynamisch vorauszuwählen.
Nun zu Deinem Problem, die Helligkeit tageszeitabhängig unterschiedlich zu gestalten:
Der einfachste Weg führt über eine Rule. Die Rule triggert, wenn der Status von OFF auf ON wechselt. Abhängig von der Zeit sendet die Rule dann den gewünschten absoluten Helligkeitswert. Gewöhnlich wird man im Dimmer als Einschalthelligkeit den niedrigeren beider Werte hinterlegen. Wenn openHAB ausgeschaltet ist, wird das Licht also in bestimmten Zeitabschnitten zu dunkel sein.
Läuft openHAB, so erfasst die Rule den Einschaltvorgang und übersteuert die Helligkeitsstufe, das Licht leuchtet in der helleren Stufe.
Die Rule muss also nur dann eingreifen, wenn die Helligkeit höher sein soll.
In openHAB wird ein Dimmer immer über ein Item dargestellt, das Item kennt die Befehle ON/OFF/INCREASE/DECREASE sowie die Zahlen 0 - 100.
Als Status sind ausschließlich die Zahlen 0 - 100 vorhanden.
Die Befehle INCREASE/DECREASE wird man nur im Ausnahmefall verwenden, warum sollte man relativ steuern, wenn man auch absolut steuern kann? Es reicht auch nicht, die Befehle an den Dimmer zu senden, denn die meisten modernen knx Dimmer sprechen ausschließlich start/stop Dimming, während openHAB sendend kein start/stop-Dimming beherrscht. Das bedeutet, dass die Helligkeit immer von <aktuelle Helligkeit> bis 100 durchlaufen wird, wenn man einmal INCREASE sendet, während bei DECREASE die Gegenrichtung bis 0 durchlaufen wird. Es ist also in den meisten Fällen nicht sinnvoll, die GA in openHAB zu hinterlegen, welche für heller/dunkler zuständig ist.
Der korrekte Trigger für eine Rule, welche sich um die Helligkeit kümmert lautet wegen des Status 0-100 also nicht "changed to ON", sondern "changed from 0"
Geht es um die aktuelle Uhrzeit, ist es oftmals einfacher, den Wert anders als als Zeit darzustellen, z.B. now.getHour liefert de Stundenanteil einer Digitalanzeige, also beispielsweise die Zahl 16, in der Zeit von 16:00:00 Uhr bis 16:59:59.999 Uhr, aber ab 17:00:00 Uhr springt dieser Wert dann schlagartig auf 17 um. Willst Du also zwischen 6 Uhr und 23 Uhr helleres Licht haben, reicht ein doppelter Vergleich:
Code: Alles auswählen
if(now.getHour > 5 && now.getHour < 23)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet