-
WARP3: API-Zähler lässt sich anlegen, aber meters/X/update wird als „unknown topic“ verworfen (Firmware 2.9.0)
Update / Lösung Ich glaube wir haben das Problem gefunden. Das Verhalten lag nicht am MQTT-Topic oder an der Payload, sondern daran, wann die API-Meter in der Firmware initialisiert werden. Ich hatte den API-Zähler per /meters/1/config angelegt und danach direkt versucht Werte über meters/1/update zu senden. Der Zähler erscheint zwar sofort in der UI und value_ids werden korrekt gesetzt, aber die Firmware registriert die zugehörigen API-Commands (inkl. meters/X/update) erst beim Boot, wenn die Meter-Instanzen erzeugt werden. Das führt dazu, dass man ohne Reboot folgendes sieht: Received message on unknown topic 'meters/1/update'Die Konfiguration ist also gespeichert, aber der MQTT-Handler kennt den Command noch nicht. Die Lösung war simpel: API-Meter konfigurieren curl http://<warp>/meters/1/config \-d '[4,{"display_name":"Grid connection","location":4,"value_ids":[39,48,57,74]}]' WARP einmal neu starten Danach funktionieren Updates sofort: mosquitto_pub -t warp3/<uid>/meters/1/update \ -m '[L1_power,L2_power,L3_power,total_power]'Danach werden die Werte korrekt übernommen und erscheinen auch in der UI. In meinem Fall kommt die Leistung von einem Tasmota-Stromzähler über MQTT, den ich über eine kleine Python-Bridge an die WARP weiterreiche. Vielleicht hilft das ja jemandem, der über das gleiche Verhalten stolpert 🙂
-
wadim ist der Community beigetreten
-
WARP3: API-Zähler lässt sich anlegen, aber meters/X/update wird als „unknown topic“ verworfen (Firmware 2.9.0)
Hallo Tinkerforge / WARP-Team, ich versuche einen virtuellen Stromzähler über die API-Meter-Schnittstelle an eine WARP3 anzubinden, stoße dabei aber auf ein Verhalten, das nicht ganz zur Dokumentation passt. Vielleicht übersehe ich etwas – oder es handelt sich um einen Firmware-Bug. SetupGerät: WARP3 Charger Smart 22kW Firmware: 2.9.0+69831bfb MQTT aktiviert Broker: Mosquitto im lokalen Netz MQTT-Prefix der WARP: warp3/2hgV Als externen Zähler verwende ich einen Tasmota-basierten Stromzähler (ESP32), der seine Messwerte per MQTT veröffentlicht. Beispiel-Payload: tele/tasmota_385B38/SENSOR { "grid": { "power": 2509.91, "power_L1": 86.38, "power_L2": 2277.76, "power_L3": 89.43 } } Ich habe dazu eine kleine Python-Bridge geschrieben, die diese Werte abonniert und an die WARP weiterleitet. Schritt 1 – API-Zähler anlegenDas Anlegen des API-Zählers funktioniert problemlos. Beispiel: curl http://192.168.0.100/meters/1/config \ -d '[4,{"display_name":"Grid connection","location":4,"value_ids":[74]}]' Ergebnis: Der Zähler erscheint in der Web-UI. Im Debug-Report steht: meters/1/config [4,{"display_name":"Grid connection","location":4,"value_ids":[74]}] meters/1/value_ids [74] meters/1/values [null] Außerdem im Boot-Log: Meter 1: Meter declared 1 value Das sieht für mich so aus, als würde die Konfiguration korrekt übernommen. Schritt 2 – Werte über MQTT sendenLaut Dokumentation sollten API-Zähler über meters/X/update aktualisiert werden können. Mein Test: mosquitto_pub -h 192.168.0.141 \ -t warp3/2hgV/meters/1/update \ -m '[2453.59]' Im Log der WARP erscheint jedoch: mqtt | Received message on unknown topic 'meters/1/update' Das heißt: Die Nachricht kommt an, aber das Topic wird nicht erkannt. HTTP-TestAuch der HTTP-Endpunkt scheint nicht zu existieren: curl http://192.168.0.100/meters/1/update -d '[2453.59]' Antwort: Nothing matches the given URI. Der Zähler bleibt weiterhin bei: values [null] Weitere TestsIch habe zusätzlich ausprobiert: Slot 2 statt 1 value_ids mit mehreren Werten ([39,48,57,74]) Updates per HTTP und MQTT Das Verhalten bleibt identisch. AuffälligkeitIm Debug-Report taucht meters/1/update in der API-Liste auf, was vermuten lässt, dass der Endpunkt existieren sollte. Zur Laufzeit meldet MQTT aber konsequent „unknown topic“. FrageHandelt es sich hierbei eher um einen Firmware-Bug in 2.9.0, eine Abweichung zwischen Dokumentation und Firmware, oder fehlt noch ein Aktivierungsschritt für API-Zähler-Updates? ZielIch möchte die Netzleistung eines Tasmota-MQTT-Stromzählers als virtuellen Netzanschluss-Zähler in der WARP nutzen Vielen Dank schon einmal! Viele Grüße Wadim
wadim
Members
-
Benutzer seit
-
Letzter Besuch