MQTT is not publishing single topics, but Object that Node-RED/InfluxDB can't parse?

  • I want to use MQTT to visualize the power consumption of a device plugged into my Shelly Plus Plug S. But it appears that it's publishing only a single MQTT topic containing a bunch of information. The topics name is shellyplug/status/switch:0 and contains the following:

    Code
    {"id":0, "source":"init", "output":true, "apower":26.2, "voltage":232.1, "current":0.179, "aenergy":{"total":3314.509,"by_minute":[436.678,435.823,438.814],"minute_ts":1690747019},"temperature":{"tC":33.5, "tF":92.3}}

    Unfortunately Node-Red and InfluxDB can't parse this information. Node-Red is giving me the following error:

    Code
    Error: A 400 Bad Request error occurred: {"error":"unable to parse 'apower aenergy=[object Object],apower=26,current=0.177,id=0,output=true,source=\"init\",temperature=[object Object],voltage=232.3': invalid boolean"}

    What am I missing?

  • Another Shelly-type, but perhaps, this helps:

    66er
    24. September 2021 um 17:31

    (Sorry, a German thread. )

  • Here for your datapoint:


    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    MQTTin-Node

    Topic: PlusPlugS/EG/BT-Gateway-shellyplusplugs-3ce90exxxxxx/status/switch:0


    and:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    That's all. :) :thumbup:

  • dataprolet

    1. An MQTT topic is always a single one.
    2. Please describe or show your Node-RED flow!

    Do you use a JSON node after the MQTT in node?

    In a node after such JSON node you can access apower per

    Code
    msg.payload.apower

    Alternatively you may use the instruction

    Code
    let p = JSON.parse(msg.payload);

    in a function node. After that you can access the wished part, e.g. apower, per

    Code
    p.apower

    ...

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.

  • Dieses Thema enthält einen weiteren Beitrag, der nur für registrierte Benutzer sichtbar ist.