NEWS
Blockly - Fensterdrehgriff auswerten?
-
ich glaube ich verzweifle langsam an Blockly … :shock:
Ich würde gerne mehrere HM Fensterdrehgriffe auswerten und wenn alle 0 also closed sind eine Systemvariable setzen.
Diese haben als State 3 Zustände : 0 = Closed / 1 = tilted / 2 = Open
Ich finde absolut keinen Ansatz mit Blockly, wie ich diese 3 Stati verarbeiten kann….
Klar, ich kann alle auf CLOSED prüfen, aber ich würde auch auf die TILTED reagieren können.
Ich hätte nicht gedacht, daß ich mit Blockly so ein Brett vor dem Kopf kriegen kann, in HM selbst ist das in 2 Minuten getan...
Hätte da jemand ein leicht verständliches Beispiel für mich?
Grüße
Tom
EDIT :
was noch unglaublich irritiert ist die Farbmarkierung neben LOGIK. Dieser Balken ist LILA/ROT und die Blöcke selbst sind dann BLAU....
Alle anderen Farben passen.... Ist dass so gewollt und warum?
-
was noch unglaublich irritiert ist die Farbmarkierung neben LOGIK. Dieser Balken ist LILA/ROT und die Blöcke selbst sind dann BLAU….
Alle anderen Farben passen.... Ist dass so gewollt und warum? `
Also das hat mich nie irritiert. :lol:
Wenn Du auf gekippt und offen reagieren willst: Fall Status > 0 mache ….
Grüße
-
Das wäre für ein Fenster der Block der funktioniert…
Gibt es da noch ne elegantere Lösung?
Ich schrieb ja bereits mehrere Fenstergriffe....
Also etwa so :
WENN
Fenster1 = AUF
oder
Fenster2 = AUF
oder
....
DANN
SV_Fenster = AUF
SONST WENN
Fenster1 = GEKIPPT
oder
Fenster2 = GEKIPPT
oder
....
DANN
SV_Fenster = GEKIPPT
SONST
SV_Fenster = ZU
-
Habe jetzt auch mal nach oben geposteten Bild alle Erdgeschossfenster zusammengesetzt.
usw.
So meine ich sollte eigentlich, wenn irgendein fenster geöffnet wird, die SV_FensterEG auf 1 gesetzt werden.
Passiert aber nicht….
Die SV bleibt auf 0, egal was ich auch mache...
So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:
Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist.
Bin schon am überlegen den OPI zu verkaufen, ioBroker zu löschen und bei HM und Mediola zu bleiben.
Grüße
Tom
-
2 bemerkungen:
1: warum so kompliziert mit so vielen abfragen ? Du kannst auch einfach eine IF abfragen machen und darin oder einbauen, also
wen fenster 1 = auf oder fenster 2 ist auf oder… usw, und dan sonst ....
2: deine logic stimm nicht, due benutzt uerball if abragen also wird wen dein letztes fenster zu is wird der status immer auf 0 springen
3: du benutzt einen mathe block fuer den wert 0/1, probier mal tekst. Muss das eigentlich 0/1 sein oder true/false ?
Wen du mal einen export von deinem blockly machst koennen wir die helfen und dein beispiel umbauen. Mach mal bitte export dan bau ich es dir um das es passt als beispiel
~Dutch
PS:
` > So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist. `
so hier und da ist die logic anders als man gewoenst ist das ist eine sachen von probieren und umstellen, bei mir war es genau andersrumund haben mich die programme/moeglichkeiten mit HM einfach enorm irritiert und mediola hab ich nach 3 tagen rausgeschmissen
-
Ich schrieb ja bereits mehrere Fenstergriffe….
Also etwa so :
WENN
Fenster1 = AUF
oder
Fenster2 = AUF
oder
....
DANN
SV_Fenster = AUF
SONST WENN
Fenster1 = GEKIPPT
oder
Fenster2 = GEKIPPT
oder
....
DANN
SV_Fenster = GEKIPPT
SONST
SV_Fenster = ZU `
Dein Bildbeispiel kann nicht funktionieren weil "Baustein aktualisiere" und nicht "steuere"
Zudem ist es sinnfrei einen Zustand 1 zu 1 in einer Variablen abzubilden.
Auch Dein Textbeispiel macht keinen Sinn.
Wenn ein Fenster offen ist und eines ist gekippt, "gewinnt" immer das gekippte Fenster.
Was möchtest Du?
Wissen ob alle Fenster zu sind?
Wissen wie viele offen sind?
Wissen wie viele gekippt sind?
Wissen wie viele gekippt und wie viele offen sind?
Usw. usw…..
Grüße
-
So ganz langsam steigt mein Frustationslevel mit dem ioBroker. :oops:
Ich hätte echt nicht damit gerechnet, daß der Umstieg von HM und Mediola so zeitintensiv und frustrierend ist.
Bin schon am überlegen den OPI zu verkaufen, ioBroker zu löschen und bei HM und Mediola zu bleiben. `
Die Schuld nicht immer bei anderen suchen
@TomT:Die SV bleibt auf 0, egal was ich auch mache… `
Falscher Baustein. "steuere" NICHT "aktualisiere"!!!Hast Du schon mal irgendwelche Blockly-Beiträge gelesen?
Den Hinweis habe ich schon gefühlte 1000mal geschrieben.
Wie Dutchman schrieb, stell mal Dein Blockly als Export bereit.
Muss dann nur mit Dutchman klären ob er oder ich dran bastel
Grüße
-
Moin
Danke für eure Hilfe Dutchman und Rantanplan
Ich habe glaube ich gestern zu lange am Broker gesessen und einen Knoten ins Gehirn bekommen….
Dutchman hat Recht, die SV wird immer 0 sein, wenn das letzte Fenster auf 0 ist.
Wieder mal auf den klassischen Fehler reingefallen :?
0,1, und 2 sind die Rückgabewerte des Datenpunktes für Fensterdrehgriffe, wahr / unwahr die des normalen TFK.
Ich werde mal den Blockly versuchen umzubauen mit einer klassischen Oder Verknüpfung, wenn ich die denn mal finde
Wenn es dann nicht klappt stell ich den Export mal hier rein.
> Wenn ein Fenster offen ist und eines ist gekippt, "gewinnt" immer das gekippte Fenster.
Das ist so beabsichtigt. Nur wenn alle Fenster zu sind soll die SV auf 0 stehen, sonst soll sie immer 1 sein.> Dein Bildbeispiel kann nicht funktionieren weil "Baustein aktualisiere" und nicht "steuere"
Dann habe ich den Unterschied zwischen den beiden nicht verstanden.Steuere ist doch das gleiche wie aktualisiere, nur das bei steuere noch der Auslöseevent mit gesendet wird, oder?
Ich will aber nix auslösen, sondern nur den SV Wert ändern.
` > Was möchtest Du?
Wissen ob alle Fenster zu sind? `
Ja, genau das ist es> Die Schuld nicht immer bei anderen suchen ;)
Hab ich das wirklich? :mrgreen:` > Hast Du schon mal irgendwelche Blockly-Beiträge gelesen?
Den Hinweis habe ich schon gefühlte 1000mal geschrieben. `
Ja, ich habe schon versucht aus diversen Blockly Beiträgen schlau zu werden, aber das Ergebnis siehst du ja obenGrüße
Tom
-
Moin,
sodele, Rückmeldung zu oben abgebildetem Blockly.
Nachdem ich einiges an Zeit in Blockly invenstiert habe, und die ineinander geschachtelten ODER Abfragen mir persönlich viel zu unübersichtlich gewesen sind, habe ich es mit einem Javascript gelöst.
on( {id: new RegExp('hm-rpc\\.0\\.LEQ0631xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ0631xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ0501xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ0504xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ0505xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.MEQ0031xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.MEQ0031xxx\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.LEQ1467xxx\\.1\\.STATE'), change: "ne"}, function (obj) {if (getState("hm-rpc.0.LEQ0631xxx.1.STATE").val !== 0 || getState("hm-rpc.0.LEQ0631xxx.1.STATE").val !== 0 || getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || getState("hm-rpc.0.LEQ0501xxx.1.STATE").val !== false || getState("hm-rpc.0.LEQ0504xxx.1.STATE").val !== false || getState("hm-rpc.0.LEQ0505xxx.1.STATE").val !== false || getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || getState("hm-rpc.0.LEQ1467xxx.1.STATE").val !== false || getState("hm-rpc.0.MEQ0031xxx.1.STATE").val !== false || getState("hm-rpc.0.MEQ0031xxx.1.STATE").val !== false) { setState("Systemvariablen.0.SV_FensterEG", 1); } else {setState("Systemvariablen.0.SV_FensterEG", 0); } } );
Klappt genau so, wie ich es mir vorgestellt habe.
Nur wenn alle Fenster zu sind, dann SV = 0 sonst SV = 1.
Damit kann ich zum Start mal arbeiten….
Ich danle euch für den Input
Grüße
Tom