MQTT2+Shelly: erste Konfiguration und template-Entwicklung

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

Vorheriges Thema - Nächstes Thema

Beta-User

Zitat von: Alcamar am 03 Juli 2023, 14:34:53ich komme auch mit jsonMap und json2nameValue nicht klar, auch wenn ich versuche die "Doku" zu verstehen.

Zitatattr m2d jsonMap SENSOR_AM2301_Humidity:Humidity
attr m2d readingList tele/sonoff/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }

Wenn ich die unzähligen Readings auf die wesentlichen reduzieren und dann auch noch loggen könnte, wäre ich für meine Begriffe durch.
Als Neuling in diesem Thema ist es nicht so einfach die ganzen Beiträge hier für sich zu sortieren.

Den Shelly Pro 3em in die Stromverteilung zu montieren und dafür zu sorgen, dass es Daten an fhem sendet, war eine einfache Übung.
Jetzt wo die Daten dort allerdings einprasseln, sehe ich nicht, wie ich sie verarbeiten kann. die attrTemplate hat mir nicht geholfen.

Gibt es eine grundsätzliche Dokumentationsquelle, die man zielführend heranziehen kann?
....den Quelltext...

Oder "Schritt für Schritt" im Wiki, da sind die Parameter kurz erklärt, afaik.
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

Alcamar

Den MQTT-PREFIX habe ich im Shelly geändert. Das hat auch Änderungen in den Namen bewirkt, aber mit "params" fangen die Readings trotzdem an.

Mit dem Hinweis von Beta-User, denke ich das "params" gelöst werden kann. Muss aber erst kapieren, wie das Tandem von jsonMap und json2nameValue zusammenspielt.   

TomLee

#947
ZitatMuss aber erst kapieren, wie das Tandem von jsonMap und json2nameValue zusammenspielt.

Nur bspw:

ZitatjsonMap und ...

a_total_act_energy:L1_energy a_total_act_ret_energy:0
a_total_act_energy wird umbennannt in L1_energy.
a_total_act_ret_energy wird mit 0 beerdigt, das bisher angelegte Reading musst du anschliessend mit deletereading löschen.

Zitat... die 3-Argument-Variante von json2nameValue() in readingList wären der Ansatz.

{ json2nameValue($EVENT) }in der readingList durch 
{ json2nameValue($EVENT,'',$JSONMAP) } ersetzen.

Gruß

aus der Nähe

Alcamar

@TomLee: Warum finde ich eine solche Erläuterung nicht in wiki?  :)
Danke! Du hast mir gerade neuen Schwung gegeben.

TomLee

ZitatWarum finde ich eine solche Erläuterung nicht in wiki?

Primär (meiner Auffassung nach), hat sich mehr oder weniger (!) nur eine Person bisher dazu bemüht die gegebenen Bausteine im Wiki festzuhalten, es steht jedem frei sich an der "Übersetzung" zu beteiligen (meine Welt ist das nicht, versuchs aber ab und zu, eher sehr selten).

Ich denke, mit den zuvor gegebenen Hinweisen iVm. der Suche im Forum wärst du auch selbst auf die Lösung gekommen.

bene80

Hallo,

ich habe einen ShellyMotion 2 im Einsatz bei dem ich den Lux-Wert zum Steuern meiner Rollläden nutze. Leider wird dieser Wert nur einmal in der Stunde aktualisiert.
Gibt es eine Möglichkeit den Wert in regelmäßigen Abständen abzufragen?
Leider sind meine FHEM Kenntnisse eher Bescheiden um es vorsichtig auszudrücken  ::)

Für einen Vorschlag wäre ich dankbar
Grüße Bernhard

bene80

Hat den wirklich keiner eine Idee wie man das elegant lösen kann?

87insane


bene80

Danke, mit announce funktioniert es. Keine Ahnung ob das elegant ist :-)

Invers

#954
define MQTT2_shellyrgbw2_8150CC MQTT2_DEVICE shellyrgbw2_8150CC
attr MQTT2_shellyrgbw2_8150CC alexaName Spiegel
attr MQTT2_shellyrgbw2_8150CC autocreate 0
attr MQTT2_shellyrgbw2_8150CC comment Channel 1 for MQTT2_shellyrgbw2_8150CC, see also MQTT2_shellyrgbw2_8150CC_CH2, MQTT2_shellyrgbw2_8150CC_CH3 and MQTT2_shellyrgbw2_8150CC_CH4
attr MQTT2_shellyrgbw2_8150CC genericDeviceType light
attr MQTT2_shellyrgbw2_8150CC icon light_control
attr MQTT2_shellyrgbw2_8150CC model shelly2rgbw_4w_split
attr MQTT2_shellyrgbw2_8150CC readingList shellies/shellyrgbw2-8150CC/white/0/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
  shellies/shellyrgbw2-8150CC/white/0:.* state\
  shellies/shellyrgbw2-8150CC/white/0/set:.* { json2nameValue($EVENT) }\
  shellies/shellyrgbw2-8150CC/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...shellyrgbw2-8150CC...mac.*, ? json2nameValue($EVENT) : return }
attr MQTT2_shellyrgbw2_8150CC room MQTT2_DEVICE
attr MQTT2_shellyrgbw2_8150CC setList off:noArg shellies/shellyrgbw2-8150CC/white/0/command off\
  on:noArg shellies/shellyrgbw2-8150CC/white/0/command on\
  pct:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-8150CC/white/0/set {"mode":"white","brightness":"$EVTPART1"}\
  pct_on:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-8150CC/white/0/set {"ison":"true","mode":"white","brightness":"$EVTPART1"}\
  x_update:noArg shellies/shellyrgbw2-8150CC/command update_fw\
  x_mqttcom shellies/shellyrgbw2-8150CC/command $EVTPART1
attr MQTT2_shellyrgbw2_8150CC setStateList on off
attr MQTT2_shellyrgbw2_8150CC webCmd on:off:pct
#   CID        shellyrgbw2_8150CC
#   DEF        shellyrgbw2_8150CC
#   FUUID      652020d3-f33f-8098-ced0-723e0904ded46cc6
#   IODev      MQTT2_Server
#   LASTInputDev MQTT2_Server
#   MQTT2_Server_CONN MQTT2_Server_192.168.178.64_7630
#   MQTT2_Server_MSGCNT 904
#   MQTT2_Server_TIME 2023-10-07 10:09:27
#   MSGCNT     904
#   NAME       MQTT2_shellyrgbw2_8150CC
#   NR         594
#   STATE      on
#   TYPE       MQTT2_DEVICE
#   eventCount 923
#   OLDREADINGS:
#   READINGS:
#     2023-10-07 06:41:12   IODev           MQTT2_Server
#     2023-10-07 10:00:24   associatedWith  MQTT2_shellyrgbw2_8150CC_CH2,MQTT2_shellyrgbw2_8150CC_CH3,MQTT2_shellyrgbw2_8150CC_CH4
#     2023-10-07 10:00:18   attrTemplateVersion 20210103
#     2023-10-07 10:09:27   brightness      88
#     2023-10-07 10:09:27   has_timer       false
#     2023-10-07 10:09:27   ison            true
#     2023-10-07 10:09:27   mode            white
#     2023-10-07 10:00:25   online          true
#     2023-10-07 10:09:27   overpower       false
#     2023-10-07 10:01:52   pct             set pct 88
#     2023-10-07 10:09:27   power           21.60
#     2023-10-07 10:09:27   source          mqtt
#     2023-10-07 10:09:27   state           on
#     2023-10-07 10:09:27   timer_duration  0
#     2023-10-07 10:09:27   timer_remaining 0
#     2023-10-07 10:09:27   timer_started   0
#     2023-10-07 10:09:27   transition      0
#     2023-10-07 10:00:24   x_mqttcom       set x_mqttcom announce
#
setstate MQTT2_shellyrgbw2_8150CC on
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 06:41:12 IODev MQTT2_Server
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:00:24 associatedWith MQTT2_shellyrgbw2_8150CC_CH2,MQTT2_shellyrgbw2_8150CC_CH3,MQTT2_shellyrgbw2_8150CC_CH4
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:00:18 attrTemplateVersion 20210103
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 brightness 88
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 has_timer false
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 ison true
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 mode white
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:00:25 online true
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 overpower false
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:01:52 pct set pct 88
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 power 21.60
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 source mqtt
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 state on
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 timer_duration 0
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 timer_remaining 0
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 timer_started 0
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:09:27 transition 0
setstate MQTT2_shellyrgbw2_8150CC 2023-10-07 10:00:24 x_mqttcom set x_mqttcom announce

define MQTT2_shellyrgbw2_8150CC_CH2 MQTT2_DEVICE shellyrgbw2_8150CC
attr MQTT2_shellyrgbw2_8150CC_CH2 alexaName Decke
attr MQTT2_shellyrgbw2_8150CC_CH2 autocreate 0
attr MQTT2_shellyrgbw2_8150CC_CH2 comment Channel 2 for MQTT2_shellyrgbw2_8150CC, see also MQTT2_shellyrgbw2_8150CC, MQTT2_shellyrgbw2_8150CC_CH3 and MQTT2_shellyrgbw2_8150CC_CH4
attr MQTT2_shellyrgbw2_8150CC_CH2 genericDeviceType light
attr MQTT2_shellyrgbw2_8150CC_CH2 icon light_control
attr MQTT2_shellyrgbw2_8150CC_CH2 model shelly2rgbw_4w_split
attr MQTT2_shellyrgbw2_8150CC_CH2 readingList shellies/shellyrgbw2-8150CC/white/1/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
  shellies/shellyrgbw2-8150CC/white/1:.* state\
  shellies/shellyrgbw2-8150CC/white/1/set:.* { json2nameValue($EVENT) }\
  shellies/shellyrgbw2-8150CC/online:.* online
attr MQTT2_shellyrgbw2_8150CC_CH2 room MQTT2_DEVICE
attr MQTT2_shellyrgbw2_8150CC_CH2 setList off:noArg shellies/shellyrgbw2-8150CC/white/1/command off\
  on:noArg shellies/shellyrgbw2-8150CC/white/1/command on\
  pct:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-8150CC/white/1/set {"mode":"white","brightness":"$EVTPART1"}\
  pct_on:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-8150CC/white/1/set {"ison":"true","mode":"white","brightness":"$EVTPART1"}
attr MQTT2_shellyrgbw2_8150CC_CH2 setStateList on off
attr MQTT2_shellyrgbw2_8150CC_CH2 webCmd on:off:pct
#   CID        shellyrgbw2_8150CC
#   DEF        shellyrgbw2_8150CC
#   FUUID      65211013-f33f-8098-c7ae-bd313ce11c666875
#   IODev      dyson_broker_mqtt2
#   LASTInputDev MQTT2_Server
#   MQTT2_Server_CONN MQTT2_Server_192.168.178.64_7630
#   MQTT2_Server_MSGCNT 77
#   MQTT2_Server_TIME 2023-10-07 10:17:57
#   MSGCNT     77
#   NAME       MQTT2_shellyrgbw2_8150CC_CH2
#   NR         7162
#   STATE      on
#   TYPE       MQTT2_DEVICE
#   eventCount 84
#   READINGS:
#     2023-10-07 10:00:19   IODev           dyson_broker_mqtt2
#     2023-10-07 10:00:24   associatedWith  MQTT2_shellyrgbw2_8150CC,MQTT2_shellyrgbw2_8150CC_CH3,MQTT2_shellyrgbw2_8150CC_CH4
#     2023-10-07 10:17:57   brightness      1
#     2023-10-07 10:17:57   has_timer       false
#     2023-10-07 10:17:57   ison            true
#     2023-10-07 10:17:57   mode            white
#     2023-10-07 10:00:25   online          true
#     2023-10-07 10:17:57   overpower       false
#     2023-10-07 10:02:17   pct             set pct 44
#     2023-10-07 10:17:57   power           0.25
#     2023-10-07 10:17:57   source          http
#     2023-10-07 10:17:57   state           on
#     2023-10-07 10:17:57   timer_duration  0
#     2023-10-07 10:17:57   timer_remaining 0
#     2023-10-07 10:17:57   timer_started   0
#     2023-10-07 10:17:57   transition      0
#
setstate MQTT2_shellyrgbw2_8150CC_CH2 on
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:00:19 IODev dyson_broker_mqtt2
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:00:24 associatedWith MQTT2_shellyrgbw2_8150CC,MQTT2_shellyrgbw2_8150CC_CH3,MQTT2_shellyrgbw2_8150CC_CH4
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 brightness 1
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 has_timer false
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 ison true
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 mode white
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:00:25 online true
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 overpower false
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:02:17 pct set pct 44
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 power 0.25
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 source http
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 state on
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 timer_duration 0
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 timer_remaining 0
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 timer_started 0
setstate MQTT2_shellyrgbw2_8150CC_CH2 2023-10-07 10:17:57 transition 0

Ich habe einen Shelly RGBW2 per MQTT2 unter Verwendung des Templates shelly2rgbw_4w_split in FHEM eingebunden.
Das funktioniert mit dem Kanal 1 prima. Kanäle 2-4 können aber nur anzeigen, was ich im Shelly selbst einstelle, aber nur an und aus.
Ein Schalten der Kanäle 2-4 aus FHEM ist nicht möglich, aber eine Anzeige schon. Fehler im FHEM-Log sehe ich nicht.

Kann mir bitte jemand sagen, warum die anderen Kanäle nicht gehen?
Leider konnte ich nachträglich den Fragetext nicht vor dem Code einsetzen.

EDIT: Falls ich im falschen Forum bin, bitte ich um einen Hinweis.

Vielen Dank im Voraus.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

OK, dann antworte ich mir mal selbst.
Ich habe den Fehler gefunden. Es wurde vom Template der falsche Broker eingetragen.
Es wurde dyson_broker_mqtt2 statt des normalen MQTT2_Server  eingesetzt.
Keine Ahnung, warum.

Ist also gelöst.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Motivierte linke Hände

FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

grappa24

Hallo,
ich war ganz glücklich mit meinen ShellyPlugS GEN1 mit MQTT und jetzt doch etwas überrascht, als ich mir die neuen ShellyPlusPlug GEN2 geholt habe  :o Gibts denn schon ein passendes Template dafür?
Grüße, Dieter
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

Docter

boah... selbes Problem hier...
Bekomme den ShellyPlugPlug GEN2 nicht ans laufen

grappa24

einfach das Template für den shellyPlus_1pm benutzen, funktioniert wunderbar.

Und in den Shelly Einstellungen müssen sich die GEN2 Shellies bereits im MQTT-Prefix unterscheiden ....
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...