MQTT - eine Frage zum senden/set

Begonnen von Mitch, 17 Februar 2021, 18:04:16

Vorheriges Thema - Nächstes Thema

Mitch

Hallo Zusammen,

bin im Bereich MQTT noch am Lernen.

Habe ein Device über einen externen mosquitto angebunden und kann auch empfangen.
Jetzt möchte ich "Befehle" senden. Diese müssen im JSON Format sein:
{
       "requests" : [
         {
           "updateRegister" : {
             "register" : 2,
             "value" : [0,0,255,255,255,255,1,255,255,255,255,255,255,255,255]
           }
         },
         { 
           "operation" : {
             "airCon" : "on"
           }
         }
       ]
     }


Wie stelle ich das denn an?  :-[
FHEM im Proxmox Container

rudolfkoenig

ZitatHabe ein Device über einen externen mosquitto angebunden ....
Warum einfach, wenn es auch kompliziert geht :)

ZitatWie stelle ich das denn an?  :-[
Mit MQTT2_DEVICE m2d, updateRegister als FHEM Befehl, und device/cmd als Topic:
att m2d setList updateRegister device/cmd { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,1,255,255,255,255,255,255,255,255] } }, { "operation":{"airCon":"on"} } ] }
set m2d updateRegister

Mitch

#2
Naja, ich wollte nicht mein FHEM nach aussen aufmachen, deswegen ein extra mosquitto server...ist ja schnell aufgesetzt.

Danke für den Script, probiere ich morgen aus.

Hier noch der List vom Device:
Internals:
   CFGFN     
   CID        phev_ttgo
   DEF        phev_ttgo
   DEVICETOPIC MQTT2_phev_ttgo
   FUUID      602d4326-f33f-5738-4722-718ffe72aa9b8747
   IODev      phev_ttgo
   LASTInputDev phev_ttgo
   MSGCNT     144
   NAME       MQTT2_phev_ttgo
   NR         14283
   STATE      updateRegister
   TYPE       MQTT2_DEVICE
   phev_ttgo_MSGCNT 144
   phev_ttgo_TIME 2021-02-17 17:50:05
   OLDREADINGS:
   READINGS:
     2021-02-17 20:05:27   requests_1_updateRegister_register 2
     2021-02-17 20:05:27   requests_1_updateRegister_value_1 0
     2021-02-17 20:05:27   requests_1_updateRegister_value_10 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_11 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_12 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_13 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_14 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_15 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_2 0
     2021-02-17 20:05:27   requests_1_updateRegister_value_3 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_4 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_5 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_6 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_7 1
     2021-02-17 20:05:27   requests_1_updateRegister_value_8 255
     2021-02-17 20:05:27   requests_1_updateRegister_value_9 255
     2021-02-17 20:05:27   requests_2_operation_airCon on
     2021-02-17 17:50:02   responses_1_startMessage_data_1 88
     2021-02-17 17:50:02   responses_1_startMessage_data_2 250
     2021-02-17 17:50:02   responses_1_startMessage_data_3 207
     2021-02-17 17:50:02   responses_1_startMessage_data_4 233
     2021-02-17 17:50:02   responses_1_startMessage_data_5 173
     2021-02-17 17:50:02   responses_1_startMessage_data_6 173
     2021-02-17 17:50:02   responses_1_startMessage_data_7 165
     2021-02-17 17:50:02   responses_1_startMessage_data_8 21
     2021-02-17 17:50:02   responses_1_startMessage_data_9 1
     2021-02-17 17:50:02   responses_1_startMessage_length 9
     2021-02-17 17:50:05   responses_1_time 2021-02-17T16:50:02Z
     2021-02-17 17:50:05   responses_1_updatedRegister_data_1 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_10 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_11 16
     2021-02-17 17:50:05   responses_1_updatedRegister_data_12 1
     2021-02-17 17:50:05   responses_1_updatedRegister_data_13 0
     2021-02-17 17:50:03   responses_1_updatedRegister_data_14 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_15 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_16 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_17 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_18 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_19 255
     2021-02-17 17:50:05   responses_1_updatedRegister_data_2 48
     2021-02-17 17:50:03   responses_1_updatedRegister_data_20 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_21 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_22 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_23 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_24 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_25 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_26 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_27 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_28 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_29 255
     2021-02-17 17:50:05   responses_1_updatedRegister_data_3 54
     2021-02-17 17:50:03   responses_1_updatedRegister_data_30 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_31 255
     2021-02-17 17:50:03   responses_1_updatedRegister_data_32 255
     2021-02-17 17:50:05   responses_1_updatedRegister_data_4 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_5 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_6 51
     2021-02-17 17:50:05   responses_1_updatedRegister_data_7 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_8 48
     2021-02-17 17:50:05   responses_1_updatedRegister_data_9 48
     2021-02-17 17:50:05   responses_1_updatedRegister_length 13
     2021-02-17 17:50:05   responses_1_updatedRegister_register 192
     2021-02-17 17:50:05   responses_1_updatedRegister_xor 206
     2021-02-17 20:05:27   state           updateRegister
     2021-02-17 17:47:34   status_dateSync 2021-02-17T17:47:17Z
     2021-02-17 17:47:35   version         v0.2-15-g62f5716
Attributes:
   IODev      phev_ttgo
   readingList phev_ttgo:/ttgo/devices//events:.* { json2nameValue($EVENT) }
phev_ttgo:/ttgo/devices//version:.* version
phev_ttgo:/ttgo/devices//status:.* { json2nameValue($EVENT) }
phev_ttgo:device/cmd:.* { json2nameValue($EVENT) }
   room       Autocreate
   setList    updateRegister /ttgo/devices//commands { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,1,255,255,255,255,255,255,255,255] } }, { "operation":{"airCon":"on"} } ] }


Wie würde das denn laufen, wenn ich da verschiedene Werte schreiben will?

Hier mal noch zur Infos der Link zu dem Projekt: https://github.com/phev-remote/phev-ttgo
FHEM im Proxmox Container

rudolfkoenig

ZitatWie würde das denn laufen, wenn ich da verschiedene Werte schreiben will?
Siehe commandref.

Mitch

Da hatte ich natürlich schon gelesen, aber bin nicht weiter gekommen  :-[
FHEM im Proxmox Container

Otto123

Hallo MItch
Zitat/ttgo/devices//commands
bist Du Dir mit dem Topic sicher? //

Eigentlich hast Du doch beim sonos2mqtt  Setup einige ganz gute Beispiele, da haben wir doch viele Varianten für die setList eingebaut?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Mitch

Ja, das mit den // stimmt, das liegt aber an dem Sender (eigentlich sollte da die MAC Adresse stehen, wird aber nicht mitgeschickt.

Das mit Sonos ist ein sehr guter Tip, Danke.
FHEM im Proxmox Container

Mitch

Okay, machmal sieht man den Wad vor lauter Bäume nicht  ;D

Ist ja wie "immer" in fhem.
Ich habe jetzt das hier:
attr MQTT2_phev_ttgo setList Klima10 /ttgo/devices//commands { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,0,255,255,255,255,255,255,255,255] } }, { "operation":{"airCon":"on"} } ] }\
Klima20 /ttgo/devices//commands { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,16,255,255,255,255,255,255,255,255] } }, { "operation":{"airCon":"on"} } ] }\
Klima30 /ttgo/devices//commands { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,32,255,255,255,255,255,255,255,255] } }, { "operation":{"airCon":"on"} } ] }\
Heat10 /ttgo/devices//commands { "requests":[ { "updateRegister":{ "register":2, "value":[0,0,255,255,255,255,0,255,255,255,255,255,255,255,255] } }, { "operation":{"heat":"on"} } ] }
FHEM im Proxmox Container

Mitch

So, habe das nun doch auf den fhem eigenen MQTT Server umgebaut.

Nun sehe ich auch, dass auf meinem ESP etwas ankommt.
I (27043) MQTT: MQTT_EVENT_DATA
I (27053) PHEV_SERVICE: Phev message command F6 reg 02 type 00 length 0F
I (27053) PHEV_SERVICE: Sending air con on command
I (27053) PHEV_SERVICE: Phev message command F6 reg 04 type 00 length 01


Da es aber immer noch nicht geht, gehe ich davon aus, es liegt an der Firmware vom ESP.
FHEM im Proxmox Container