NEWS
Reagieren auf Homematic Fensterkontakt
-
@homoran Ja ich habe doch auch eine Falls Sensor gleich 1 abfrage in meinem Blockly stehen, daher verstehe ich es ja nicht. Oder hab ich da einen Fehler?
-
@jay-jey
Ist da noch ein Trigger um den Block? -
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
Ich weiß aber nicht was hier schief läuft.
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örtFenster_Abfrage?und bitte keine Screenshots von Code!
-
@homoran sagte in Reagieren auf Homematic Fensterkontakt:
was soll der Block OPEN denn dann?
Da wollte @jay-jey probieren ob nicht doch OPEN funktioniert...
-
@shadowhunter23 Ja hab ich, Open hab ich auch schon probiert. Funktioniert auch nicht.
der komplette code ist unten.
Wenn ich die automatisierung auslöse wir nur der äußere Block abgearbeitet nicht der innere.
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('test'); if (getState('0_userdata.0.Fenster_offen').val == true) { console.info('2'); if (getState('hm-rpc.0.OEQ0442309.1.ERROR-1_ALARM').val == true) { Fenster_auf = 'Wohnzimmer'; setState('0_userdata.0.Fenster_offen' /* Fenster_offen */, true); console.debug('Fenster Wohnzimmer'); } else if (getState('hm-rpc.1.0000DA49A1970A.1.STATE').val == 1) { setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, true); Fenster_auf = 'Balkon'; console.debug('Fenster Balkon'); } else if (getState('hm-rpc.1.0000DBE996FFFE.1.STATE').val == 1) { setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, true); Fenster_auf = 'Schafzimmer'; console.debug('Fenster Schlafzimmer'); } else if (getState('hm-rpc.1.0000DD89B7C6AD.1.STATE').val == 1) { setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, true); Fenster_auf = 'Bad'; console.debug('Fenster Bad'); } else { Fenster_auf = 'alle zu'; setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, false); console.debug('Fenster zu'); } setState('0_userdata.0.Fenster_Abfrage' /* Fenster_Abfrage */, false); } }); -
@jay-jey sagte in Reagieren auf Homematic Fensterkontakt:
der komplette code ist unten.
bitte das Blockly zeigen!
-
-
@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.
