NEWS
IR Lesekopf/NodeMCU per MQTT einbinden [gelöst ...]
-
okay, denke an den Port. Passe in Tasmota den Full Topic und Port dann auch an.
bin jetzt erstmal weg, schaue nachher nochmal rein. Wenn du meine Infos hier beachtest sollte es funktionieren, das die Daten erstmal im iobroker sind.
-
Hi wollte mal hören wie es läuft
-
@tt-tom
Hi,Es läuft immer noch nicht. Ich habe eigentlich die richtigen Einstellungen vorgenommen, anbei mal einige Screenshots dazu
Und die entsprechenden Codes
{ "_id": "mqtt.0.tele.tasmota_C6C98D.SENSOR", "common": { "name": "tele/tasmota_C6C98D/SENSOR", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "string" }, "native": { "topic": "tele/tasmota_C6C98D/SENSOR" }, "type": "state", "from": "system.adapter.mqtt.0", "user": "system.user.admin", "ts": 1674744413861 }
19:29:41.375 MQT: tasmota_C6C98D/tele/STATE = {"Time":"2023-01-26T19:29:41","Uptime":"0T03:05:09","UptimeSec":11109,"Heap":18,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"7270","BSSId":"34:81:C4:24:05:21","Channel":1,"Mode":"11n","RSSI":100,"Signal":-26,"LinkCount":1,"Downtime":"0T00:00:03"}} 19:29:41.383 MQT: tasmota_C6C98D/tele/SENSOR = {"Time":"2023-01-26T19:29:41","LK13BE":{"total_bezug":8796.8784,"total_eingespeist":76.7869,"total_1d":3.4000,"total_7d":31.2000,"total_30d":141.7000,"total_365d":1789.0000,"current":244.0}}
Viele Grüße
-
@kurt_88 sagte in IR Lesekopf/NodeMCU per MQTT einbinden:
@tt-tom
Hi,Es läuft immer noch nicht. Ich habe eigentlich die richtigen Einstellungen vorgenommen, anbei mal einige Screenshots dazu
Sieht doch schon gut aus. nicht verzweifeln. bitte in Tasmota bei Topic Stromzaehler eintragen. danach solltest du einen Ordner bekommen der Stromzaehler heisst. die anderen kannst du dann alle löschen.
der Rest passt von den Einstellungen wie es aussieht.
-
Danke, ich habe das mal umgesetzt, aber es klappt nach wie vor nicht ...
Ich habe jetzt zwar einen neuen Ordner Zaehler1, aber nach wie vor keine relevanten Daten vom Zähler.
Viele Grüße
-
passt schon so. Jetzt kommt Teil2, unter tele / sensor hast du die Daten. Klicke mal auf den Text {"Time"..... dann macht sich ein Fenster auf und zeigt dir den Inhalt.
diese werden per Blockly ausgelesen. das sieht dann so aus.
im Spolier ist der code zum Importieren
EDIT: du musst natürlich die ObjektId am Trigger oben auf deinen Pfad anpassen!!
-
@kurt_88
Du kannst di anderen Ordner alle löschen bis auf stromzeahler1. -
@tt-tom
Danke, aber jetzt komme ich nicht mehr mit, meine Block ID wäre dann?mqtt.0.stromzaehler1.tele.SENSOR
Und das steht bei mir unter Sensor drinn.
{ "_id": "mqtt.0.stromzaehler1.tele.SENSOR", "common": { "name": "stromzaehler1/tele/SENSOR", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "string" }, "native": { "topic": "stromzaehler1/tele/SENSOR" }, "type": "state", "from": "system.adapter.mqtt.0", "user": "system.user.admin", "ts": xxxxxxxxxxxxx }
Ich habe auch mal ein Test Script erstellt, aber da ist schon ein Fehler drinn
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="?d~dU6aLc0]]|rXGp~h_">Verbrauch</variable> <variable id="rvPzZf!%yy5-1}!W.1q_">wert</variable> </variables> <block type="on_ext" id="=)-pDa`St[WQqoo/HMYc" x="-875" y="-642"> <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="zq)F~W|rc{,awaLFfA/S"> <field name="oid">mqtt.0.stromzaehler1.tele.SENSOR</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="`d@27F8,p#YG9Suw{|Vl"> <field name="VAR" id="?d~dU6aLc0]]|rXGp~h_">Verbrauch</field> <value name="VALUE"> <block type="get_attr" id="iguEIZgoR.Q*2J!#?K{!"> <value name="PATH"> <shadow type="text" id="uE]6-?luPtrafN5fE0^S"> <field name="TEXT">LK13BE.total_bezug</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="=E.Z2IbJ7xlRU:09k8]_"> <field name="VAR" id="rvPzZf!%yy5-1}!W.1q_">wert</field> </block> </value> </block> </value> <next> <block type="debug" id="C,JumF.?kbDdWldMAe$("> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="1O!mtw9x7$i853Po2[Q4"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="[2VG!es:8RHWUx)lJ0F-"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="qL:NU9uD0Ru!%Wq8M70C"> <field name="TEXT">Verbrauch</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="B8o;@q,znJtczvdK|P*E"> <field name="VAR" id="?d~dU6aLc0]]|rXGp~h_">Verbrauch</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </xml>
Viele Grüße
-
@kurt_88 sagte in IR Lesekopf/NodeMCU per MQTT einbinden:
nicht aufgeben wir bekommen das hin. es läuft bei mir ja, dann auch bei dir.
Danke, aber jetzt komme ich nicht mehr mit, meine Block ID wäre dann?
mqtt.0.stromzaehler1.tele.SENSOR
ja ist richtig.
Und das steht bei mir unter Sensor drinn.
du darfst nicht auf den Bleistift klicken sondern auf den Text.
der Fehler im Script kann sein das ein Schreibfehler vorliegt. dazu benötige ich diesen Inhalt von sensor
-
@tt-tom
Den Inhalt?{ "Time": "2023-01-26T21:57:42", "LK13BE": { "total_bezug": 8797.2885, "total_eingespeist": 76.7869, "total_1d": 3.3, "total_7d": 31.2, "total_30d": 141.7, "total_365d": 1788.3, "current": 186 } }
Viele Grüße
-
passt perfekt. habe dein Fehler gefunden. du hast eine Variable Wert angelegt. das ist falsch. Der Wert kommt vom Trigger. da musst du unter Trigger Objekt ID auswählen und dann umstellen auf wert. okay verstanden?
Edit: du kannst auch mein Blockly importieren muss nur auf den Spoiler klicken
-
@tt-tom
Danke, dass probiere ich gleich mal aus, beim importieren bekomme einen Fehler.Viele Grüße
-
@kurt_88
habe nochmal neu exportiert. versuche bitte nochmal.Edit hast du ein neues Blockly angelegt?
-
@tt-tom said in IR Lesekopf/NodeMCU per MQTT einbinden:
<xml xmlns="https://developers.google.com/blockly/xml">
Vielen Dank, das mit dem importieren hat jetzt super geklappt und das Script läuft jetzt auch bei mir ohne Fehler
Aber jetzt kommt die ganz blöde Frage, ich habe irgendwie ein Brett vor den Kopf, was mache ich jetzt mit den Script. Ich sehe momentan den Wald vor lauter Bäumen nicht ...
Viele Grüße
-
dann wollen wir mal die Kettensäge rausholen.
du solltest jetzt im Protokoll die Werte sehen, wenn der Zähler neue Werte sendet.
du musst dir jetzt unter userdata_0.0. Datenpunkte anlegen, wo dann die Werte reingeschrieben werden sollen.
Dann werden wir das Blockly erweitern. bei example_state_current müssen deine Datenpunkte dann rein
-
@tt-tom
Vielen Dank für Deine Hilfe, ich wäre nie soweit gekommen. Ich muss jetzt aber schluss machen, muss morgen wieder früh raus. Ich würde aber morgen gerne weiter machen, würde mich auch gerne noch belesen, denn so wie es aussieht, habe ich so gut wie keinen blassen Schimmer.
Ich hatte immer die Gosund Smart Steckdose vor Augen, die hatte ich mit Tasmota geflasht und perr MQTT über den Sonoff Adapter, mit den IoBroker verbunden und da konnte ich, die Verbrauchswerte gleich sehen. Danke nochmal für Deine Hilfe und Geduld -
kein Problem, ich helfe gern. bin morgen auch den Tag unterwegs. werde aber zwischen durch rein sehen. lege dir erstmal Datenpunkte unter userdata_0.0 an. bis morgen
EDIT: man das USER Objektverzeichnis heisst doch 0_userdata.0 . Asche auf mein Haupt, mann ist halt nicht perfekt
-
Hi, ich habe mal das Script so weit angepasst, das auch die Datenpunkte in 0_userdata.0 erstellt werden und gleichzeitig mit den Daten gefüllt werden. Du musst natürlich wieder den Datenpunkt im Trigger anpassen und ein neues Blockly erstellen. bis .....
-
@kurt_88,
der Sonoff-Adapter reicht für die Anzeige, man braucht kein Skript.03:33:03.404 MQT: tele/Haus.Stromzähler/SENSOR = {"Time":"2023-01-27T03:33:03","MT175":{"E_in":20623.0,"E_in_HT":10016.0,"E_in_NT":10606.0,"E_out":0.0,"P":0.00,"L1":0.00,"L2":0.00,"L3":0.00,"Server_ID":"09014953330004370815"}}
zeig mal diese Zeile bei dir.
Edit: habe gesehen das deine Sensorzeile korrekt ist, der Sonoff-Adapter müsste es Anzeigen d.h. Tasmota ist/war richtig eingestellt.
Hier meine Konfig für den Sonoff-Adapter:
-
Hi,
Eine Frage, werden die Werte bei Sonoff in einzelne Datenpunkte geschrieben oder als JSON abgelegt?