Tasmota Sonoff RF Bridge

Begonnen von mollyman01, 08 August 2019, 01:49:13

Vorheriges Thema - Nächstes Thema

mollyman01

Zitat von: rudolfkoenig am 09 August 2019, 12:17:00
Was heisst das genau?
Was steht im Log bei einem "attr myBroker verbose 5" ?
Was genau soll gesendet werden?
Schaut merkwuerdig aus, da hier ken Message definiert wurde, nur das topic.
zu A1 Wenn ich das Template nehme, so wie es standardmäßig ausgefüllt ist, soll es funktionieren, so habe ich das hier im Forum in ein paar BEiträgen gelesen. Es passiert aber nichts, es wird nichts zur Bridge übertragen.
zu A2 Ich bin jetzt das WE weg und starte am Montag dann die Log-Aufzeichnung
zu B das "/Mhome/WZ/cmd/RFBridge/RfKey1" ist das, was als Message transportiert werden und soll. Es soll den Schalter 1 auslösen wenn On gedrückt wird

rudolfkoenig

Zitatzu B das "/Mhome/WZ/cmd/RFBridge/RfKey1" ist das, was als Message transportiert werden und soll.
Eine Nachricht besteht aus topic + message (leerzeichengetrennt), und damit fehlt hier das Message.


TomLee

/Mhome/WZ/cmd/RFBridge/...

Hallo,

so wie das schon aussieht hast du in der MQTT-Konfiguration des Sonoff am Parameter topic = %topic% (sonoff) Änderungen vorgenommen, das wird in den Videos empfohlen wird hier aber mit dem MQTT2-Template nichts.

Stell mal alles wieder auf Standard (Wiki gleich am Anfang beschrieben), lösch dein bisheriges Device, restarte den Sonoff das wieder ein neues Device angelegt wird und wende daruf dann das Template an.

Mehr kann ich wsl. leider auch nicht helfen da ich keine Bridge besitze, aber ein list kannst du auf alle Fälle von dem neuen Device noch zeigen.

Gruß

Thomas

mollyman01

Habe das Sonoff umbenannt:
Zitatclient (DVES_F81192)
DVES_%06X

Zitattopic = %topic% (sonoff)
DVES_%06X
dann habe ich FHEM gelöscht und neu Installiert.

Dann habe ich:
define MQTT2_FHEM_Server MQTT2_SERVER 1883 global

2019.08.11 20:48:35 1: usb create starting
2019.08.11 20:48:35 3: Probing ZWDongle device /dev/serial0
2019.08.11 20:48:35 3: Probing CUL device /dev/ttyAMA0
2019.08.11 20:48:36 3: Probing TCM_ESP3 device /dev/ttyAMA0
2019.08.11 20:48:36 3: Probing ZWDongle device /dev/ttyAMA0
2019.08.11 20:48:36 3: Probing SIGNALDuino device /dev/ttyAMA0
2019.08.11 20:48:36 3: Probing MYSENSORS device /dev/ttyAMA0
2019.08.11 20:48:36 3: Probing ArduCounter device /dev/ttyAMA0
2019.08.11 20:48:37 3: Probing ElsnerWS device /dev/ttyAMA0
2019.08.11 20:48:38 3: Probing FRM device /dev/ttyAMA0
2019.08.11 20:48:43 1: usb create end
2019.08.11 20:48:43 0: Featurelevel: 5.9
2019.08.11 20:48:43 0: Server started with 6 defined entities (fhem.pl:19805/2019-07-09 perl:5.028001 os:linux user:fhem pid:9076)
2019.08.11 21:02:22 3: MQTT2_FHEM_Server: port 1883 opened
2019.08.11 21:02:24 2: autocreate: define MQTT2_Leuchtturm_68068B MQTT2_DEVICE Leuchtturm_68068B
2019.08.11 21:02:24 2: autocreate: define FileLog_MQTT2_Leuchtturm_68068B FileLog ./log/MQTT2_Leuchtturm_68068B-%Y.log MQTT2_Leuchtturm_68068B
2019.08.11 21:02:25 2: autocreate: define MQTT2_DVES_F81192 MQTT2_DEVICE DVES_F81192
2019.08.11 21:02:25 2: autocreate: define FileLog_MQTT2_DVES_F81192 FileLog ./log/MQTT2_DVES_F81192-%Y.log MQTT2_DVES_F81192
2019.08.11 21:02:27 2: AttrTemplates: got 99 entries


habe dann bei MQTT2_DVES_F81192  das Template A_01d_tasmota_rf eingestellt.

defmod MQTT2_DVES_F81192 MQTT2_DEVICE DVES_F81192
attr MQTT2_DVES_F81192 IODev MQTT2_FHEM_Server
attr MQTT2_DVES_F81192 event-on-change-reading .*
attr MQTT2_DVES_F81192 model A_01d_tasmota_rf
attr MQTT2_DVES_F81192 readingList /Mhome/WZ/tele/DVES_F81192/INFO.:.* { json2nameValue($EVENT) }\
  /Mhome/WZ/tele/DVES_F81192/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"json_raw"=>$EVENT} : undef }\
  /Mhome/WZ/tele/DVES_F81192/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"Data"=>"$4"} : undef }\
DVES_F81192:/Mhome/WZ/tele/DVES_F81192/STATE:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_F81192 room MQTT2_DEVICE
attr MQTT2_DVES_F81192 setList power:noArg /Mhome/WZ/cmnd/DVES_F81192/RFsend POWERCMD\
  volumeup:noArg /Mhome/WZ/cmnd/DVES_F81192/RFsend VOLUMEUPCMD\
  rfsend:textField /Mhome/WZ/cmnd/DVES_F81192/RFsend {"Protocol":"$EVTPART1","Bits":$EVTPART2,"Data":"0x$EVTPART3"}
attr MQTT2_DVES_F81192 stateFormat state\
<br>\
<a href="http://IPAddress" target="_blank">IPAddress</a>

setstate MQTT2_DVES_F81192 state\
<br>\
<a href="http://192.168.178.40" target="_blank">192.168.178.40</a>
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Epoch 1565550454
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 FallbackTopic cmnd/DVES_F81192_fb/
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 GroupTopic sonoffs
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Heap 28
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 Hostname DVES_F81192-4498
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 IPAddress 192.168.178.40
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 LWT Online
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 LoadAvg 19
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 Module Sonoff Bridge
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 POWER
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 RestartReason Software/System restart
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Sleep 50
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 SleepMode Dynamic
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Time 2019-08-11T20:07:34
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Uptime 0T00:15:18
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 UptimeSec 918
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 Version 6.6.0.3(sonoff)
setstate MQTT2_DVES_F81192 2019-08-11 21:02:25 WebServerMode Admin
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_AP 1
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_BSSId 98:9B:CB:65:ED:49
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_Channel 1
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_Downtime 0T00:00:00
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_LinkCount 1
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_RSSI 80
setstate MQTT2_DVES_F81192 2019-08-11 21:07:35 Wifi_SSId testnet


dazu das List
Internals:
   CFGFN     
   CID        DVES_F81192
   DEF        DVES_F81192
   DEVICETOPIC MQTT2_DVES_F81192
   FUUID      5d506641-f33f-e9c7-3720-4247ed5861ff991a
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_DVES_F81192
   NR         82
   STATE      state
<br>
<a href="http://192.168.178.40" target="_blank">192.168.178.40</a>
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-08-11 21:07:35   Epoch           1565550454
     2019-08-11 21:02:25   FallbackTopic   cmnd/DVES_F81192_fb/
     2019-08-11 21:02:25   GroupTopic      sonoffs
     2019-08-11 21:07:35   Heap            28
     2019-08-11 21:02:25   Hostname        DVES_F81192-4498
     2019-08-11 21:02:25   IPAddress       192.168.178.40
     2019-08-11 21:02:25   LWT             Online
     2019-08-11 21:07:35   LoadAvg         19
     2019-08-11 21:02:25   Module          Sonoff Bridge
     2019-08-11 21:02:25   POWER           
     2019-08-11 21:02:25   RestartReason   Software/System restart
     2019-08-11 21:07:35   Sleep           50
     2019-08-11 21:07:35   SleepMode       Dynamic
     2019-08-11 21:07:35   Time            2019-08-11T20:07:34
     2019-08-11 21:07:35   Uptime          0T00:15:18
     2019-08-11 21:07:35   UptimeSec       918
     2019-08-11 21:02:25   Version         6.6.0.3(sonoff)
     2019-08-11 21:02:25   WebServerMode   Admin
     2019-08-11 21:07:35   Wifi_AP         1
     2019-08-11 21:07:35   Wifi_BSSId      98:9B:CB:65:ED:49
     2019-08-11 21:07:35   Wifi_Channel    1
     2019-08-11 21:07:35   Wifi_Downtime   0T00:00:00
     2019-08-11 21:07:35   Wifi_LinkCount  1
     2019-08-11 21:07:35   Wifi_RSSI       80
     2019-08-11 21:07:35   Wifi_SSId       testnet
Attributes:
   IODev      MQTT2_FHEM_Server
   event-on-change-reading .*
   model      A_01d_tasmota_rf
   readingList /Mhome/WZ/tele/DVES_F81192/INFO.:.* { json2nameValue($EVENT) }
  /Mhome/WZ/tele/DVES_F81192/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"json_raw"=>$EVENT} : undef }
  /Mhome/WZ/tele/DVES_F81192/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"Data"=>"$4"} : undef }
DVES_F81192:/Mhome/WZ/tele/DVES_F81192/STATE:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    power:noArg /Mhome/WZ/cmnd/DVES_F81192/RFsend POWERCMD
  volumeup:noArg /Mhome/WZ/cmnd/DVES_F81192/RFsend VOLUMEUPCMD
  rfsend:textField /Mhome/WZ/cmnd/DVES_F81192/RFsend {"Protocol":"$EVTPART1","Bits":$EVTPART2,"Data":"0x$EVTPART3"}
   stateFormat state
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>



Irgendwas muss jetzt aber noch gemacht werden, damit es schalter gibt und ich diese nutzen kann

mollyman01

Zitat von: rudolfkoenig am 09 August 2019, 14:19:37
Eine Nachricht besteht aus topic + message (leerzeichengetrennt), und damit fehlt hier das Message.

Habe hierzu nochmal nachgelesen (https://github.com/arendst/Sonoff-Tasmota/wiki/Sonoff-RF-Bridge-433) bei der Bridge ist es wohl etwas anders, weil die kennt nicht on/ off/ toggle

Die Bridge kennt ja nur ihre 16 RfKeys welcher davon on oder off ist ja eine definitionsache Gerät 1 kann mit RfKey1 angeschaltet und mit RfKey9 ausgeschaltet

DasQ

#20
*******edit**********(hab das posting umgedreht)(und ich hab keine rfbridge)
die rfbridge kann scheinbar mehrere schaltlogiken.
1. raw
2. angelernt

du willst so wie ich das les, angelernt schalten. das kann das template soweit mir bekannt ist noch nicht.

mir wäre ein list vor dem template zuweisen wichtig und das man das standart tasmotatopic verwedet, so ist das etwas blindesstochernimheuhaufen ::) (deine logik kannst dann wenns funktioniert einbaun)

aber ich versuchs trozdem mal, etwas in der art:

attr MQTT2_DVES_F81192 setList RfKey1:on,off Mhome/WZ/cmnd/DVES_F81192/RfKey1 $EVTPART1

wobei "RfKey1" nach dem setlist, noch eine unbekannte ist da mir das "list" fehlt und danach konsequent in der namensgebung weiter verwendet wird.

btw. gibts dazu schon mehrere threads

mqtt2.template für RFbridge von Sonoff entwickeln

und
Zitat von: Beta-User am 20 März 2019, 15:03:30
Hi,
für den Fall, das dein Anliegen noch aktuell ist, ist mir zwar immer noch nicht ganz klar, was aus welchem Anlaß wohin geschickt wird, aber zwei eventuell passende Puzzlesteinchen kann ich evtl. - ohne Erfoglsgarantie - anbieten :) ...

a) Entweder wir machen eine Auswertung von {"RfKey4":"Learned sent"} usw., indem wir alle JSON-Messages mit "RfKey[\d]+" anders behandeln (siehe hier: https://forum.fhem.de/index.php/topic,98723.msg920946.html#msg920946), oder
b) was evtl. einfacher ist: wir versuchen eine Art "Nachbehandlung" mit $JSONMAP vorzunehmen, indem wir eine etwas "schräge" JSONMAP nutzen, da weiß ich aber nicht, ob das klappt.... Testen könntest du
attr MQTT2_Bridge1 jsonMap RfKey3:{"switch2"=>"on"} RfKey4:{"switch2"=>"off"}
attr MQTT2_Bridge1 readingList [...]
stat/smarthome/sonoff1/RESULT:.* { json2nameValue($EVENT, '', $JSONMAP) }

quelle



***alter anfang***
Im Prinzip musst dir nur dein setList selber basteln. stateFormat und webCmd anpassen.

Dazu bügelst dir ein annähernd passendes Template drauf und passt das an.

Hier ein Beispiel von mein Sonoff (tasmota) Touch

defmod SonOff_Wz MQTT2_DEVICE SonOff_Wz
attr SonOff_Wz IODev MQTT2_Broker
attr SonOff_Wz autocreate 0
attr SonOff_Wz devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on
attr SonOff_Wz group Licht
attr SonOff_Wz model A_02a_tasmota_2ch_unified
attr SonOff_Wz readingList tele/sonoff_Wz/LWT:.* LWT\
  tele/sonoff_Wz/STATE:.* { json2nameValue($EVENT) }\
  tele/sonoff_Wz/SENSOR:.* { json2nameValue($EVENT) }\
  tele/sonoff_Wz/INFO.:.* { json2nameValue($EVENT) }\
  stat/sonoff_Wz/RESULT:.* { json2nameValue($EVENT) }\
  tele/sonoff_Wz/UPTIME:.* { json2nameValue($EVENT) }\
  stat/sonoff_Wz/POWER1:.* POWER1\
  stat/sonoff_Wz/POWER2:.* POWER2
attr SonOff_Wz room Wohnzimmer
attr SonOff_Wz setList POWER1:on,off,toggle cmnd/sonoff_Wz/POWER1 $EVTPART1\
  POWER2:on,off,toggle cmnd/sonoff_Wz/POWER2 $EVTPART1
attr SonOff_Wz setStateList on off toggle
attr SonOff_Wz sortby 4
attr SonOff_Wz stateFormat <a href="http://IPAddress" target="_blank">\
LWT\
</a>\
1:POWER1\
2:POWER2\
uptime: Uptime


und schaut dann so aus
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

mollyman01

#21
Zitat von: DasQ am 12 August 2019, 09:01:34
*******edit**********(hab das posting umgedreht)(und ich hab keine rfbridge)
die rfbridge kann scheinbar mehrere schaltlogiken.
1. raw
2. angelernt

du willst so wie ich das les, angelernt schalten. das kann das template soweit mir bekannt ist noch nicht.

mir wäre ein list vor dem template zuweisen wichtig und das man das standart tasmotatopic verwedet, so ist das etwas blindesstochernimheuhaufen ::) (deine logik kannst dann wenns funktioniert einbaun)

aber ich versuchs trozdem mal, etwas in der art:

attr MQTT2_DVES_F81192 setList RfKey1:on,off Mhome/WZ/cmnd/DVES_F81192/RfKey1 $EVTPART1

wobei "RfKey1" nach dem setlist, noch eine unbekannte ist da mir das "list" fehlt und danach konsequent in der namensgebung weiter verwendet wird.


Erstmal danke für deine Mühe.

sorry das, mit dem list hatte ich dann wohl falsch verstanden.
Ich schaue mal, das ich das nachher nochmal nachziehe.

Ich verstehe noch nicht ganz die Logik dieser Zeile "setList RfKey1:on,off Mhome/WZ/cmnd/DVES_F81192/RfKey1 $EVTPART1". Die Bridge ist ja nicht wie ein normaler Schalter.
RfKey1:on,off ?
Der RfKey1 hat entweder den Code für On (Data 001014)  oder für off (Data 001015).
Bei mir ist es so RfKey1 ist der On-Schalter, RfKey2 der Off-Schalter.
brauche ich dann nicht zwei Zeilen, eine für On und eine für Off ?
z.B. so
setList RfKey1:on Mhome/WZ/cmnd/DVES_F81192/RfKey1 $EVTPART1 \
RfKey2:off Mhome/WZ/cmnd/DVES_F81192/RfKey2 $EVTPART1

Zum besseren Verständnis für mich; warum ziehst du auf die Variabele $EVTPART1 ab? Der Wert ist immer 1 und kann nicht anders sein (1 = send default RF data for RfKey<x> using RfSync, RfLow, RfHigh and RfHost parameters)
Wäre das wichtig, wenn ich statt auf RfKey auf RfSync, RfLow, RfHigh, RfData gehe?

Ich probiere das dann nachher aus.

------- edit -------
Die beiden Threads sind mir bekannt gewesen ( hatte vor dem ersten Posten die Suchfunktion vom Forum bemüht), haben mir aber leider nicht weitergeholfen
Beim Template Entwicklungsthread habe ich leider überhaupt nicht nachvollziehen können, was die da machen und wie das funktioniert. Alles was da in eckigen udn geschweiften Klammern steht sind für mich leider reine Böhmische Dörfer.
Bei dem anderen Thread hatte ich "abgekupfert", aber es eben nicht zum laufen bekommen. Aus dem Thread kommt auch der Background zu den zwei Zeilen für on und off

DasQ

#22
Wie gesagt ,,Versuch"

Ich hab keine solche Bridge und muss das ganze blind machen.

Nur kurz noch hinterher gefragt. Du hast die Fernbedienung in tasmota angelernt?
Und du kannst über die tasmota weboberfläche schalten?

Wenn ja mach das List erst nachdem du ein paar mal geschaltet hast.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

mollyman01

ja schon klar. Danke für deine Mühe.

hier das list:

Internals:
   CFGFN     
   CID        DVES_F81192
   DEF        DVES_F81192
   DEVICETOPIC MQTT2_DVES_F81192
   FUUID      5d5191fd-f33f-e9c7-4a6f-45ea1255607be86c
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 8
   MQTT2_FHEM_Server_TIME 2019-08-12 18:24:18
   MSGCNT     8
   NAME       MQTT2_DVES_F81192
   NR         35
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-08-12 18:23:32   Epoch           1565627012
     2019-08-12 18:23:32   Heap            27
     2019-08-12 18:21:17   LWT             Online
     2019-08-12 18:23:32   LoadAvg         41
     2019-08-12 18:21:17   POWER           
     2019-08-12 18:24:17   RfKey1          Learned sent
     2019-08-12 18:24:18   RfKey2          Learned sent
     2019-08-12 18:23:08   RfReceived_Data 001014
     2019-08-12 18:23:08   RfReceived_High 1130
     2019-08-12 18:23:08   RfReceived_Low  360
     2019-08-12 18:23:08   RfReceived_RfKey 2
     2019-08-12 18:23:08   RfReceived_Sync 9930
     2019-08-12 18:23:32   Sleep           50
     2019-08-12 18:23:32   SleepMode       Dynamic
     2019-08-12 18:23:32   Time            2019-08-12T17:23:32
     2019-08-12 18:23:32   Uptime          0T21:31:16
     2019-08-12 18:23:32   UptimeSec       77476
     2019-08-12 18:23:32   Wifi_AP         1
     2019-08-12 18:23:32   Wifi_BSSId      98:9B:CB:65:ED:49
     2019-08-12 18:23:32   Wifi_Channel    1
     2019-08-12 18:23:32   Wifi_Downtime   0T00:02:08
     2019-08-12 18:23:32   Wifi_LinkCount  19
     2019-08-12 18:23:32   Wifi_RSSI       80
     2019-08-12 18:23:32   Wifi_SSId       testnet
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList DVES_F81192:/Mhome/WZ/tele/DVES_F81192/LWT:.* LWT
DVES_F81192:/Mhome/WZ/cmnd/DVES_F81192/POWER:.* POWER
DVES_F81192:/Mhome/WZ/tele/DVES_F81192/RESULT:.* { json2nameValue($EVENT) }
DVES_F81192:/Mhome/WZ/tele/DVES_F81192/STATE:.* { json2nameValue($EVENT) }
DVES_F81192:/Mhome/WZ/stat/DVES_F81192/RESULT:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE

mollyman01

#24
so theoretisch funktioniert es jetzt so:
defmod MQTT2_DVES_F81192 MQTT2_DEVICE DVES_F81192
attr MQTT2_DVES_F81192 IODev MQTT2_FHEM_Server
attr MQTT2_DVES_F81192 alias AZ_IT_SPOT
attr MQTT2_DVES_F81192 autocreate 0
attr MQTT2_DVES_F81192 model A_01a_tasmota_basic_state_power1
attr MQTT2_DVES_F81192 readingList /Mhome/WZ/tele/DVES_F81192/LWT:.* LWT\
  /Mhome/WZ/tele/DVES_F81192/STATE:.* { json2nameValue($EVENT) }\
  /Mhome/WZ/tele/DVES_F81192/SENSOR:.* { json2nameValue($EVENT) }\
  /Mhome/WZ/tele/DVES_F81192/INFO.:.* { json2nameValue($EVENT) }\
  /Mhome/WZ/stat/DVES_F81192/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_F81192 room Arbeitszimmer,MQTT2_DEVICE
attr MQTT2_DVES_F81192 setList off:noArg    Mhome/WZ/cmnd/DVES_F81192/RfKey2\
  on:noArg     Mhome/WZ/cmnd/DVES_F81192/RfKey1
attr MQTT2_DVES_F81192 setStateList on off

setstate MQTT2_DVES_F81192 set_off
setstate MQTT2_DVES_F81192 2019-08-12 18:58:48 LWT
setstate MQTT2_DVES_F81192 2019-08-12 18:57:46 SaveData on
setstate MQTT2_DVES_F81192 2019-08-12 18:57:46 SetOption26 on
setstate MQTT2_DVES_F81192 2019-08-12 18:57:45 StateText1 off
setstate MQTT2_DVES_F81192 2019-08-12 18:57:45 StateText2 on
setstate MQTT2_DVES_F81192 2019-08-12 18:57:46 StateText3 toggle
setstate MQTT2_DVES_F81192 2019-08-12 18:57:46 StateText4 hold
setstate MQTT2_DVES_F81192 2019-08-12 19:03:42 state set_off


ich bekomme dafür eine Zeile die so aussieht:
ZitatAZ_IT_SPOT on off

Das ist so auch fein.
Jetzt fehlen aber die restlichen Zeilen.
RfKey3 macht nur Toggle im Schlafzimmer und RfKey4 macht toggle im Flur. Dafür hatte ich gerne jeweils eine Zeile.
ICh habe gelesen, das man ein Device Splitten kann, aber nicht wie

Beta-User

Sorry, dass ich das erst jetzt sehe...

Das mit dem Splitten geht so: einfach eine RAW-Definition nehmen, den Device-Namen für das Duplikat angeben, und dann die Attribute löschen, die man nicht braucht bzw. dazufügen, was man haben will.

Ansonsten wäre es auch möglich, die toggle-Befehle in das "Einheitsdevice" mit reinzubasteln, z.B. in die Richtung:
attr MQTT2_DVES_F81192 setList off:noArg    Mhome/WZ/cmnd/DVES_F81192/RfKey2\
  on:noArg     Mhome/WZ/cmnd/DVES_F81192/RfKey1\
  Flur:noArg   Mhome/WZ/cmnd/DVES_F81192/RfKey4\


Dabei ist aber suboptimal, dass es ein Toggle-Befehl ist; manchmal gibt es "versteckte Codes", mit denen wirklich Ein- und Ausschalten getrennt werden kann.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Das mit json_raw ist nur als eine Art Zwischeninfo gedacht. Du kannst daraus separate Devices basteln, wenn du den ankommenden JSON analysierst bzw. regexe baust, die das in "angemessene" Readingwerte (wie "state open" bzw. "state closed") umwandeln.

Ein Beispiel, wie das geht, ist in OpenMQTTGateway_simple_RF433_switch enthalten. Würde mich freuen, wenn du das auch als "nicht-FHEM-Profi" mit der regex selbst mal ausprobieren würdest (auf der genannten Basis weiterentwickeln). Zum Testen, ob eine Regex paßt, würde ich z.B. https://regexr.com empfehlen.

Sonst bitte nochmal melden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

1. Editiere nicht in der cfg rum, das ist fehlerträchtig...
(RAW-Editor nutzen, Wiki: Import von Code-Snippets)

2. "==" für Textvergleiche wird (fast) nie wahr.

3. TELETOPIC/RESULT:... ist Mist, da ist was schiefgegangen beim Anwenden des attrTemplate. Sollte jeweils wohl tele/sonoffRF/RESULT:... sein.

4. Löse das innerhalb des Moduls/des MQTT2-Devices; Beispiel:
  tele/sonoffRF/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...(ED2EFE)...RfKey...([^"]+)..., ? {"state"=>"on"} : undef }\
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Nochmal: Mach das innerhalb des Devices und dann für jedes Funk-Device eine konkrete Abfrage (bzw. zwei für ein/aus usw.). Genau wie vorgeschlagen.
Einfach die RAW-Definition nehmen und unter anderem Namen mit den konkreten Regex-Ausdrücken arbeiten und die readingList-Zeilen auf das beschränken, was du brauchst (also bei on/off zwei readingList-Einträge, den Rest kannst du weglassen.)...
Das ist schon alles.

Das "template"-Device dient "nur" dazu, erst mal an die Daten und regexe zu kommen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Rainer82

Danke für die Hilfe, aber ich verstehe das gar nicht, daher wollte ich per notify schalten, naja ... ist einfach zu kompliziert  :-[