MQTT2+Shelly: erste Konfiguration und template-Entwicklung

Begonnen von miggun, 03 Dezember 2018, 21:05:34

Vorheriges Thema - Nächstes Thema

neturmel

Hallo zusammen,

damit ich hier nicht nur ganz passiv lese und lerne, hier mal noch mein Device:

ein Shelly 2 als Rollladenaktor.
Ich verwende die aktuellste Version des mqtt2_templates, habe aber manuell die readingList angepasst,
indem  shellyswitch_XYZ:shellies/shellyswitch-XYZ/roller/0:.*  auf "state"  gemappt wird.
Dadurch (und durch "genericDeviceType blind") erscheint der Rollladen dann auch ohne weiteres Mapping in der Homebridge und funktioniert problemlos im Homekit/Siri

Für mich sieht das also sehr gut aus.

Super!




Internals
CID shellyswitch_559F03
DEF shellyswitch_559F03
DEVICETOPIC MQTT2_shellyswitch_559F03
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_MSGCNT 647
MQTT2_FHEM_Server_TIME 2019-01-15 18:43:32
MSGCNT 647
NAME MQTT2_shellyswitch_559F03
NR 120
STATE 0
TYPE MQTT2_DEVICE


Readings
1 0 019-01-15 18:26:12
announce_fw_ver 20190103-091640/v1.4.4@165d718b 2019-01-15 17:03:50
announce_id shellyswitch-559F03 2019-01-15 17:03:50
announce_ip 192.168.178.48 2019-01-15 17:03:50
announce_mac CE50E3559F03 2019-01-15 17:03:50
announce_new_fw false 2019-01-15 17:03:50
online true 2019-01-15 17:03:50
pct 0 2019-01-15 18:44:32
pos 9 2019-01-15 05:03:36
power 0.00 2019-01-15 18:44:32
state stop
2019-01-15 18:47:32

defmod MQTT2_shellyswitch_559F03 MQTT2_DEVICE shellyswitch_559F03
attr MQTT2_shellyswitch_559F03 IODev MQTT2_FHEM_Server
attr MQTT2_shellyswitch_559F03 alias sz.rollladen
attr MQTT2_shellyswitch_559F03 comment shelly2 roller operated
attr MQTT2_shellyswitch_559F03 devStateIcon 0:fts_shutter_100 100:fts_shutter_10 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80$
attr MQTT2_shellyswitch_559F03 genericDeviceType blind
attr MQTT2_shellyswitch_559F03 model A_11b_shelly2_roller
attr MQTT2_shellyswitch_559F03 readingList shellies/shellyswitch-559F03/roller/0/pos:.* pct\
  shellies/shellyswitch-559F03/status/0/rollers:.* power\
  shellies/shellyswitch-559F03/online:.* online\
  shellies/shellyswitch-559F03/announce:.* { json2nameValue($EVENT) }\
shellyswitch_559F03:shellies/shellyswitch-559F03/roller/0:.* state\
shellyswitch_559F03:shellies/shellyswitch-559F03/relay/power:.* power\
shellyswitch_559F03:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }\
shellyswitch_559F03:shellies/shellyswitch-559F03/input/1:.* 1\
shellyswitch_559F03:shellies/shellyswitch-559F03/input/0:.* shellies/shellyswitch-559F03/input/0
attr MQTT2_shellyswitch_559F03 room Homekit,MQTT2_DEVICE,Schlafzimmer
attr MQTT2_shellyswitch_559F03 setList open:noArg shellies/shellyswitch-559F03/roller/0/command open\
  close:noArg shellies/shellyswitch-559F03/roller/0/command close\
  stop:noArg shellies/shellyswitch-559F03/roller/0/command stop\
  pct:slider,0,1,100 shellies/shellyswitch-559F03/roller/0/command/pos $EVTPART1\
  DoRecalibration:noArg shellies/shellyswitch-559F03/roller/0/command rc
attr MQTT2_shellyswitch_559F03 setStateList open close stop
attr MQTT2_shellyswitch_559F03 siriName Rollladen
attr MQTT2_shellyswitch_559F03 stateFormat pct
attr MQTT2_shellyswitch_559F03 webCmd stop:open:close:pct:rc
FHEM, Homebridge, Philips Hue, Innr, Tradfri, Osram, Shelly 1 2 2.5,  LD382A, MQTT, Xiaomi Mijia G1

miggun

@Beta-User
Komme so gut klar.

@neturmel
Super direkt mal eingebaut. Funktioniert auf anhieb. Top.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Zitat von: neturmel am 15 Januar 2019, 18:50:34
damit ich hier nicht nur ganz passiv lese und lerne, hier mal noch mein Device:
Dann also willkommen hier im Forum und Danke für die positive Rückmeldung.
Zitat
indem  shellyswitch_XYZ:shellies/shellyswitch-XYZ/roller/0:.*  auf "state"  gemappt wird.
Dadurch (und durch "genericDeviceType blind") erscheint der Rollladen dann auch ohne weiteres Mapping in der Homebridge und funktioniert problemlos im Homekit/Siri
Vorab mal eine Anmerkung: Bisher war es jedenfalls bei mir nicht im Fokus, Attribute mit reinzubasteln, die für bestimmte Module erforderlich sein könnten (hier: Homekit).
Solche Dinge gehören m.E. ggf. in andere Dokumente, oder gibt es Argumente, das zu ändern?

Zum eigentlichen Code. Da scheint mir manches doppelt drin, für deinen Anwendungsfall müßte eigentlich genügen

defmod MQTT2_shellyswitch_559F03 MQTT2_DEVICE shellyswitch_559F03
attr MQTT2_shellyswitch_559F03 IODev MQTT2_FHEM_Server
attr MQTT2_shellyswitch_559F03 alias sz.rollladen
attr MQTT2_shellyswitch_559F03 comment shelly2 roller operated
attr MQTT2_shellyswitch_559F03 devStateIcon 0:fts_shutter_100 100:fts_shutter_10 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100 set_.*:fts_shutter_updown
attr MQTT2_shellyswitch_559F03 genericDeviceType blind
attr MQTT2_shellyswitch_559F03 model A_11b_shelly2_roller
attr MQTT2_shellyswitch_559F03 readingList shellies/shellyswitch-559F03/roller/0/pos:.* pct\
  shellies/shellyswitch-559F03/status/0/rollers:.* power\
  shellies/shellyswitch-559F03/online:.* online\
  shellies/shellyswitch-559F03/announce:.* { json2nameValue($EVENT) }\
  shellies/shellyswitch-559F03/roller/0:.* state\
  #shellies/shellyswitch-559F03/relay/power:.* relay_power\
  shellies/shellyswitch-559F03/input/1:.* input1\
  shellies/shellyswitch-559F03/input/0:.* input0
attr MQTT2_shellyswitch_559F03 room Homekit,MQTT2_DEVICE,Schlafzimmer
attr MQTT2_shellyswitch_559F03 setList open:noArg shellies/shellyswitch-559F03/roller/0/command open\
  close:noArg shellies/shellyswitch-559F03/roller/0/command close\
  stop:noArg shellies/shellyswitch-559F03/roller/0/command stop\
  pct:slider,0,1,100 shellies/shellyswitch-559F03/roller/0/command/pos $EVTPART1\
  DoRecalibration:noArg shellies/shellyswitch-559F03/roller/0/command rc
attr MQTT2_shellyswitch_559F03 setStateList open close stop
attr MQTT2_shellyswitch_559F03 siriName Rollladen
attr MQTT2_shellyswitch_559F03 stateFormat pct
attr MQTT2_shellyswitch_559F03 webCmd stop:open:close:pct:rc


Wobei webCmd vermutlich überflüssig ist (ergibt sich aus der setList) und siriName und genericDeviceType homekit-spezifisch.
Was hatte es mit dem doppelten power auf sich? Müßte unterschiedliche Readings ergeben, wenn es was anderes ist.
Wenn es das bzw. auch den Rest (relay_power, state, inputn) braucht, kann ich das gerne dazubauen.
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

neturmel

#213
@Beta-User

Danke für die Rückmeldung.

Das mit dem Homekit/Siri war nur als zusätzliche (nicht MQTT2) Info gedacht, würde ich auch nicht ins Template übernehmen. Hilft aber vielleicht anderen Siri-Nutzern, die zufällig hier landen.

webcmd ist wohl wirklich überflüssig und die zusätzlichen Werte sind ohne mein manuelles Zutun dazu gekommen.
Möglicherweise durch iegendwelche MQTT-Nachrichten des Shelly und autocreate?

Von Hand geändert hatte ich nur den state.

Nachdem ich alles überflüssige wieder gelöscht habe und nochmal über FHEM, Schalter und Homekit rumgespielt habe, sind die zusätzlichen Readings nicht mehr aufgetaucht.
Also keine Ahnung, was das war - passt also so.




FHEM, Homebridge, Philips Hue, Innr, Tradfri, Osram, Shelly 1 2 2.5,  LD382A, MQTT, Xiaomi Mijia G1

Guzzi-Charlie

Hallo,

ich hab mich nochmal mit der (teilweise nicht vorhandenen) kWh-Anzeige der Shelly's beschäftigt.

Dabei bin ich zu folgenden Ergebnissen und folgendem Schluß gekommen:

  • Web-IF            ==> keine kWh-Anzeige (weder beim Shelly 2 noch beim Shelly 4Pro)
  • Shelly-Modul    ==> keine kWh-Anzeige (weder beim Shelly 2 noch beim Shelly 4Pro)
  • Cloud              ==> kWh-Anzeige sowohl für Shelly 2 als auch für Shelly 4Pro
  • MQTT              ==> kWh-Anzeige nur für Shelly 4Pro (nicht für Shelly 2)
Für mich sieht das so aus als hat man die Berechnung/Addierung der kWh über mehrere Wege (in meinen Augen immer schlecht) implementiert.

D.h.

  • Basis FW auf den Shelly's verarbeitet und generiert nur die Power-Messungen (und natürlcih die ganzen Schaltfunktionen)
  • MQTT-Teil der FW berechnet/addiert auch die Energy-Werte (aber nur beim Shelly 4Pro).
    Ob die für den Shelly 2 jemals da waren kann ich nicht beurteilen. Im Moment fehlt der Wert auf jeden Fall und in der API-Doku des Shelly 2 steht dazu auch nichts.
  • Für die Cloud-Anbindung wird die Berechnung scheinbar im Cloud-Server gemacht.

Kann das Jemand bestätigen? Sind meine Ergebnisse/Schlußfolgerungen richtig?

Ich habe dazu auch schon eine Anfrage an den Support von Allterco geschickt. Bin mal auf die Antwort gespannt. Die antworten relativ zeitnah.

Wenn das tatsächlich so ist (ich hoffe ich liege falsch), dann ist das in meinen Augen komplett daneben. Alle Berechnungen sollten direkt auf den Shelly's ausgeführt und gespeichert werden. Andernfalls führt ein Ausfall der Internetverbindung, oder auch des FHEM-Servers zu falschen Werten. Auch scheint die Berechnung der kWh beim Shelly 4 Pro erst zu starten wenn MQTT aktiviert wird. Hier bin ich mir allerdings noch nicht ganz sicher. Die Werte kamen mir nur sehr niedrig vor. Mein Shelly 4 läuft schon ca. 8 Wochen. Das werde ich demnächst nochmal prüfen.

Heute habe ich auch mal das Shelly 4 Template ausprobiert, aber so ganz verstehe ich das noch nicht. Ich habe z.B. bei alle 4 angelegten Devices bei energy die gleichen Werte. Auch sieht mir die ReadingList etwas seltsam aus. Alles ist doppelt und in allen angelegten Devices sind die Readings aller 4 Kanäle enthalten. Aber vielleicht verstehe ich das Template auch noch nicht richtig.

Ich hoffe es klärt sich alles auf, bzw. die (vermeintlichen) Fehler werden demnächst behoben. Ich warte gerade auf vier weitere Shelly 4Pro. Eine Cloud-Anbindung kommt für mich nämlich nicht in Frage.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Beta-User

Zitat von: Guzzi-Charlie am 21 Januar 2019, 23:01:44
Heute habe ich auch mal das Shelly 4 Template ausprobiert, aber so ganz verstehe ich das noch nicht. Ich habe z.B. bei alle 4 angelegten Devices bei energy die gleichen Werte. Auch sieht mir die ReadingList etwas seltsam aus. Alles ist doppelt und in allen angelegten Devices sind die Readings aller 4 Kanäle enthalten. Aber vielleicht verstehe ich das Template auch noch nicht richtig.

Ich hoffe es klärt sich alles auf, bzw. die (vermeintlichen) Fehler werden demnächst behoben. Ich warte gerade auf vier weitere Shelly 4Pro. Eine Cloud-Anbindung kommt für mich nämlich nicht in Frage.
Bin nicht sicher, ob das dieselbe Ursache für das doppelte Anlegen der readingList-Einträge ist: https://forum.fhem.de/index.php/topic,96189.msg892733.html#msg892733
Das template A_14a_shelly4pro_split sieht ansonsten von hier aus soweit ok aus - ich kann aber mangels Hardware nicht testen oder was zum Rest sagen.
Würde vorschlagen, nach einem update in ein paar Minuten alle Readings zu löschen und das template nochmal anzuwenden. Danach sollte es eigentlich bei einzelnen Geräten mit recht kurzen Attribut-Listen bleiben.
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

Prof. Dr. Peter Henning

ZitatWenn das tatsächlich so ist..., dann ist das in meinen Augen komplett daneben.

Es ist immer wieder herzerwärmend, wenn Neulinge so detailliert erklären, was gemacht werden sollte. Und in diesem Falle ist die Erklärung absoluter Bockmist.

Bei der Leistungsmessung handelt es sich um eine relativ einfache Sache. Daraus die verbrauchte Energie zu berechnen, ist trickreich - denn die Leistungsmessung erfolgt ja nicht kontinuierlich, sondern zeitdiskret. Man muss also Annahmen zur Interpolation treffen - und da ist Allterco nicht gut drin. Nach meinen Daten sind die angezeigten Energiewerte nur sehr grobe Näherungen.

Aus genau diesem Grund schweigt sich erstens die API-Doku darüber aus, und habe ich das zweitens im Shelly-Modul nicht implementiert.

Schlussfolgerung; Es ist viel sinnvoller und genauer, die Energieberechnung im Backend (also in diesem Falle FHEM) durchzuführen.

LG

pah

P.S.: Ach ja, es heißt nicht "Shelly's", sondern "Shellys". Weder im Deutschen, noch im Englischen erfolgt eine Mehrzahlbildung mit Apostroph.


Guzzi-Charlie

@ pah

Vielen Dank Herr Oberlehrer für die "Belehrungen", aber Ihre Antworten sind ja wohl komplett am Thema vorbei.

Ich habe nur den Ist-Stand (aus meiner Sicht) beschrieben und zwei konkrete Fragen gestellt:

  • Kann das Jemand bestätigen?
  • Sind meine Ergebnisse/Schlußfolgerungen richtig?

Auf keine meiner Fragen gab es eine Antwort.

Ich habe auch nicht nach irgendwelchen Erklärungen zur Energieberechnung in der API gefragt. Ich habe nur festgestellt, daß es zur Bereitstellung des Energiewertes für den Shelly 2 keine Angaben gibt (im Gegensatz zum Shelly 4Pro).

Im Übrigen ist die Berechnung des Energiewertes keinesfalls "trickreich". Wo, wenn nicht direkt am Shelly soll man das denn genauer berechnen können. Bei jedem Zyklus der FW hat man Leistung und Zeit (die genaue Zykluszeit kenne ich zwar nicht, aber wahrscheinlich ms und nicht s. Nach "Außen", wo nur alle 10s, 60s, oder was man halt einstellt Werte übertragen werden kann es nur ungenauer werden. Erst Recht, wenn mal was ausfällt (Internetverbindung, Shelly-Server, FHEM-Server). Die Berechnung also erst im Backend zu machen ist völliger Quatsch. Gerade dadurch wird es ja ungenau. Jedes billige "Steckdosen-Energiemeßgerät", oder auch Hutschienenzähler (auch geeichte) machen sowas onboard.

- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

@Beta-User

Hallo,
auf diesen Thread bin ich auch schon gestoßen, hab das aber noch nicht komplett durchgelesen. Werde es Heute nochmal versuchen zu testen. Im Moment bin ich mir aber auch noch nicht ganz im Klaren ob ich tatsächlich 4 Devices anlegen will, oder doch alles in einem Device lasse.

Aber nochmal zurück zu meiner Frage:
"Ich habe z.B. bei alle 4 angelegten Devices bei energy die gleichen Werte."
Da stimmt doch auch was nicht, oder?

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Beta-User

Zitat von: Guzzi-Charlie am 22 Januar 2019, 11:18:35
Im Moment bin ich mir aber auch noch nicht ganz im Klaren ob ich tatsächlich 4 Devices anlegen will, oder doch alles in einem Device lasse.
Sofern du ein Einheits-Device anlegen willst, kannst du dich an den tastmota-unified orientieren. Wenn du das in template-Form lieferst, übernehme ich das gerne...

ZitatAber nochmal zurück zu meiner Frage:
"Ich habe z.B. bei alle 4 angelegten Devices bei energy die gleichen Werte."
Da stimmt doch auch was nicht, oder?
Richtig scheint das nicht zu sein, aber wenn es in unterschiedlich benannten Readings zu finden ist (was nach dem template so sein sollte), liegt die Ursache m.E. auf dem Gerät. Auch der Shelly2 hatte zunächst (bzw. liefert immer noch) zweifelhafte bzw. keine Daten.

Würde daher pah zustimmen und behaupten, dass wir der Fa. noch Gelegenheit lassen sollten, ihre firmware auch an der Stelle nachzubessern (soweit es überhaupt sinnvoll möglich ist, ordentliche Messergebnisse zu bekommen).

Ohne list-Infos (nach update und Korrektur der readingList) iVm. dem, was der Server an rawEvents hergibt ist das aber sehr spekulativ...
Wenn der shelly schlicht MQTT-seitig komische Dinge liefert und es darum geht, das zu verbessern, bitte einen separaten Thread dazu aufmachen, das ist dann keine template-Frage mehr; hier geht es darum, das zu verarbeiten, was wir haben, nicht um eine qualitative Beurteilung ;) .
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

Guzzi-Charlie

@Beta-User

Ok, wie gesagt: Ich schaue mir das nochmal genau an. Löschen neu anlegen, testen.

Melde mich dann nochmal.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

So, ich habe nun nochmal alles von Vorne neu angelegt. Nachfolgend meine Ergebnisse:

1.   Shelly über das WEB-IF auf MQTT umgestellt
       -->  Shelly wird in FHEM automatisch angelegt (ohne energy-readings):

raw-definition:
defmod MQTT2_shelly4pro_801300 MQTT2_DEVICE shelly4pro_801300
attr MQTT2_shelly4pro_801300 IODev MQTT2_FHEM_Server
attr MQTT2_shelly4pro_801300 readingList shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0:.* shellies/shelly4pro-801300/relay/0\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0:.* shellies/shelly4pro-801300/relay/0\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1:.* 1\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1:.* 1\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2:.* 2\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2:.* 2\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3\
shelly4pro_801300:shellies/announce:.* { json2nameValue($EVENT, 'announce_',$JSONMAP) }\
shelly4pro_801300:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }
attr MQTT2_shelly4pro_801300 room MQTT2_DEVICE

setstate MQTT2_shelly4pro_801300 2019-01-22 13:36:09 1 off
setstate MQTT2_shelly4pro_801300 2019-01-22 13:36:09 2 off
setstate MQTT2_shelly4pro_801300 2019-01-22 13:36:09 3 off
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_fw_ver 20181217-130631/v1.4.2@cc724b51
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_id shelly4pro-801300
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_ip 192.168.178.131
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_mac C8FD19801300
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_new_fw false
setstate MQTT2_shelly4pro_801300 2019-01-22 13:34:09 announce_online true
setstate MQTT2_shelly4pro_801300 2019-01-22 13:36:09 power 0.00
setstate MQTT2_shelly4pro_801300 2019-01-22 13:36:09 shellies/shelly4pro-801300/relay/0 off

==> hier werden schon alle Readings doppelt erzeugt. Das kommt doch dann wohl vom MQTT2-Server, oder?

2.   Template ausgeführt mit:
       set MQTT2_shelly4pro_801300 attrTemplate A_14a_shelly4pro_split

       Log:
       Deleted reading power for device MQTT2_shelly4pro_801300
       Deleted reading 2 for device MQTT2_shelly4pro_801300
       Deleted reading 1 for device MQTT2_shelly4pro_801300
       Deleted reading announce_mac for device MQTT2_shelly4pro_801300
       Deleted reading announce_fw_ver for device MQTT2_shelly4pro_801300
       Deleted reading announce_new_fw for device MQTT2_shelly4pro_801300   
       Deleted reading announce_online for device MQTT2_shelly4pro_801300
       Deleted reading announce_ip for device MQTT2_shelly4pro_801300
       Deleted reading shellies/shelly4pro-801300/relay/0 for device MQTT2_shelly4pro_801300
       Deleted reading announce_id for device MQTT2_shelly4pro_801300
       Deleted reading 3 for device MQTT2_shelly4pro_801300

       ==> Shelly auf 4 Devices gesplittet:
               siehe Bild Shelly4Pro_Split

raw-definition CH1:
defmod MQTT2_shelly4pro_801300 MQTT2_DEVICE shelly4pro_801300

attr MQTT2_shelly4pro_801300 IODev MQTT2_FHEM_Server
attr MQTT2_shelly4pro_801300 comment Channel 3 for MQTT2_shelly4pro_801300, see also MQTT2_shelly4pro_801300, MQTT2_shelly4pro_801300_CH2 and MQTT2_shelly4pro_801300_CH4
attr MQTT2_shelly4pro_801300 getList power3:noArg shellies/shelly4pro-801300/relay/2/power power3\
shellies/Dshelly4pro-801300/relay/2/energy energy3
attr MQTT2_shelly4pro_801300 model A_14a_shelly4pro_split
attr MQTT2_shelly4pro_801300 readingList shellies/shelly4pro-801300/relay/0:.* state\
shellies/shelly4pro-801300/relay/0:.* relay0\
shellies/shelly4pro-801300/input/0:.* input0\
shellies/shelly4pro-801300/online:.* online\
shellies/shelly4pro-801300/announce:.* { json2nameValue($EVENT, '', $JSONMAP) }\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
attr MQTT2_shelly4pro_801300 room MQTT2_DEVICE
attr MQTT2_shelly4pro_801300 setList off:noArg
shellies/shelly4pro-801300/relay/0/command off\
on:noArg shellies/shelly4pro-801300/relay/0/command on

setstate MQTT2_shelly4pro_801300 2019-01-22 13:41:40 power 0.00
setstate MQTT2_shelly4pro_801300 2019-01-22 13:41:40 relay0 off


raw-definition CH2:
defmod MQTT2_shelly4pro_801300_CH2 MQTT2_DEVICE shelly4pro_801300

attr MQTT2_shelly4pro_801300_CH2 IODev MQTT2_FHEM_Server
attr MQTT2_shelly4pro_801300_CH2 comment Channel 2 for MQTT2_shelly4pro_801300
attr MQTT2_shelly4pro_801300_CH2 getList power1:noArg
shellies/shelly4pro-801300/relay/0/power power1\
shellies/shelly4pro-801300/relay/0/energy energy1
attr MQTT2_shelly4pro_801300_CH2 model A_10a_shellyplug
attr MQTT2_shelly4pro_801300_CH2 readingList shellies/shelly4pro-801300/relay/1:.* state\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
attr MQTT2_shelly4pro_801300_CH2 room MQTT2_DEVICE
attr MQTT2_shelly4pro_801300_CH2 setList off:noArg
shellies/shelly4pro-801300/relay/1/command off\
on:noArg shellies/shelly4pro-801300/relay/1/command on

setstate MQTT2_shelly4pro_801300_CH2 off
setstate MQTT2_shelly4pro_801300_CH2 2019-01-22 13:38:17 associatedWith MQTT2_shelly4pro_801300,MQTT2_shelly4pro_801300_CH3,MQTT2_shelly4pro_801300_CH4
setstate MQTT2_shelly4pro_801300_CH2 2019-01-22 13:42:12 power 0.00
setstate MQTT2_shelly4pro_801300_CH2 2019-01-22 13:42:12 state off


raw-definition CH3:
defmod MQTT2_shelly4pro_801300_CH3 MQTT2_DEVICE shelly4pro_801300

attr MQTT2_shelly4pro_801300_CH3 IODev MQTT2_FHEM_Server
attr MQTT2_shelly4pro_801300_CH3 comment Channel 3 for MQTT2_shelly4pro_801300
attr MQTT2_shelly4pro_801300_CH3 getList power2:noArg shellies/shelly4pro-801300/relay/1/power power2\
  shellies/shelly4pro-801300/relay/1/energy energy2
attr MQTT2_shelly4pro_801300_CH3 model A_10a_shellyplug
attr MQTT2_shelly4pro_801300_CH3 readingList shellies/shelly4pro-801300/relay/2:.* state\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
attr MQTT2_shelly4pro_801300_CH3 room MQTT2_DEVICE
attr MQTT2_shelly4pro_801300_CH3 setList off:noArg shellies/shelly4pro-801300/relay/2/command off\
on:noArg shellies/shelly4pro-801300/relay/2/command on

setstate MQTT2_shelly4pro_801300_CH3 off
setstate MQTT2_shelly4pro_801300_CH3 2019-01-22 13:38:17 associatedWith MQTT2_shelly4pro_801300,MQTT2_shelly4pro_801300_CH2,MQTT2_shelly4pro_801300_CH4
setstate MQTT2_shelly4pro_801300_CH3 2019-01-22 13:42:41 power 0.00
setstate MQTT2_shelly4pro_801300_CH3 2019-01-22 13:42:41 state off


raw-definition CH3:
defmod MQTT2_shelly4pro_801300_CH4 MQTT2_DEVICE shelly4pro_801300

attr MQTT2_shelly4pro_801300_CH4 IODev MQTT2_FHEM_Server
attr MQTT2_shelly4pro_801300_CH4 comment Channel 4 for MQTT2_shelly4pro_801300, see also MQTT2_shelly4pro_801300, MQTT2_shelly4pro_801300_CH2 and MQTT2_shelly4pro_801300_CH3
attr MQTT2_shelly4pro_801300_CH4 getList power4:noArg shellies/shelly4pro-801300/relay/3/power power4\
  shellies/shelly4pro-801300/relay/3/energy energy4
attr MQTT2_shelly4pro_801300_CH4 model A_10a_shellyplug
attr MQTT2_shelly4pro_801300_CH4 readingList shellies/shelly4pro-801300/relay/3:.* state\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power\
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
attr MQTT2_shelly4pro_801300_CH4 room MQTT2_DEVICE
attr MQTT2_shelly4pro_801300_CH4 setList off:noArg shellies/shelly4pro-801300/relay/3/command off\
  on:noArg shellies/shelly4pro-801300/relay/3/command on

setstate MQTT2_shelly4pro_801300_CH4 off
setstate MQTT2_shelly4pro_801300_CH4 2019-01-22 13:38:17 associatedWith MQTT2_shelly4pro_801300,MQTT2_shelly4pro_801300_CH2,MQTT2_shelly4pro_801300_CH3
setstate MQTT2_shelly4pro_801300_CH4 2019-01-22 13:43:15 power 0.00
setstate MQTT2_shelly4pro_801300_CH4 2019-01-22 13:43:15 state off


   ==> keine energy-readings vorhanden

3.   CH1 eingeschaltet:
Energy reading für Kanal 1 taucht in allen 4 devices in der readingList. Der Wert von CH1 wird in allen 4 devices unter "Readings" mit dem gleichen Wert (falsch) angezeigt.
siehe Bild "ReadingList_1"

4.   CH2 eingeschaltet:
Energy reading für Kanal 1+2 tauchen in alle 4 devices in der readingList. Der Wert von CH2 wird in allen 4 devices unter "Readings" mit dem gleichen Wert (falsch) angezeigt.
siehe Bild "ReadingList_2"

5.   CH3 eingeschaltet:
Energy reading für Kanal 1+2+3 tauchen in alle 4 devices in der readingList. Der Wert von CH3 wird in allen 4 devices unter "Readings" mit dem gleichen Wert (falsch) angezeigt.
siehe Bild "ReadingList_3"

6.   CH4 eingeschaltet:
Energy reading für Kanal 1+2+3+4 tauchen in alle 4 devices in der readingList auf. Der Wert von CH4 wird in allen 4 devices unter "Readings" mit dem gleichen Wert (falsch) angezeigt.
siehe Bild "ReadingList_4"

==> Beim Ausschalten geht es dann praktisch rückwärts. Der jeweils letzte übertragene energy-Wert wird dann auf allen Devices in den Readings ausgegeben. Da scheint also irgendetwas mit den Zuordnungen nicht zu stimmen.

Wegen dem "Einheits-Device" bin ich ja noch am Überlegen und ich bin auch noch ein ziemlicher Anfänger was die Tiefen von FHEM betrifft, aber natürlich teile ich gerne meine Ergebnisse. Ich habe auch noch soooo viele Baustellen was FHEM betrifft. Das kann also auch noch dauern. Mein Haus ist ziemlich groß und wenn ich was mache dann gleich komplett und nicht nur ein paar Lampen, oder Messungen.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Beta-User

@Guzzi-Charlie kurz vorab:
Deine Module waren bei dieser Sache auf welchem Stand?
Rudi hatte da gestern abend was in MQTT2_DEVICE geändert, die sollte rev. 18363 sein (Server habe ich nicht nachgesehen). Dein Update sollte ab heute morgen nach 8:00 Uhr erfolgt sein...
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

Guzzi-Charlie

Oh Mist. Das letzte Update hatte ich Gestern gemacht.

Ich versuchs dann halt nochmal.

Danke für die Info.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

So, ich habe nochmal alles gelöscht und neu angelegt (anlegen lassen).

Das Ergebnis ist aber (was das automatische Anlegen durch den MQTT2-Server betrifft) annähernd das Gleiche. D.h. es werden immer noch alle Einträge der readingList doppelt erstellt.

Ergebnis Gestern:
......shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3\
shelly4pro_801300:shellies/announce:.* { json2nameValue($EVENT, 'announce_',$JSONMAP) }\
shelly4pro_801300:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }


Ergebnis Jetzt (nach Update):
......shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3\
shelly4pro_801300:shellies/announce:.* __json2nameValue__EVENT___announce_____JSONMAP___


Der Rest (Vorne dran) ist gleich. Die letzte Zeile sieht ein wenig komisch aus. Ist das so richtig? Hab von Pearl leider wenig Ahnung.

Gruß
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2