NEWS
[Gelöst] Blockly: Setzen einer Variablen sobald ein Zustand wahr ist
-
Hallo,
mit ioBroker komme ich inzwischen ganz gut klar und habe eine Home Automatisierungsseite erstellt (siehe Bild)
Nun möchte ich aber dass das Thermostat-Widget eines Raums unsichtbar wird, sobald ein Fenster geöffnet ist.
Die Anforderung:
wenn
-
Fenster 1 offen oder
-
Fenster 2 offen oder
-
Fenster 3 offen oder
-
Dachfenster 1 >15% geöffnet oder
-
Dachfenster 2 > 15% geöffnet
dann
- Schreibe eine Variable (global ?) "Ein Fenster offen" = wahr
Diese globale Variable wird dann in dem Widget unter Sichtbarkeit abgefragt.
Ich könnte dies natürlich auch in der Homematic mit einer Systemvariablen lösen, aber das alles in ioBroker zu erledigen erscheint mit eigentlich zielführender und vor allem ohne Verzögerung die zwischen Hm und ioBroker auftreten kann.
Kann mir da jemand einen Tipp geben wie sowas in Blockly aussieht.
Insb. bei den Oder abfragen komme ich nicht weiter
Andreas
2213_2017-04-12_17_09_28-vis.png
2213_2017-04-12_17_08_41-vis.png -
-
Es könnte folgendermaßen gehen. Ich habe exemplarisch zwei Geräte genommen für ein Fenster (Drehgriff mit Zustand 0,1,2) und ein Rolladen mit 0 bis 100%. Musst dann alle fünf Geräte triggern.
Die Variable "Ein Fenster offen" erstellst du mit Zustand erzeugen (bei hab ich der Variablen den Namen bolTest01 gegeben).
Die Oder-Funktion musst du weiter verschachteln mit den weiteren drei Objekten.
EDIT: oder du versuchst was mit dem Fenster Script:
http://forum.iobroker.net/viewtopic.php … ipt#p56704
1146_unbenannt.jpg -
Soweit ist mir das bei zwei zu kontrollierenden Fenstern auch klar, fraglich wirds ja dann, wenn mehr als zwei Fenster oder andere Objekte überwacht werden sollen, wie kann man die dann mit "oder" verknüpfen?
Kannst du dafür auch nochmal ein Blockly-Beispiel zeigen? Kann man das "oder" immer weiter verzweigen?
Enrico
-
-
Soweit ist mir das bei zwei zu kontrollierenden Fenstern auch klar, fraglich wirds ja dann, wenn mehr als zwei Fenster oder andere Objekte überwacht werden sollen, wie kann man die dann mit "oder" verknüpfen?
Kannst du dafür auch nochmal ein Blockly-Beispiel zeigen? Kann man das "oder" immer weiter verzweigen?
Enrico `
Ich hätte die 5 Oder auf folgende Weise verknüpft. Bin mir aber nicht ganz sicher.Meine Frage ist auch ob die drei if-then (rechts) das gleiche machen wie drei Oder? Sieht zumindest übersichtlicher aus:
-
Ich werds mal ausprobieren, das mit dem Weiterverzweigen kam mir komisch vor, hab ich aber auch nicht probiert, Danke erstmal!
Enrico
-
Hi
Tipps zu Oder-Baustein.
Falls noch was unklar, bitte Fragen.
Grüße
-
@rantanplan: Danke für den Hinweis, werde ich gleich ausprobieren. Hab es eben mal so getestet, geht auch, ist aber nicht so übersichtlich!
!
Ich probiere gleich weiter!
Enrico
-
So ist es viel übersichtlicher, super!
!
Enrico
-
Falls noch was unklar, bitte Fragen.
Grüße `
Danke für die Tipps! Folgendes funktioniert wohl nicht, oder?
1146_unbenannt.jpg -
So ist es viel übersichtlicher, super!
`
Das zweite "Falls…" kannst Du weglassen.Schau nochmal auf mein Beispiel.
Grüße
-
-
…funzt und wird immer übersichtlicher!!
!
So lernt man immer wieder dazu!
Enrico
-
13 Beiträge, wow.
Aber da war wohl ein Bedarf da.
Ich probiere das heute Abend mal aus.
Und melde mich dann
Erst mal Danke an alle
-
Hi
Tipps zu Oder-Baustein.
ODER-1.PNG
ODER-2.PNG
Falls noch was unklar, bitte Fragen.
Grüße `
So heute Abend habe ich dann Zeit gefunden mich ausführlich damit zu beschäftigen.
Erst mal habe ich eine Objekt-Variable (Boolean) erzeugt die "wahr" oder "falsch" beinhalten kann.
Anschließend habe ich das Skript erzeugt
Da ich auf eine Änderung eines Zusatnds reagieren muss, z.B. wenn ein oder mehrere Fenster geöffnet werden, habe ich dem Skript noch eine Trigger Funktion hinzugefügt. Die Falls Anweisung allein sollte meiner Meinung keine Aktion auslösen ?
Ist das Skript so ok ?
Oder gibt es eine Möglichkeit den Zustand des Skripts (Fenster offen oder geschlossen) direkt im Widget im Bereich Sichtbarkeit abzufragen ?
2213_2017-04-17_00_24_56-iobroker.admin.png
2213_2017-04-17_00_33_33-edit_vis_beta.png
2213_2017-04-17_00_44_37-iobroker.admin.png -
Ist das Skript so ok ? `
Sieht gut aus.Warum nicht einfach mal ein Fenster öffnen und schauen ob es klappt?
Oder gibt es eine Möglichkeit den Zustand des Skripts (Fenster offen oder geschlossen) direkt im Widget im Bereich Sichtbarkeit abzufragen ? `
Den Zustand des Scripts oder den Zustand der Variablen?In dem Widget hast Du angegeben, dass das Widget angezeigt wird, wenn alle Fenster geschlossen sind und der angemeldete User NICHT in der Gruppe
Inaktiv ist.
Wenn keines der beiden Widget-Bedingungen wahr ist, wird es NICHT angezeigt. Ist das so gewollt?
Grüße
-
Hallo,
habe das Skript heute getestet und sieht gut aus. Sobald ein Fenster geöffnet ist wird das Widget ausgeblendet.
Bis jetzt habe ich meine Skripts immer mit der Homematic programmiert. Aber mit der Skriptsprache von ioBroker sind nun Möglichkeiten gegen die mit einer Homematic kaum umsetzbar sind insb. da die Performance bei vielen Skripten extrem in die Knie geht.
Danke für die Hilfe
Gruppen habe ich derzeit nur User und Adminsitrator und die Widgets sind für beide freigeschaltet und daher aktiv. Das Inaktiv hat damit noch keine Bedeutung. Aber an den Gruppen werde ich wohl nicht vorbei kommen.
Was isch benötige ist eine Art Gruppenverwaltung mit x Gruppen (derzeit 3).
Ziel ist es 3 Stockwerke unabhängig zu kontrollieren, wobei die Gruppe 1 nur den 2 Stock kontrollieren kann, die Gruppe 2 nur den 1. Stock und die Gruppe 3 nur das EG. am besten per Password.
Gibt es sowas ?
-
Was isch benötige ist eine Art Gruppenverwaltung mit x Gruppen (derzeit 3).
Ziel ist es 3 Stockwerke unabhängig zu kontrollieren, wobei die Gruppe 1 nur den 2 Stock kontrollieren kann, die Gruppe 2 nur den 1. Stock und die Gruppe 3 nur das EG. am besten per Password.
Gibt es sowas ? `
Prima das es klappt.Die Frage gilt aber für Vis nicht für Blockly.
Bitte dafür neuen Thread erstellen und in Deinem 1. Beitrag, in diesem Thread, [gelöst] in den Titel setzen.
Grüße