NEWS
Reagieren auf Homematic Fensterkontakt
-
-
@jay-jey was ist der Zriggerdatenpunkt?
was steht in Zeile 40? -
@homoran Der Triggerdatenpunkt ist ein Schalter, der in einem anderen Blockly ausgelöt wird wenn der Schalter gedrückt wird. Ist mein Schalter der alles ausschalte wenn ich die Wohnung verlasse. In diesem Blockly wird dann abgefragt ob noch ein Fenster auf ist. Wenn ein Fenster auf ist, dann soll eine Lampe im Flur Blinken. Dass ist dann die Zeile 40. Da stand noch ein flasches Gerät drin ist mittlerweil behoben. Aber es funktioniert immer noch nicht.
-
@homoran sagte in Reagieren auf Homematic Fensterkontakt:
Dann bitte mehr Infos!
Was passiert, und was nicht?
was soll der Block OPEN denn dann?
was steuerst du denn da?
Zu welchem Adapter gehört Fenster_Abfrage?schreib mal in das erste debug statt test die triggervariable
wert -
@homoran

So?
Dann Sieht mein Log so aus:

-
Hier noch das andere Blockly

-
@jay-jey nochmal:
@homoran sagte in Reagieren auf Homematic Fensterkontakt:
bitte keine Screenshots von Code!
das kann ich am Handy nicht entziffern
EDIT: ist das ein Timestamp?du hast nicht
@homoran sagte in Reagieren auf Homematic Fensterkontakt:die triggervariable
wertgenommen!
ist das der Trigger Datenpunkt?
der wird jetzt aber neu eingelesen!Außerdem
@homoran sagte in Reagieren auf Homematic Fensterkontakt:
was steuerst du denn da?
Zu welchem Adapter gehört Fenster_Abfrage?du benutzst andauernd
steuere!!
für eigene Datenpunkte nimmt manaktualisiere! -
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Der Triggerdatenpunkt ist ein Schalter, der in einem anderen Blockly ausgelöt wird
Anscheinend ja nicht!
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Hier noch das andere Blockly
da "steuerst" du einen Datenpunkt mit dem Taster.
Der Datenpunkt ist der Trigger.Aber steht da ein Timestamp im DP??
-
ALso ich habe jetzt mal das ganze Blockly nochmal neu aufgesetzt und es funktioniert. Aber irgendwie komme ich nicht dahinter warum. Vielleicht hab ihr ja ne Idee, falls nicht ist es auch egal weil es jetzt für mich funktioniert.
Hier das alte Blockly, dass ich mal auf die Kernfunktion zusammen gestampft habe:
var Fenster_auf; on({ id: [].concat(['0_userdata.0.Fenster_offen']), change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; console.info(getState('hass.0.entities.event.hm_dis_ep_wm55_peq0177537_ch1.state').val); console.info(getState('0_userdata.0.Fenster_offen').val); if (getState('0_userdata.0.Fenster_offen').val == true) { console.info('2'); if (getState('hm-rpc.1.0000DA49A1970A.1.STATE').val == 1) { Fenster_auf = 'Balkon'; console.debug('Fenster Balkon'); setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, true); } } });und hier das Neue, dass funktioniert
var Fenster_auf; on({ id: [].concat(['0_userdata.0.Fenster_offen']), change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; console.info('hat ausgelöst'); if (getState('0_userdata.0.Fenster_offen').val == true) { if (getState('hm-rpc.1.0000DA49A1970A.1.STATE').val == 1) { Fenster_auf = 'Balkon'; console.info('Abfrage funktioniert'); setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, true); } } }); -
@jay-jey bitte die Blocklys zeigen!
-
@homoran Alt:

neu:

-
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
das alte Blockly, dass ich mal auf die Kernfunktion zusammen gestampft habe:
läuft auch nicht?
kommt da immer noch ein Timestamp?gibt es im neuen Skript diesen debug nicht?
Außerdem
du nutzst immer noch steuere und nicht den Trigger Baustein "Wert" -
@homoran said in Reagieren auf Homematic Fensterkontakt:
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
das alte Blockly, dass ich mal auf die Kernfunktion zusammen gestampft habe:
läuft auch nicht?
Nein Das alte Blockly läuft nicht, es wird die Falls Abfrage ob hm-rpc.1.0000DA49A1970A.1.STATE = 1 ist nicht ausgewertet, somit löst das Skript nicht aus. Bei dem Neuen schon, aber ich weiß halt nicht warum es im Alten nicht funktioniert und beim Neuen schonkommt da immer noch ein Timestamp?
Ja, aber das ist überhaupt nicht das Problemgibt es im neuen Skript diesen debug nicht?
Welchen Debug meinst du?Außerdem
du nutzst immer noch steuere und nicht den Trigger Baustein "Wert"
Sorry das verstehe ich leider nicht. -
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
läuft auch nicht?
Nein Das alte Blockly läuft nichtauch nicht das verkürzte?
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
kommt da immer noch ein Timestamp?
Ja, aber das ist überhaupt nicht das Problemdoch!
dann stimmt entweder der Trigger oder dein anderes Skript nicht.
Das schreibt angeblich "wahr" in diesen Datenpunkt, allerdings mit steuere, und somit unbestätigt!@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Sorry das verstehe ich leider nicht.
dann sieh dur mal die Bausteine unter "Trigger" an.
-
@homoran said in Reagieren auf Homematic Fensterkontakt:
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
läuft auch nicht?
Nein Das alte Blockly läuft nichtauch nicht das verkürzte?
Nein auch das kürzere funktioniert nicht.
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
kommt da immer noch ein Timestamp?
Ja, aber das ist überhaupt nicht das Problemdoch!
dann stimmt entweder der Trigger oder dein anderes Skript nicht.
Das schreibt angeblich "wahr" in diesen Datenpunkt, allerdings mit steuere, und somit unbestätigt!Ich glaube wir reden irgendwie aneinander vorbei oder ich habe nicht sauber beschrieben was überhaupt das Problem ist, dann sorry.
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Sorry das verstehe ich leider nicht.
dann sieh dur mal die Bausteine unter "Trigger" an.
Also nochmal hier das Blockly:

Was funktioniert: Der Trigger Löst aus. Es kommen auch die grün markierten Debug outputs
Was nicht funktioniert: der rot markierte Bereicht und somit kommt auch der blau markierte Debug.Ouput "Fenster Balkon" nicht. -
@jay-jey wenn der Wert ein Timestamp ist kann er nicht =1 sein!
-
@homoran said in Reagieren auf Homematic Fensterkontakt:
@jay-jey wenn der Wert ein Timestamp ist kann er nicht =1 sein!
Nein der Wert der Wert von hm-rpc.1.0000DA49A1970A.1.STATE ist kein Timestamp. Siehe oben der ist entwerder 0 oder 1.
Okay, jetzt verstehe ich es. Du hast hier gesagt ich solle die Triggervariable in den Debug schreiben, das habe ich völlig falsch verstanden. Du meintest die Triggervariable von der letzten if abfrage und nicht die Triggervariable von dem gesamten Blockly. Unter Trigger hab ich nur den Dunkelroten Block aussen verstanden.
Also nochmal: Der Wert von dem Datenpunkt um den es geht ist: 0 oder 1
@homoran said in Reagieren auf Homematic Fensterkontakt:
@homoran sagte in Reagieren auf Homematic Fensterkontakt:
Dann bitte mehr Infos!
Was passiert, und was nicht?
was soll der Block OPEN denn dann?
was steuerst du denn da?
Zu welchem Adapter gehört Fenster_Abfrage?schreib mal in das erste debug statt test die triggervariable
wert -
@jay-jey Du triggerst auf Aktualisierung
Die Triggervariable zeigt dir den Wert zum Zeitpunkt des Triggerns.
Der Block "Wert von...." liest den Wert erneut ein@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Der Wert von dem Datenpunkt um den es geht ist: 0 oder 1
und warum war da eben ein Timestamp drin?
-
Und mach den Logikblock doch zusammen in ein und:

Sieht danach doch viel besser aus.
Und im Trigger würde ich auf wurde geändert triggern:

Und beide Trigger rein machen. -
@jay-jey sagte: Hier noch das andere Blockly
Dann verwende direkt den Tasten-Datenpunkt als Trigger zur Abfrage, ob noch Fenster offen sind:

EDIT: Die Prüfung ohne Vergleich funktioniert sowohl mit 0/1 als auch mit false/true.
