NEWS
IR Lesekopf/NodeMCU per MQTT einbinden [gelöst ...]
-
Ja, ich habe auch nocmal die richtige Zuordnung der Objekt-ID überprüft, siehe Screenshot.
Anbei das Log vom Scipt und da stehen auch die richtigen Werte drin.
javascript.0 2023-01-27 19:20:00.407 info State value to set for "0_userdata.0.Stromzähler.Verbrauch" has to be type "number" but received type "object" javascript.0 2023-01-27 19:20:00.393 info script.js.common.Skript_Stromzaehler_1_neu: Verbrauch: kWh, Bezug: 8800.4919kWh, Tag: 3.6kWh, Woche: 30.5kWh, Monat: 141.3kWh, Jahr: 1785.9kWh, aktuell: 127W javascript.0 2023-01-27 19:20:00.391 info script.js.common.Skript_1_Stromzaehler_1: test javascript.0 2023-01-27 19:20:00.390 info script.js.common.Skript_1: Verbrauch: kWh, Bezug: 8800.4919kWh, Tag: 3.6kWh, Woche: 30.5kWh, Monat: 141.3kWh, Jahr: 1785.9kWh, aktuell: 127W
Viele Grüße
-
@kurt_88
Tipp so nebenbei: Keine Umlaute verwenden. Kann funktionieren, muss aber nicht.
0_userdata.0.Stromzähler.Verbrauch
-
du musst den ersten "Setze" Eintrag noch anpassen: dem muss bei dir anders heissen.
Edit: habe gesehen das es bei dir so heisst LK13BE.total_eingespeist.
-
Stop bitte mal die alten Scripte, sonst kommt es zu Fehler. ggf. auch löschen.
-
@codierknecht
Hallo,danke für den Tipp mit den Umlauten, jetzt bekomme ich die Werte angezeigt.
Viele Grüße
-
schön wenn es jetzt läuft, weiter viel Spass mit iobrocker
-
Danke, danke, jetzt bekomme ich eine Verbrauchsanzeige
Muss nur noch den einen Wert prüfen (Verbrauch). Anbei ein Screenshot.
Viele Grüße
-
@kurt_88 ich glaube du musst Bezug und Verbrauch tauschen
-
-
Was hast du denn geändert?
-
Bin jetzt schon etwas weiter, den Verbrauch habe ich auf die Einspeisung umgebogen, das hatte geklappt, dann habe ich den Datenpunkt geändert und wollte den Wert mitnehmen, aber das Klappt nicht. Siehe Screenshots.
Viele Grüße
-
du hast immer noch die alten Scripte am laufen, bitte stoppen.
zeige mal bitte den unteren Teil vom Blockly (aktualisiere Bausteine)
-
Danke, dass war es. Im unteren Teil des Script stand noch ein alter Eintrag. Jetzt klappt es. Ich hätte nicht gedacht, dass das so komlpiziert ist, um den Stromzähler im IoBroker zu integrieren.
Danke nochmal an alle die geholfen haben und viele Grüße
-
Perfekt wenn es jetzt läuft.
Setzt das Thema auf gelöst und weiter viel Spaß -
@tt-tom
Hallo Tom,
meine Name ist Wilfried und ich lese seit einigen Tage Deinen Beitrag zum Thema
IR-Lesekopf etc. in dem Du dem Kurt so nett geholfen hast. Da ich fast das identische Problem mit der Auswertung der MQTT-Daten habe war ich froh einen so hilfreichen Beitrag gefunden zu haben. Ich habe mir auch gleich „frecherweise“ die tollen Blockly-Scripte gekapert. Ich habe mir diese auf meine Bedürfnisse angepasst, aber irgend etwas will noch nicht klappen. Es ist sicherlich kein großer Fehler aber ich sehe ihn einfach nicht.
Solltest du also Lust und Laune habe auch mir auf die Sprünge zu helfen, dann wäre ich Dir sehr dankbar.Gruß Wilfried
-
@wilfried_2 sagte in IR Lesekopf/NodeMCU per MQTT einbinden [gelöst ...]:
aber irgend etwas will noch nicht klappen.
und was?
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@homoran
Hallo, ich erhalte in den erzeugten Datenpunkten keine Werte sondern soetwas {"asc":true}. -
@wilfried_2 schneid mal nur das Blockly aus.
dann kann ich es auch erkennen und man sieht nicht das ganze drumherumAußerdem wäre ein Output des debugs in code-tags hilfreich
wenn ich das richtig entziffern kann, hast dub3 Blöcke außerhalb des Triggerbausteins. Die müssen da rein.
-
@homoran ```
Das bekomme ich via Tasmota von meinem Zähler "ISKRA MT175"20:32:50.123 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:50","MT175":{"P":392.00}} 20:32:51.958 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:51","MT175":{"P":393.00}} 20:32:53.783 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:53","MT175":{"P":393.00}} 20:32:55.610 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:55","MT175":{"P":393.00}} 20:32:57.443 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:57","MT175":{"P":393.00}} 20:32:59.256 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:32:59","MT175":{"P":393.00}} 20:33:01.033 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:01","MT175":{"P":397.00}} 20:33:01.967 MQT: %Topic%/%Stromzaehler%/STATE = {"Time":"2023-02-04T20:33:01","Uptime":"0T04:00:21","UptimeSec":14421,"Heap":20,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":25,"MqttCount":2,"Wifi":{"AP":1,"SSId":"01Speed22","BSSId":"C8:99:B2:5D:1C:5E","Channel":1,"Mode":"11n","RSSI":76,"Signal":-62,"LinkCount":1,"Downtime":"0T00:00:05"}} 20:33:01.975 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:01","MT175":{"E_in":7636.9,"P":397.00,"Server_ID":"090149534b000484fb20"}} 20:33:02.820 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:02","MT175":{"P":399.00}} 20:33:04.620 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:04","MT175":{"P":399.00}} 20:33:06.426 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:06","MT175":{"P":403.00}} 20:33:08.201 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:08","MT175":{"P":403.00}} 20:33:10.007 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:10","MT175":{"P":403.00}} 20:33:11.751 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:11","MT175":{"P":404.00}} 20:33:13.560 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:13","MT175":{"P":404.00}} 20:33:15.356 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:15","MT175":{"P":401.00}} 20:33:17.148 MQT: %Topic%/%Stromzaehler%/SENSOR = {"Time":"2023-02-04T20:33:17","MT175":{"P":399.00}}
In mqtt.0 sieht das so aus
{ "Time": "2023-02-04T19:11:06", "MT175": { "P": 477 } }
Da fehlt meines erachtens schon mal der ges. Zählerstand. Ich habe herausgefunden, dass Zählerstand nur einmal pro Min. gesendet wird (Telemetry Period: 60).
Das Blockly habe ich geändert und jetzt wird schonmal der "Aktuell"-Wert angezeigt. Der Gesamtverbrauch aber nicht.
Das Script -Log gibt das aus :
19:48:05.022 info javascript.0 (1032) script.js.meine_scripte.Zaehler2: Verbrauch: aktuell:383 19:48:05.023 info javascript.0 (1032) script.js.meine_scripte.Zaehler2: setForeignState(id=0_userdata.0.Stromzähler.Verbrauch, state={"val":{"ack":true},"ack":true,"ts":1675536485023,"q":0,"from":"system.adapter.javascript.0","lc":1675536485023,"c":"script.js.meine_scripte.Zaehler2"}) 19:48:05.024 info javascript.0 (1032) script.js.meine_scripte.Zaehler2: setForeignState(id=0_userdata.0.Stromzähler.Aktuell, state={"val":383,"ack":true,"ts":1675536485024,"q":0,"from":"system.adapter.javascript.0","lc":1675536483160,"c":"script.js.meine_scripte.Zaehler2"})
Wieso aber der Verbrauch aber in mqtt.o nicht erscheint kann ich mir nicht erklären
-
@wilfried_2 sagte in IR Lesekopf/NodeMCU per MQTT einbinden [gelöst ...]:
Da fehlt meines erachtens schon mal der ges. Zählerstand. Ich habe herausgefunden, dass Zählerstand nur einmal pro Min. gesendet wird (Telemetry Period: 60).
dann kann das Blockly auch nur
E_in
ausbdem JSON auslesen, wenn es auch drin ist.im Protokoll siehst du dassxes nur um 20:33:01 dabei ist