NEWS
Wifi Bewegungsmelder
-
also, ich habe hier einen Shelly Pro 3 an dem per Bluetooth 2 Bewegungsmelder hängen,
in der Weboberfläche des Shelly sind diese zu sehen:Auf dem Shelly ist mein MQTT-Broker eingestellt:
Der Broker ist ein Mosquitto auf dem ich per MQTT Broker/Client Adapter im Clientmodus zugreife. Wenn du den als Broker betreibst, kannst du den halt auf dem Shelly als Ziel einstellen.
Der Shelly meldet sich bei mir unter
mqtt.0
auf diesem Pfad:mqtt.0.shellies.ShellyPro3-Buero-57
unterhalb von
status
sind die beiden Bewegungsmelder zu finden, alsbthomedevice:200
undbthomedevice:201
, darunter die Sensoren.
Der Bewegungsmelder selbst ist den true/false Sensoren zu finden, der erste bei mir istmqtt.0.shellies.ShellyPro3-Buero-57.status.bthomesensor:202
Inhalt:
{"id":202,"value":false,"last_updated_ts":1735470993}
Wenn das im JSON also
true
kommt hat der ausgelöst.
Also kleines Blockly was den JSON zerpflückt und auftrue
reagiert:mehr ist es nicht - wenn die Bluetooth-Geräte immer über den gleichen Shelly kommen, denn dann sind die Datenpunkte auch immer identisch.
-
@bananajoe
Vielen Dank.
Ich werde das Morgen gleich ausprobieren, wenn die Dinger da sind. -
@bananajoe
Habe die beiden Sachen konfiguriert.
In deinem Blockly steht BlueMotionObjekt. Wird der Datenpunkt angelegt oder muss ich den Händisch anlegen? -
@kopterframe Händisch - das JSON wird in ein Objekt umgewandelt. Ich habe mir angewöhnt das Ergebnis in einer Variablen abzuspeichern falls ich das dann hinterher mehr als einmal verwende.
Du könntest die Variable auch weglassen und denJSON nach Objekt
Teil bei der Falls Zeile auch direkt einsetzen. -
@bananajoe
Wünsche euch allen ein gesundes neues Jahr.
Irgendwie bekomme ich nicht einmal eine Debug Meldung von meinem Blockly?? Leider kenne ich mit nicht wirklich mit JOSN aus. Oder aber ich habe den Datenpunkt falsch angelegt.
{ "common": { "name": "Bewegungsmelder_Terrasse", "desc": "Manuell erzeugt", "role": "value", "type": "object", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "_id": "0_userdata.0.Garten.Bewegungsmelder_Terrasse", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1735639882505
-
@kopterframe warum anlegen? Der sollte von alleine entstehen. Du meinst den wo du das Ergebnis ablegen willst?
Im Shelly hast du den Bewegungsmelder verbunden und der ist zu sehen?
Welchen MQTT-Broker nutzt du?
Den hast du im Shelly eingetragen und unterhalb der MQTT-Datenpunkte taucht der Shelly auf?Und dein Skript sieht nicht aus wie mein Skript. Nimm nicht den Objekt-Block sondern den normalen Variablenblock. Nicht das dort eine doppelte Umwandlung stattfindet.
Dein Falls-Objekt sieht auch komisch aus - ist das auskommentiert? Mal rechte Maustaste drauf machen
-
@bananajoe sagte in Wifi Bewegungsmelder:
Dein Falls-Objekt sieht auch komisch aus
ist neu lackiert!
-
@homoran Ich hab da trotzdem einfach ein Textfeld drauf (beim Falls) und die Variable (beim Attribut)
-
@Homoran: ist neu lackiert??? sorry da kann ich gerade nichts mit anfangen.
@BananaJoe Bewegungsmelder ist am Shelly angemeldet, MQTT ist der original Adapter aus dem IOb.
Ich sehe auch, dass der Datenpunkt "bthomesensor:202" aktualisiert wird.
So funktioniert es
gefällt mir aber nicht, da bei jeder Aktualisierung der Die Kamera getickert wird.
ich habe das Blockly mal abgeändert.
es tut sich einfach nichts, keine Ahnung warum. -
@kopterframe sagte in Wifi Bewegungsmelder:
ist neu lackiert??? sorry da kann ich gerade nichts mit anfangen.
war auch für @BananaJoe
-
@kopterframe sagte in Wifi Bewegungsmelder:
es tut sich einfach nichts, keine Ahnung warum.
weil dein Textfeld mit dem Datenpunkt
mqtt.shelly1mini_Garten.status.bthomesensor:202
auskommentiert ist - würde nach der Farbe und Textur zu urteilen sagen. Klick da mal mit der rechten Maustaste drauf. Sollte man auch in der JavaScript-Ansicht erkennen. -
Hier mit Bildern:
Das muss "grün" sein! Nicht "Gelb schraffiert"!
-
@bananajoe sagte in Wifi Bewegungsmelder:
@homoran Ich hab da trotzdem einfach ein Textfeld drauf (beim Falls) und die Variable (beim Attribut)
kannst du ja auch machen.
Man kann aber auch einfach etwas eintragen.
Da wird das Problem liegen, weil es dann nicht@bananajoe sagte in Wifi Bewegungsmelder:
"grün"
sondern Gelb für die neuen Bausteine wird.
(sie Screenshot im verlinkten Post)Wobei ich mit den neuen gelben Objektbausteinen noch nie gearbeitet habe, da ich nicht tief genug in js stecke und nicht genau weiß wann man diese Objekte benötigt
Allerdings sieht die Textur eher nach deaktiviert aus
-
@bananajoe
Sorry, das war zum Zeitpunkt des Bildes so, durch eine Änderung. Das hatte ich gleich nach dem Posting gesehen, und geändert.
Nach Aktivierung des Bausteines gab es keine Änderung. Ich bekomme mit Aktivierung des Bausteines auch keine debug Ausgabe.
Vielleicht könntest du mir dein Blockly exportieren, so dass ich es in Textform habe. Ich würde dann nur meinen Datenpunkt anpassen. -
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="@RUg%IDwLi@o(oHOLCJW">BlueMotionObject</variable> </variables> <block type="on_ext" id="i97z}Xle3.Ray8zauNrb" x="63" y="88"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="6`Cmx~jDKY,H]{ayS$m)"> <field name="oid">ID auswählen</field> </shadow> <block type="text" id="M|tKAg*{:guyjO,F[CSy"> <field name="TEXT">mqtt.0.shellies.ShellyPro3-Buero-57.status.bthomesensor:202</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="oviz`,qYqB[qW$~nr!47"> <field name="VAR" id="@RUg%IDwLi@o(oHOLCJW">BlueMotionObject</field> <value name="VALUE"> <block type="convert_json2object" id="PDR8++YfFeo]FlpNVoYo"> <value name="VALUE"> <block type="on_source" id="J^#Q+,p;_D=K/16J#|b/"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="controls_if" id="h@#|Le1Q;e9fO*G+z38C"> <value name="IF0"> <block type="get_attr" id="nBH[_OC|);89DIH@3`vN"> <value name="PATH"> <shadow type="text" id="//[|nCY{p:iYhRuRlyKw"> <field name="TEXT">attribute1</field> </shadow> <block type="text" id="FjS[6._ng3v4ZrKa;|Pu"> <field name="TEXT">value</field> </block> </value> <value name="OBJECT"> <shadow type="get_object" id="OfU56Tk;;hL^?46+,B|!"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id="n4Ng=sO)_.MxbbTscL`Y"> <field name="VAR" id="@RUg%IDwLi@o(oHOLCJW">BlueMotionObject</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="*L%+$`2v[zX8cpi;Sk}P"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="xPg9zZt@+97rn;|$IS8u"> <field name="TEXT">Bewegungsmelder Flur!</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@bananajoe
Vielen Dank. Dein Blockly geht Komisch???
Habe meins und deins mal verglichen. der unterschied liegt sicher am falls Attribut value.
-
@kopterframe wobei das egal sein müsste, war vorher schon ein Textfeld.
sonst vergleich den Quellcode (oben rechts die Ansicht wechseln)