Mqtt Kommandos an NodeRed funktionieren nicht

Begonnen von michisa86888, 11 Februar 2021, 09:17:28

Vorheriges Thema - Nächstes Thema

michisa86888

Hallo zusammen,
ich bin dabei mein E-Auto über Bluelink an FHEM anzubinden. Habe über NodeRed die Verbindung zu Bluelink hergestellt. Das ganze wird dann über Mqtt an FHEM übergeben.
Ich habe aber Probleme mit den Kommandos von FHEM an NodeRed.
wenn ich diese Setlist benutze funktionieren alle Kommandos:

getOdometer cmnd/bluelinky/get_odometer 1\
getStatus cmnd/bluelinky/get_status 1\
getLocation cmnd/bluelinky/get_location 1\
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac

Aber sobald ich die Setlist erweitere funktionieren nur noch die ersten 3 get-Kommandos
Bei den anderen passiert nichts

getOdometer cmnd/bluelinky/get_odometer 1\
getStatus cmnd/bluelinky/get_status 1\
getLocation cmnd/bluelinky/get_location 1\
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac\
stopAC cmnd/bluelinky/stop_ac\
lockCar cmnd/bluelinky/lock_car\
unlockCar cmnd/bluelinky/unlock_car\
startCharging cmnd/bluelinky/start_charging\
stopCharging cmnd/bluelinky/stop_charging


Findet jemand den Fehler? Bzw. was mache ich falsch.
Hier noch ein list vom Device:

Internals:
   CID        mqtt_42a39c2b.0c9984
   DEF        mqtt_42a39c2b.0c9984
   DEVICETOPIC MQTT2_mqtt_42a39c2b.0c9984
   FUUID      6022875a-f33f-f7a6-48be-b8eeffcfb6215962
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     147
   NAME       MQTT2_mqtt_42a39c2b.0c9984
   NR         148
   STATE      Kilometerstand: XXXX.X km <br>
Akku: 20 % <br>
Türen veriegelt: true <br>
Reichweite: 57 km <br>
Vollgeladen in: ladezeit_Rest Minuten<br>
<br>
AC: Defrost=ac_defrost Windscreen=ac_windscreen <br>
   TYPE       MQTT2_DEVICE
   m2s_MSGCNT 147
   m2s_TIME   2021-02-11 09:12:29
   Helper:
     DBLOG:
       airCtrlOn:
         DBLogging:
           TIME       1613031149.61921
           VALUE      false
       batteryCharge:
         DBLogging:
           TIME       1613031149.75645
           VALUE      false
       batteryStatus:
         DBLogging:
           TIME       1613031149.80962
           VALUE      20
       defrost:
         DBLogging:
           TIME       1613031149.85612
           VALUE      false
       doorLock:
         DBLogging:
           TIME       1613031149.52771
           VALUE      true
       engine:
         DBLogging:
           TIME       1613031149.57479
           VALUE      false
       hoodOpen:
         DBLogging:
           TIME       1613031149.71006
           VALUE      false
       location:
         DBLogging:
           TIME       1613030797.79133
           VALUE      {"latitude":XX.XXXXX,"longitude":X.XXXXX,"altitude":XX,"speed":{"unit":0,"value":0},"heading":XX}
       odometer:
         DBLogging:
           TIME       1613030651.52538
           VALUE      XXXX.X
       range:
         DBLogging:
           TIME       1613031149.90311
           VALUE      57
       state:
         DBLogging:
           TIME       1613031145.68852
           VALUE      getStatus
       trunkOpen:
         DBLogging:
           TIME       1613031149.66368
           VALUE      false
   READINGS:
     2021-02-11 09:12:29   airCtrlOn       false
     2021-02-11 09:12:29   batteryCharge   false
     2021-02-11 09:12:29   batteryStatus   20
     2021-02-11 09:12:29   defrost         false
     2021-02-11 09:12:29   doorLock        true
     2021-02-11 09:12:29   engine          false
     2021-02-11 09:12:29   hoodOpen        false
     2021-02-11 09:06:37   location        {"latitude":XX.XXXXXX,"longitude":X.XXXXXX,"altitude":XX,"speed":{"unit":0,"value":0},"heading":XX}
     2021-02-11 09:04:11   odometer        XXXX.X
     2021-02-11 09:12:29   range           57
     2021-02-11 09:12:25   state           getStatus
     2021-02-09 14:00:10   subscriptions   cmnd/bluelinky/get_location cmnd/bluelinky/get_odometer cmnd/bluelinky/get_status cmnd/bluelinky/lock_car cmnd/bluelinky/start_ac cmnd/bluelinky/stop_ac cmnd/bluelinky/unlock_car
     2021-02-11 09:12:29   trunkOpen       false
Attributes:
   IODev      m2s
   icon       car
   readingList bluelinky/doorLock:.* doorLock
bluelinky/engine:.* engine
bluelinky/airCtrlOn:.* airCtrlOn
bluelinky/trunkOpen:.* trunkOpen
bluelinky/hoodOpen:.* hoodOpen
bluelinky/batteryCharge:.* batteryCharge
bluelinky/batteryStatus:.* batteryStatus
bluelinky/defrost:.* defrost
bluelinky/range:.* range
bluelinky/odometer:.* odometer
bluelinky/location:.* location
bluelinky/doors:.* doors
   room       21_Garage
   setList    getOdometer cmnd/bluelinky/get_odometer 1\
getStatus cmnd/bluelinky/get_status 1\
getLocation cmnd/bluelinky/get_location 1\
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac\
stopAC cmnd/bluelinky/stop_ac\
lockCar cmnd/bluelinky/lock_car\
unlockCar cmnd/bluelinky/unlock_car\
startCharging cmnd/bluelinky/start_charging\
stopCharging cmnd/bluelinky/stop_charging
   stateFormat Kilometerstand: odometer km <br>
Akku: batteryStatus % <br>
Türen veriegelt: doorLock <br>
Reichweite: range km <br>
Vollgeladen in: ladezeit_Rest Minuten<br>
<br>
AC: Defrost=ac_defrost Windscreen=ac_windscreen <br>
   webCmd     ac_defrost:ac_windscree

Beta-User

Na ja, es ist schwer zu beantworten, solange du nicht zeigst, wie NodeRed die Daten/Kommandos haben will; meine Glaskugel vermutet, dass eigentlich eine Payload gut wäre...

Was
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac\angeht, würde ich vermuten, dass das eigentlich so aussehen sollte:
startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac $EVTPART1\

Wenn es explizite "get"-Befehle gibt, kann man die auch in eine getList nehmen.

Würde mal tippen, dass das eigentlich eher in diese Richtung aussehen könnte:
attr MQTT2_mqtt_42a39c2b.0c9984 getList\
  odometer:noArg odometer cmnd/bluelinky/get_odometer 1\
  status:noArg status cmnd/bluelinky/get_status 1\
  location:noArg location cmnd/bluelinky/get_location 1
attr MQTT2_mqtt_42a39c2b.0c9984 setList\
  startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac $EVTPART1\
  stopAC:noArg cmnd/bluelinky/stop_ac 1\
  doorLock:true,false { my $tpcpart=$EVTPART1?'lock_car':'unlock_car'; cmnd/bluelinky/$tpcpart 1}\
  batteryCharge:true,false { my $tpcpart=$EVTPART1?'start_charging':'stop_charging'; cmnd/bluelinky/$tpcpart 1}
attr MQTT2_mqtt_42a39c2b.0c9984 setStateList on off
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

Zitatstatus:noArg status cmnd/bluelinky/get_status 1\

Soll das so klappen, ja ? Es gibt doch in readingList keinen Eintrag welcher ein status-Reading parsed ?

Oder eher :

Zitatstatus:noArg state cmnd/bluelinky/get_status 1\

Dann hab ich es aber noch nicht ganz verstanden, warum das in state dann landet.

michisa86888

Okay dann versuch ich mal bissle mehr Infos zu bringen.
NodeRed Flow schaut aktuell so aus:

[
    {
        "id": "ebf7b071.51bcb8",
        "type": "tab",
        "label": "Bluelink",
        "disabled": false,
        "info": ""
    },
    {
        "id": "3499c828.b1eb8",
        "type": "comment",
        "z": "ebf7b071.51bcb8",
        "name": "WARNING: please check you have started this container with a volume that is mounted to /data\\n otherwise any flow changes are lost when you redeploy or upgrade the container\\n (e.g. upgrade to a more recent node-red docker image).\\n  If you are using named volumes you can ignore this warning.\\n Double click or see info side panel to learn how to start Node-RED in Docker to save your work",
        "info": "\nTo start docker with a bind mount volume (-v option), for example:\n\n```\ndocker run -it -p 1880:1880 -v /home/user/node_red_data:/data --name mynodered nodered/node-red\n```\n\nwhere `/home/user/node_red_data` is a directory on your host machine where you want to store your flows.\n\nIf you do not do this then you can experiment and redploy flows, but if you restart or upgrade the container the flows will be disconnected and lost. \n\nThey will still exist in a hidden data volume, which can be recovered using standard docker techniques, but that is much more complex than just starting with a named volume as described above.",
        "x": 350,
        "y": 80,
        "wires": []
    },
    {
        "id": "7f549ad4.a435fc",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/get_status",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 130,
        "y": 280,
        "wires": [
            [
                "a7957e1.610938"
            ]
        ]
    },
    {
        "id": "353069c5.ce6b56",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/stop_ac",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 120,
        "y": 1000,
        "wires": [
            [
                "dbbc432d.93ee08"
            ]
        ]
    },
    {
        "id": "e0b58e6e.579658",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/start_ac",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 120,
        "y": 920,
        "wires": [
            [
                "edd19b8d.7823e8"
            ]
        ]
    },
    {
        "id": "a7957e1.610938",
        "type": "car-status",
        "z": "ebf7b071.51bcb8",
        "name": "Get status",
        "dorefresh": true,
        "parsed": false,
        "bluelinky": "57d6beca.e51cc",
        "x": 410,
        "y": 200,
        "wires": [
            [
                "4356eb39.661c04",
                "8877333.a1fbad",
                "4b3e79b2.e7abf8",
                "9a8a6b9b.118b2",
                "b7632961.00407",
                "31fbdc13.456e34",
                "2d5abeb2.0b803a",
                "cf6f369.9a0bf48",
                "4eeeef6d.c4505",
                "dca82af8.84f64",
                "f0a1fb47.5aab38"
            ]
        ]
    },
    {
        "id": "f2ec824e.d64668",
        "type": "start-car",
        "z": "ebf7b071.51bcb8",
        "name": "Start car",
        "bluelinky": "57d6beca.e51cc",
        "x": 460,
        "y": 920,
        "wires": [
            [
                "4356eb39.661c04"
            ]
        ],
        "inputLabels": [
            "airTempvalue: 19.0"
        ],
        "info": "19"
    },
    {
        "id": "dbbc432d.93ee08",
        "type": "stop-car",
        "z": "ebf7b071.51bcb8",
        "name": "Stop car",
        "bluelinky": "57d6beca.e51cc",
        "x": 460,
        "y": 1000,
        "wires": [
            [
                "4356eb39.661c04"
            ]
        ]
    },
    {
        "id": "4356eb39.661c04",
        "type": "debug",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 770,
        "y": 920,
        "wires": []
    },
    {
        "id": "50e08739.85f6b",
        "type": "unlock-car",
        "z": "ebf7b071.51bcb8",
        "name": "Unlock car",
        "bluelinky": "57d6beca.e51cc",
        "x": 470,
        "y": 1080,
        "wires": [
            [
                "4356eb39.661c04",
                "35fec68.d55b6ba"
            ]
        ]
    },
    {
        "id": "d3805456.86999",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/unlock_car",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 130,
        "y": 1080,
        "wires": [
            [
                "50e08739.85f6b"
            ]
        ]
    },
    {
        "id": "408b95db.d7e13c",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/lock_car",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 120,
        "y": 1160,
        "wires": [
            [
                "c4425844.2d0738"
            ]
        ]
    },
    {
        "id": "c4425844.2d0738",
        "type": "lock-car",
        "z": "ebf7b071.51bcb8",
        "name": "Lock car",
        "bluelinky": "57d6beca.e51cc",
        "x": 460,
        "y": 1160,
        "wires": [
            [
                "4356eb39.661c04",
                "35fec68.d55b6ba"
            ]
        ]
    },
    {
        "id": "8ef25edf.50414",
        "type": "car-location",
        "z": "ebf7b071.51bcb8",
        "name": "Get car location",
        "bluelinky": "57d6beca.e51cc",
        "x": 480,
        "y": 1240,
        "wires": [
            [
                "67aabb03.c7f5bc",
                "4356eb39.661c04"
            ]
        ]
    },
    {
        "id": "6a591a39.b2300c",
        "type": "car-odometer",
        "z": "ebf7b071.51bcb8",
        "name": "Get car odometer",
        "bluelinky": "57d6beca.e51cc",
        "x": 450,
        "y": 780,
        "wires": [
            [
                "4356eb39.661c04",
                "d0fd375e.dc6f1"
            ]
        ]
    },
    {
        "id": "79871d4f.4e2dc4",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/get_odometer",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 140,
        "y": 780,
        "wires": [
            [
                "6a591a39.b2300c"
            ]
        ]
    },
    {
        "id": "35fec68.d55b6ba",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/doors",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 740,
        "y": 1160,
        "wires": []
    },
    {
        "id": "e22b092e.ae4f38",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/odometer",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 870,
        "y": 780,
        "wires": []
    },
    {
        "id": "ae891725.511b7",
        "type": "mqtt in",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "cmnd/bluelinky/get_location",
        "qos": "2",
        "datatype": "auto",
        "broker": "36dd9767.956ae8",
        "x": 140,
        "y": 1240,
        "wires": [
            [
                "8ef25edf.50414"
            ]
        ]
    },
    {
        "id": "67aabb03.c7f5bc",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/location",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 750,
        "y": 1240,
        "wires": []
    },
    {
        "id": "ec4d2d10.7e274",
        "type": "inject",
        "z": "ebf7b071.51bcb8",
        "name": "Every 2h",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "7200",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 200,
        "wires": [
            [
                "a7957e1.610938"
            ]
        ]
    },
    {
        "id": "8877333.a1fbad",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "doorLock",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.doorLock",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 800,
        "y": 160,
        "wires": [
            [
                "a4ffa280.fdc5c"
            ]
        ]
    },
    {
        "id": "a4ffa280.fdc5c",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/doorLock",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1010,
        "y": 160,
        "wires": []
    },
    {
        "id": "d0fd375e.dc6f1",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "odometer",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.value",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 680,
        "y": 780,
        "wires": [
            [
                "e22b092e.ae4f38"
            ]
        ]
    },
    {
        "id": "6c113766.6f6038",
        "type": "inject",
        "z": "ebf7b071.51bcb8",
        "name": "Every 24h",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "86400",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 720,
        "wires": [
            [
                "6a591a39.b2300c"
            ]
        ]
    },
    {
        "id": "4b3e79b2.e7abf8",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "engine",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.engine",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 790,
        "y": 220,
        "wires": [
            [
                "4aaa1bdd.3e5d2c"
            ]
        ]
    },
    {
        "id": "4aaa1bdd.3e5d2c",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/engine",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1000,
        "y": 220,
        "wires": []
    },
    {
        "id": "9a8a6b9b.118b2",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "airCtrlOn",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.airCtrlOn",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 800,
        "y": 280,
        "wires": [
            [
                "635adb91.0a4054"
            ]
        ]
    },
    {
        "id": "635adb91.0a4054",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/airCtrlOn",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1010,
        "y": 280,
        "wires": []
    },
    {
        "id": "b7632961.00407",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "trunkOpen",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.trunkOpen",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 810,
        "y": 340,
        "wires": [
            [
                "1c54d281.cbda05"
            ]
        ]
    },
    {
        "id": "1c54d281.cbda05",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/trunkOpen",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1020,
        "y": 340,
        "wires": []
    },
    {
        "id": "31fbdc13.456e34",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "hoodOpen",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.hoodOpen",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 810,
        "y": 400,
        "wires": [
            [
                "57574906.41612"
            ]
        ]
    },
    {
        "id": "57574906.41612",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/hoodOpen",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1020,
        "y": 400,
        "wires": []
    },
    {
        "id": "cf6f369.9a0bf48",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "batteryStatus",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.evStatus.batteryStatus",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 810,
        "y": 460,
        "wires": [
            [
                "34618e01.f2ad4a"
            ]
        ]
    },
    {
        "id": "34618e01.f2ad4a",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/batteryStatus",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1020,
        "y": 460,
        "wires": []
    },
    {
        "id": "dca82af8.84f64",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "defrost",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.defrost",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 790,
        "y": 640,
        "wires": [
            [
                "a730e53a.f8532"
            ]
        ]
    },
    {
        "id": "a730e53a.f8532",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/defrost",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1000,
        "y": 640,
        "wires": []
    },
    {
        "id": "4eeeef6d.c4505",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "acc",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.scc",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 790,
        "y": 580,
        "wires": [
            [
                "71c9ec3.e8c8214"
            ]
        ]
    },
    {
        "id": "71c9ec3.e8c8214",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/acc",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 990,
        "y": 580,
        "wires": []
    },
    {
        "id": "2d5abeb2.0b803a",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "batteryCharge",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.evStatus.batteryCharge",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 820,
        "y": 520,
        "wires": [
            [
                "8895da15.0d1b88"
            ]
        ]
    },
    {
        "id": "8895da15.0d1b88",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/batteryCharge",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1030,
        "y": 520,
        "wires": []
    },
    {
        "id": "f0a1fb47.5aab38",
        "type": "change",
        "z": "ebf7b071.51bcb8",
        "name": "range",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.status.evStatus.drvDistance[0].rangeByFuel.evModeRange.value",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 790,
        "y": 700,
        "wires": [
            [
                "799bb116.85f1a8"
            ]
        ]
    },
    {
        "id": "799bb116.85f1a8",
        "type": "mqtt out",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "topic": "bluelinky/range",
        "qos": "",
        "retain": "",
        "broker": "36dd9767.956ae8",
        "x": 1000,
        "y": 700,
        "wires": []
    },
    {
        "id": "edd19b8d.7823e8",
        "type": "json",
        "z": "ebf7b071.51bcb8",
        "name": "",
        "property": "payload",
        "action": "",
        "pretty": false,
        "x": 310,
        "y": 920,
        "wires": [
            [
                "f2ec824e.d64668"
            ]
        ]
    },
    {
        "id": "36dd9767.956ae8",
        "type": "mqtt-broker",
        "name": "mosquitto",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "willTopic": "",
        "willQos": "0",
        "willPayload": ""
    },
    {
        "id": "57d6beca.e51cc",
        "type": "bluelinky",
        "username": "xxx@xx.de",
        "password": "$xxxxxxxx",
        "region": "EU",
        "pin": "XXXX",
        "vin": "xxxxxxxxxxxxxx"
    }
]

Hoffe ich hab da alle persönlichen Infos raus  :D

Die get-list habe ich so wie von dir gezeigt erstellt. Funktioniert auch soweit. get-status gibt zwar folgenden Syntax-Fehler aus - die Stats kommen trotzdem

fhemweb.js line 1:
SyntaxError: '' literal not terminated before end of script


Zur Set-list
die nimmt es mir so nicht an

syntax error at (eval 98289) line 1, near "$tpcpart 1"
syntax error at (eval 98289) line 1, at EOF

startAC funktioniert allein weiterhin

startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac $EVTPART1


Beta-User

Hmm, also mir sagen die NodeRed-JSON wenig bis nichts, mir würde die "Übersetzung" z.B. in mosquitto_pub-Anweisungen eher helfen...

Bei der Perl-setList habe ich mich vertan, das muss man als Text parsen lassen, könnte z.B. so klappen:
attr MQTT2_mqtt_42a39c2b.0c9984 setList\
  startAC:slider,17,0.5,27 cmnd/bluelinky/start_ac $EVTPART1\
  stopAC cmnd/bluelinky/stop_ac 1\
  doorLock:true,false { my $tpcpart=$EVTPART1?'lock_car':'unlock_car'; "cmnd/bluelinky/$tpcpart 1"}\
  batteryCharge:true,false { my $tpcpart=$EVTPART1?'start_charging':'stop_charging'; "cmnd/bluelinky/$tpcpart 1"}

Zitat von: TomLee am 11 Februar 2021, 10:36:17
Soll das so klappen, ja ? Es gibt doch in readingList keinen Eintrag welcher ein status-Reading parsed ?
Na ja, der Einwand ist teilweise berechtigt, es kommt ggf. ein timeout. Aber: der Befehl an sich wird abgesetzt...
(Das mag alles noch nicht "rund" sein, wichtiger war mir erst mal, einen "grundsätzlichen Ordnungsvorschlag" zu machen, um das Prinzip zu vermitteln.)

ZitatDann hab ich es aber noch nicht ganz verstanden, warum das in state dann landet.
Da würde ich behaupten, dass es Zufall war: in state steht ohne setStateList eben immer der letzte ausgehende Befehl, und - soweit mir grade in Erinnerung - auch ohne "set". Daher diese eine zusätzliche Zeile "setStateList" ;) ...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors