OH3 Zeitfenster in Blockly

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
jack_low
Beiträge: 17
Registriert: 13. Aug 2019 13:42
Answers: 0

OH3 Zeitfenster in Blockly

Beitrag von jack_low »

Hallo.

Bin dabei von OH2 auf OH3 umzusteigen und versuche mich in Blockly einzuarbeiten bzw. versuche meine DSL Rules in Blockly zu machen weil es mir ganz gut gefällt :-)

Zu meiner Frage: wie kann ich im Blockly eine bestimme Zeitspanne bestimmen. Exemplarisch hätte ich dieses einfache DSL Script:

-------------------------------------------------------------------------------------------------------------
when
Item bewegungsmelder_oben_helligkeit changed or
Time cron "0 10 16 ? * *"

then
var Number hour = now.getHourOfDay
if (((hour >= 16) && (hour <= 23 )) && ((bewegungsmelder_oben_helligkeit.state == 35) || (bewegungsmelder_oben_helligkeit.state == 34)) )

sendCommand(arbeitszimmerlicht, ON)

end
------------------------------------------------------------------------------------------------------------

Im Anhang ist ein Screenshot des Blockly Scripts wie weit ich bin. Schon mal Danke im Voraus !!!
Bildschirmfoto 2022-01-31 um 10.08.47.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: OH3 Zeitfenster in Blockly

Beitrag von udo1toni »

Möchtest Du das wirklich tun? Blockly ist nur eine grafische Entsprechung des passenden Codes, der einzige wirkliche Vorteil liegt darin, dass Du alle möglichen Befehle usw. als Blöcke sichtbar in der Seitenleiste hast. Ich gebe zu, dass es für die DSLleider keine vernünftige Befehlsreferenz gibt, aber Du hast ja nun schon DSL Rules da liegen, die musst Du ja nur in Teilen anpassen, also z.B. statt now.getHourOfDay ein now.getHour einsetzen.

Die Funktion now.getHour() sollte auch in Blockly zur Verfügung stehen, auch die Zuweisung zu einer lokalen Konstanten sollte möglich sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

jack_low
Beiträge: 17
Registriert: 13. Aug 2019 13:42
Answers: 0

Re: OH3 Zeitfenster in Blockly

Beitrag von jack_low »

Hi udo1toni.

Ich dachte das der erstelle Code durch Blocky effizienter wäre wie der von DSL und auch das DSL Rules irgendwann obsolet sein werden.
Wenn du allerdings sagt, dass es Hose wie Jacke ist, ob ich Blocky oder weiter DSL Rules anwende, dann sollte es ja egal sein.

Allerdings würde es mich schon interessieren wie ich es in Blocky mit der Zeitspanne mache könnte :-) Hättest du eventuell eine Tipp für mich? Danke dir!

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

Re: OH3 Zeitfenster in Blockly

Beitrag von udo1toni »

Wie gesagt, das sollte genauso funktionieren wie in der DSL. Im Zweifel musst Du die Funktion irgendwo in ein Textfeld tippen, als Zuweisung zu einer Variablen. Ich habe mich mit Blockly noch nicht sehr intensiv auseinandergesetzt.

Mit Klicki-Bunti (sorry für die Polemik) kann gar nichts effizienter sein als über Textdateien. :) es wird lediglich eine niedrigere Schwelle suggeriert. Das ist aber wie im Mathe LK. Man muss schon wissen, wie eine Formel angewendet wird. Deshalb darf man auch eine Formelsammlung nutzen :) Aber die wird auch nicht mit vielen bunten Bildchen gedruckt, sondern die Formeln stehen im Klartext da, das nimmt viel weniger Platz ein.

Die DSL war mal als deprecated angekündigt, das ist aber nicht mehr aktuell. Die DSL wird also mit hoher Wahrscheinlichkeit weitgehend unverändert auch noch in openHAB4 vorhanden sein. Vielleicht gibt es in OH4 dann aber auch vernünftige Unterstützung für andere Programmiersprachen :) Aber solange man z.B. in Javascript ein Item nicht direkt ansprechen kann, sondern immer erst umständlich in der Itemregistry danach suchen muss, ist das alles aus Anwendersicht große Grütze.
Es mag sein, dass die Programme mit JS zehnmal schneller laufen, aber dafür sind sie auch dreimal größer und wesentlich unleserlicher. Mit Maschinencode könnte ich (höhö... 38 Jahre her... als ob... ;) ) die Abarbeitungszeit locker auf ein tausendstel reduzieren, wenn nicht gar ein hunderttausendstel, aber es ist halt wahnsinnig umständlich, selbst einfachste Dinge in Assembler zu programmieren...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

jack_low
Beiträge: 17
Registriert: 13. Aug 2019 13:42
Answers: 0

Re: OH3 Zeitfenster in Blockly

Beitrag von jack_low »

Vielen Dank für diese ausführliche Erklärung zu diesen Thema. Wenn DLS weiter unterstützt wird, dann bleibe ich auch dabei und basta :-) Hatte ich auch eigentlich sehr gemocht muss ich sagen.

Dann noch mal großen Dank und auch für den super support hier im Forum !!!!

Grüße

Antworten