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: stratege-0815 am 05 März 2021, 16:20:38
Wie update ich die Templates und aktualisieren die sich dann auch auf für bestehende devices?
Die attrTemplate-files selbst werden via normalem update (mit) aktualisiert, wirken sich aber nur aus, wenn man sie (wieder) anwendet.

Wenn du funktionierende Devices hast, würde ich eher dazu neigen, alles zu lassen, wie es ist... (es hat sich an vielen Stellen auch nicht viel getan).
Ggf. kannst du dir auch vorher anzeigen lassen, was das template machen würde, und über model/attrTemplateVersion ist es möglich nachzuvollziehen, ob überhaupt was geändert wurde (und via svn auch, was).

Zitat von: rudolfkoenig am 26 Februar 2021, 09:58:54
Das geht "richtig" nur mit CSS-Klassen.
Leider doof, wenn man etwas haben will, was in der CSS noch nicht exisiert.
Ich bin aber bereit "meine" Styles zu erweitern.
Mein Beitrag war nicht als Kritik gemeint, und wenn es darum ging, mich für irgendeine konkrete Aktion "aufzuschlauen", kann ich leider mit dem Stichwort zu wenig anfangen, um daraus Kapital zu schlagen.
Das war von meiner Seite nur so gemeint, dass ich die attrTemplate-Vorschläge teils deswegen ändere, weil ich niemandem irgendein Farbschema aufzwingein will...
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

th0nix

Super - Danke für's shellymotion template.

Kleiner Verbesserungsvorschlag für das Template (shellymotion)

In devStateIcon sollte meines Erachtens nach das Leerzeichen nach people_sensor in Zeile 2 raus? Dann gehen die Icons  ;)


attr Esszimmer.Motion devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; \
my $moti = ReadingsVal($name,"motion","false") eq "true"?"people_sensor ":"message_presence";; \
"<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($moti)."</a>"}

MadMax-FHEM

Hallo,

seit gestern habe ich meine Shelly Duo RGB GU10 :)

Mit MQTT mache ich nicht wirklich viel.
Prinzip glaube ich verstanden zu haben, so halbwegs...
...aber die Konfiguration in fhem übersteigt mich ;)

Bzw. klar "attrTemplate", dann werden (gefühlt) tausend Attribute etc. gesetzt und alles gut (wenn es passt)... :)
Mehr "kann" ich bzgl. MQTT nicht 8)

Daher habe ich zunächst versucht auch diesen Shelly (wie meine anderen) mittels Shelly-Modul einzubinden (ShellyMonitor geht bei mir nicht, irgendwie kriege ich das mit meinem VLAN-Setup nicht zum Laufen, egal).
Allerdings gibt es da auch noch kein "model" bzw. "model/mode" Kombination die mir "gefällt".

Gut dachte ich mir: MQTT :)

Gesagt getan. MQTT im Shelly aktiviert und "schwupps" war das Device in meinem fhem da :)
Dann geschaut nach einem attrTemplate.

Hmmm.
Ich habe ein paar ausprobiert und aktuell bin ich eigentlich mit dem "ShellyBulb" attrTemplate ganz zufrieden...

Also es lassen sich die Weißwerte setzen und auch die farbwerte, alles prime.

Nur der Status stimmt nicht.
Also ich kann per set Device on/off ein-/ausschalten aber es bleibt auf set_on/set_off "hängen" und damit auch auf dem "Ausrufezeichen-Icon"...

Ich hab auch schon andere attrTemplates durch, also z.B. das Duo. Aber da geht ja nur Weiß!?

Also wie geschrieben, wenn noch der Status stimmen würde, dann wäre es PERFEKT :)

Was kann ich tun, damit das funktioniert?

P.S.: wäre es möglich zu sehen, welches attrTemplate gerade angewendet ist? Z.B. im attr comment? Oder ich bin zu blind zu finden wo man das jetzt schon rausfinden kann...

DANKE, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Auf die Gefahr hin, dass ich zu schnell bin und Zwischenedits übersehe...:
Zitat von: MadMax-FHEM am 27 Mai 2021, 15:01:15
Also ich kann per set Device on/off ein-/ausschalten aber es bleibt auf set_on/set_off "hängen" und damit auch auf dem "Ausrufezeichen-Icon"...
Dann kommt entweder nichts passendes vom Shelly zurück (das auf state geschrieben werden könnte), oder es fehlt die Info, was passen würde (dann kann man das fixen).

ZitatWas kann ich tun, damit das funktioniert?
Infos liefern :) . Aus meiner Sicht fehlt:
a) ein RAW-listing, damit "andere" einfacher spielen können, die die Hardware nicht haben ;) ;
b) ein Mittschnitt des MQTT-Verkehrs zum und vom Shelly (RAW-Events vom M2S (?) oder mosquitto_sub, ich brauche aber in jedem Fall auch die Topics, nicht nur die Payload)

Zitat
P.S.: wäre es möglich zu sehen, welches attrTemplate gerade angewendet ist? Z.B. im attr comment? Oder ich bin zu blind zu finden wo man das jetzt schon rausfinden kann...
Es sollte "model" gesetzt sein (Attribut), und ein Reading sollte Aufschluss über die Version geben, welche es konkret war ;) . (Wo war nochmal das RAW-listing...?)

Ansonsten: Willkommen bei MQTT2 8) . Ist nicht so schwer, wie es aussieht...
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

MadMax-FHEM

#709
Äh ja klar, RawDef ;)


defmod MQTT2_shellycolorbulb_8CAAB555E45D MQTT2_DEVICE shellycolorbulb_8CAAB555E45D
attr MQTT2_shellycolorbulb_8CAAB555E45D devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"power","unknown");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons</div>"}
attr MQTT2_shellycolorbulb_8CAAB555E45D genericDeviceType light
attr MQTT2_shellycolorbulb_8CAAB555E45D homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
attr MQTT2_shellycolorbulb_8CAAB555E45D icon light_control
attr MQTT2_shellycolorbulb_8CAAB555E45D jsonMap brightness:pct
attr MQTT2_shellycolorbulb_8CAAB555E45D model shellybulb
attr MQTT2_shellycolorbulb_8CAAB555E45D readingList shellies/shellycolorbulb-8CAAB555E45D/color/0/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/online:.* online\
shellycolorbulb_8CAAB555E45D:shellies/announce:.* { json2nameValue($EVENT) }\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/announce:.* { json2nameValue($EVENT) }\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/info:.* { json2nameValue($EVENT) }\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/color/0:.* color_0\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/light/0/power:.* light_0_power\
shellycolorbulb_8CAAB555E45D:shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:.* light_0_energy
attr MQTT2_shellycolorbulb_8CAAB555E45D room MQTT2_DEVICE
attr MQTT2_shellycolorbulb_8CAAB555E45D setList off:noArg shellies/shellycolorbulb-8CAAB555E45D/color/0/command off\
  on:noArg shellies/shellycolorbulb-8CAAB555E45D/color/0/command on\
  pct:colorpicker,BRI,0,1,100 shellies/shellycolorbulb-8CAAB555E45D/color/0/set {"gain":"$EVTPART1","brightness":"$EVTPART1"}\
  pct_on:colorpicker,BRI,0,1,100 shellies/shellycolorbulb-8CAAB555E45D/color/0/set {"turn":"on","gain":"$EVTPART1","brightness":"$EVTPART1"}\
  ct:colorpicker,CT,3000,10,6500 {$EVTPART1=3000 if ($EVTPART1<3000);;"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"mode\":\"white\",\"temp\":\"$EVTPART1\"}"}\
  ct_on:colorpicker,CT,3000,10,6500 {$EVTPART1=3000 if ($EVTPART1<3000);;"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"temp\":\"$EVTPART1\"}"}\
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;;if($1 ne $2 || $2 ne $3){"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"mode\":\"color\",\"gain\":\"100\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}\
  rgb_on:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;;if($1 ne $2 || $2 ne $3){"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"turn\":\"on\",\"mode\":\"color\",\"gain\":\"100\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/shellycolorbulb-8CAAB555E45D/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}\
  x_update:noArg shellies/shellycolorbulb-8CAAB555E45D/command update_fw\
  x_mqttcom shellies/shellycolorbulb-8CAAB555E45D/command $EVTPART1
attr MQTT2_shellycolorbulb_8CAAB555E45D setStateList on off
attr MQTT2_shellycolorbulb_8CAAB555E45D userReadings ct:temp.* {ReadingsVal($name,"temp",3000)}, rgb:red.* {if(ReadingsVal($name,"mode","") eq "color"){sprintf("%02X%02X%02X", ReadingsVal($name,"red",99), ReadingsVal($name,"green",99), ReadingsVal($name,"blue",99))}else{my $a=sprintf("%02X",ReadingsVal($name,"brightness",0)*2.555);;"$a$a$a"}}
attr MQTT2_shellycolorbulb_8CAAB555E45D webCmd on:off:pct:ct:rgb

setstate MQTT2_shellycolorbulb_8CAAB555E45D set_off
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:37:19 IODev MQTT2Server
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 actions_stats_skipped 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 attrTemplateVersion 20200522 or prior
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 blue 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:26:32 brightness 100
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 cfg_changed_cnt 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 cloud_connected false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 cloud_enabled false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 color_0 off
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 ct 3000
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 effect 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:24:02 energy 1
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 fs_free 159385
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 fs_size 233681
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 fw_ver 20210429-095910/v1.10.4-g3f94cd7
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 gain 11
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 green 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 has_timer false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 has_update false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 id shellycolorbulb-8CAAB555E45D
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 ip 192.168.10.167
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 ison false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 light_0_energy 26
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 light_0_power 0.00
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_blue 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_brightness 11
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_effect 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_gain 11
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_green 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_has_timer false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_ison true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_mode white
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_red 255
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_source http
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_temp 3000
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_timer_duration 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_timer_remaining 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_timer_started 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 lights_1_white 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 mac 8CAAB555E45D
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_counters_1 1.378
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_counters_2 1.378
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_counters_3 1.378
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_is_valid true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_power 1.38
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_timestamp 1622126303
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 meters_1_total 24
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 mode white
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 model SHCB-1
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 mqtt_connected true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 new_fw false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 online true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 pct 11
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 ping_check true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:24:02 power 0.00
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 ram_free 37776
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 ram_total 50200
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 red 255
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 rgb FFFFFF
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 serial 42
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 source mqtt
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:28:23 state set_off
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 temp 3000
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 time 14:38
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 timer_duration 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 timer_remaining 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 timer_started 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 unixtime 1622119103
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 update_has_update false
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 update_new_version
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 update_old_version 20210429-095910/v1.10.4-g3f94cd7
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 update_status unknown
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 uptime 1020
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 15:47:23 white 0
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 wifi_sta_connected true
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 wifi_sta_ip 192.168.10.167
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 wifi_sta_rssi -67
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 wifi_sta_ssid My-Network
setstate MQTT2_shellycolorbulb_8CAAB555E45D 2021-05-27 14:38:22 x_mqttcom set announce



EDIT: rawDef jatzt vom korrekten Device, peinlich...

Ok, RawEvents da muss ich mal schauen wie ich das mache...
...kommt gleich (oder später je nachdem ;) )...

Und ja, ganz simpel: MQTT2Server in fhem und gut is :)

EDIT: ok, model. Wenn man's weiß isses einfach (wie so oft ;)  )...

EDIT: was mich "wundert": ich habe beim Auswählen des attrTemplate angegeben "ignore speech..." trotzdem sind genericDeviceType und homebridgeMapping gesetzt. Nicht, dass es mich stören würde (habe ja keinen alexaName von daher kein Problem). Braucht man das? Kann man das einfach löschen? Und: wenn ich das attrTemplate erneut anwende was passiert mit meinen Änderungen? Verm. "alle weg"?!

Danke schon mal, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Hmm, mag ja einfach sein das MQTT(2)-Zeugs ;)

Aber hierfür bin ich zu doof:

Zitat
rawEvents <topic-regexp>
Send all messages as events attributed to this MQTT2_SERVER instance. Should only be used, if there is no MQTT2_DEVICE to process the topic.

Also ich habe mal folgendes gesetzt:

attr MQTT2Server rawEvents .*shellycolorbulb.*

Sollte doch eine dafür geeignete RegExp sein?
Und dann?

Beim Device steht ja:
Zitat
DEVICETOPIC MQTT2_shellycolorbulb_8CAAB555E45D

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

#711
attr MQTT2Server rawEvents shellies/shellyrgbw2-80E656/.*

Damit sieht man im Eventmonitor was unter diesen Topics reinkommt:
attr MQTT2_shellyrgbw2_80E656 readingList shellies/shellyrgbw2-80E656/color/0/status:.* {json2nameValue($EVENT)}\
  shellies/shellyrgbw2-80E656/color/0:.* state\
  shellies/shellyrgbw2-80E656/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...shellyrgbw2-80E656...mac.*, ? json2nameValue($EVENT) : return }\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/announce:.* { json2nameValue($EVENT) }\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/info:.* { json2nameValue($EVENT) }\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/energy:.* color_0_energy\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/input/0:.* input_0\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/power:.* color_0_power\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/overpower:.* color_0_overpower


Und nicht vergessen das rawEvents-Attribut wieder zu löschen.

MadMax-FHEM

#712
Oh VERDAMMT!!

SORRY, das war das falsche Device.

Ich habe parallel noch wieder meinen RGBW2-Controller in Betrieb genommen...
...um zu sehen wie er mir besser gefällt: Shelly-Modul oder MQTT2Device...

Also ich nehm das oben als RawDef raus und das richtige rein...

ENTSCHULDIGUNG!!!!

Und rawEvents jetzt so: shellies/shellycolorbulb-8CAAB555E45D/.*
müsste ja passen.

Trotzdem: und dann?
Gut vielleicht sehe ich ja was wenn ich's richtig mache ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Grummel, das RAW (unabhängig davon, ob es das richtige war) sieht so aus, als hätten die Shelly-Macher jetzt auch vollends diesen unseligen "Mega-JSON-Virus" mit "true" statt "on" usw....

Vielleicht ein paar erweiterte Hinweise:

Der Teil kommt aus dem attrTemplate:

attr MQTT2_shellyrgbw2_80E656 readingList shellies/shellyrgbw2-80E656/color/0/status:.* {json2nameValue($EVENT)}\
  shellies/shellyrgbw2-80E656/color/0:.* state\
  shellies/shellyrgbw2-80E656/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...shellyrgbw2-80E656...mac.*, ? json2nameValue($EVENT) : return }\

Der Teil wird von autocreate ergänzt:
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/announce:.* { json2nameValue($EVENT) }\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/info:.* { json2nameValue($EVENT) }\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/energy:.* color_0_energy\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/input/0:.* input_0\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/power:.* color_0_power\
shellyrgbw2_80E656:shellies/shellyrgbw2-80E656/color/0/overpower:.* color_0_overpower


Es kommt uU. aber doch irgendwann und irgendwie ein "on" zurück:
setstate MQTT2_shellyrgbw2_80E656 on
setstate MQTT2_shellyrgbw2_80E656 2021-05-27 15:18:53 state on

Wenn es lange dauert, bis das der Fall ist, klingt es nach einem Kommunikationsproblem (außerhalb FHEM).

Z.B. das hier deutet darauf hin, dass es ziemlich verschachtelter JSON ist, der übermittelt wird:
setstate MQTT2_shellyrgbw2_80E656 2021-05-27 15:10:08 actions_stats_skipped 0
Leider kann man daran nicht mehr sehen, über welchen Topic das reinkam (wie bei anderem auch nicht). Eventuell wäre es gut, mal darüber nachzudenken, was man überhaupt braucht und den Rest ggf. schlicht nicht auszuwerten.
(Evtl. kannst du auch den jeweiligen JSON zusätzlich in ein "Klartextreading" (passend zum Topic) einfangen, indem du (zusätzlich) jede j2nv()-Zeile doppelst und dann einen eindeutigen Namen vergibst (z.B. "json_<short_topic>").

Zitat von: MadMax-FHEM am 27 Mai 2021, 15:22:23
EDIT: was mich "wundert": ich habe beim Auswählen des attrTemplate angegeben "ignore speech..." trotzdem sind genericDeviceType und homebridgeMapping gesetzt. Nicht, dass es mich stören würde (habe ja keinen alexaName von daher kein Problem). Braucht man das?
Klingt nach nicht beabsichtigt; wundert mich, dass sich da bisher keiner gewundert hätte (oder ich habe das übersehen).
Mal sehen, ob ich das bei Gelegenheit fixen kann (falls nicht jemand schneller Ideen dazu hat).

Zitat
Kann man das einfach löschen? Und: wenn ich das attrTemplate erneut anwende was passiert mit meinen Änderungen? Verm. "alle weg"?!
Den Teil kann man löschen, bei anderen Attributen ist das teils nicht so einfach, weil manches nur in Kombination funktioniert (klassisch: j2nv() und jsonMap iVm. stateFormat/devStateIcon).

Du kannst vor dem neuerlichen Anwenden eines attrTemplate sehen, was es macht. Meistens wird eben ein Satz Attribute gesetzt und die meisten Readings gelöscht. Alles andere bleibt unverändert.
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

MadMax-FHEM

Also beim RGBW2 geht eigentlich alles (irgendwie), habe aber noch nicht wirklich viel gemacht... ;)

Wenn ich ehrlich bin: ich verstehe nur die Hälfte von dem was du geschrieben hast. Bzw. brauche ich da etwas Ruhe, um das mal durchzuspielen...
(bin von der schnellen Reaktion ja fast ein wenig "überfahren" ;)  )

Gibt es was, dass ich "schnell" noch liefern kann?
EDIT: Attribut rawEvents habe ich gesetzt aber irgendwie weiß ich nicht was dann?

Ansonsten muss ich sehen, dass ich mir mal richtig Zeit dafür nehme und das dann mal versuche zu verstehen und zu liefern...

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Hat das was mit den "Sprachatributen" zu tun:


2021.05.27 15:08:53 2: autocreate: define MQTT2_shellyrgbw2_80E656 MQTT2_DEVICE shellyrgbw2_80E656 MQTT2Server
2021.05.27 15:08:53 2: autocreate: define FileLog_MQTT2_shellyrgbw2_80E656 FileLog ./log/MQTT2_shellyrgbw2_80E656-%Y.log MQTT2_shellyrgbw2_80E656
2021.05.27 15:10:08 3: MQTT2_DEVICE set MQTT2_shellyrgbw2_80E656 x_mqttcom announce
2021.05.27 15:10:27 1: ERROR evaluating { RADIO_SKIP_SCONTROLL }: Bareword "RADIO_SKIP_SCONTROLL" not allowed while "strict subs" in use at (eval 3595) line 1.


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Zitat von: MadMax-FHEM am 27 Mai 2021, 16:00:29
Hat das was mit den "Sprachatributen" zu tun:


2021.05.27 15:10:27 1: ERROR evaluating { RADIO_SKIP_SCONTROLL }: Bareword "RADIO_SKIP_SCONTROLL" not allowed while "strict subs" in use at (eval 3595) line 1.

Ja. Da fehlt ein "P" => RADIO_SKIPP_SCONTROLL (Zeile 116 in speechcontrol.template).

Fixe ich bei Gelegenheit.

Ansonsten: Lass dir Zeit, das Thema ist wegen der vielen Details leider etwas unübersichtlich; für dich im jetzigen Zusammenhang wichtig ist eigentlich erst mal zu verstehen, wie aus dem JSON-BLOBS Readings werden. Vielleicht wird der Teil etwas klarer, wenn du so einen "großen" JSON mal in einen Online-Editor packst (z.B. https://jsoneditoronline.org/).
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

MadMax-FHEM

Naja das mit json kriege ich schon irgendwie raus/hin ;)

Aber: wo kriege ich denn den "großen json" her?

Das kommt im EventMonitor:


2021-05-27 16:05:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":false,"source":"mqtt","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:05:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:0.00
2021-05-27 16:05:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26
2021-05-27 16:06:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0:off
2021-05-27 16:06:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":false,"source":"mqtt","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:06:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:0.00
2021-05-27 16:06:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26
2021-05-27 16:06:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0:off
2021-05-27 16:06:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":false,"source":"mqtt","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:06:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:0.00
2021-05-27 16:06:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26
2021-05-27 16:07:10 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0:on
2021-05-27 16:07:10 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":true,"source":"http","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:07:10 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:0.00
2021-05-27 16:07:10 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26
2021-05-27 16:07:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0:on
2021-05-27 16:07:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":true,"source":"http","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:07:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:1.38
2021-05-27 16:07:23 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26
2021-05-27 16:07:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0:on
2021-05-27 16:07:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/color/0/status:{"ison":true,"source":"http","has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"mode":"white","red":255,"green":0,"blue":0,"white":0,"gain":11,"temp":3000,"brightness":11,"effect":0}
2021-05-27 16:07:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/power:1.38
2021-05-27 16:07:53 MQTT2_SERVER MQTT2Server shellies/shellycolorbulb-8CAAB555E45D/light/0/energy:26


Und ja sieht wohl so aus:

ison:true
ison:false

;)

Ich muss jetzt mal andere Sachen machen, sorry und danke!

Ich denke heute Abend ist Zeit für so "Spielereien"...
...wenn ich weiß was ich tun kann, dann lege ich los :)

Gruß, Joachim

P.S.: gibt es eine Möglichkeit die Infoflut des Shelly per MQTT einzuschränken? Also gibt es DORT was, was ich einstellen kann, damit nicht so viel gesendet wird? Macht bei Nutzung von MQTT das Flashen von Tasmota Sinn?
Obwohl ich ja mit der Original-Shelly-SW (bislang) gut zurecht komme etc.
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Na ja, ."..color/0" nach "state" sollte doch eigentlich schon fast ausreichen, und "status" sieht mir überflüssig aus ( => {} als "Pseudo-Perl"-Auswertung für "den großen JSON").

So ganz beurteilen kann man das aber vermutlich erst, wenn man mal etwas mit Farbe rumgespielt hat.

"Geschwätzigkeit" war bei den Shelly gerne auch in der Vergangenheit ein Thema, bisher habe ich dazu leider keine abschließend verwertbare Info erhalten, was da ggf. wie Sinn macht (Tasmota ist zwischenzeitlich kaum besser...!). Es gibt aber irgendwo eine "reporting-rate", die man auf 0 stellen kann, um es etwas einzuschränken, was die firmware so sendet. (sollte im Wiki zu m2-Praxisbeispiele stehen).
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

MadMax-FHEM

Zitat von: Beta-User am 27 Mai 2021, 16:38:18
Na ja, ."..color/0" nach "state" sollte doch eigentlich schon fast ausreichen, und "status" sieht mir überflüssig aus ( => {} als "Pseudo-Perl"-Auswertung für "den großen JSON").

Ok, da muss ich mal sehen.
(ob ich das verstehe ;)  )
Ich werf mal meine Duo RGBW noch mal an...


Zitat von: Beta-User am 27 Mai 2021, 16:38:18
So ganz beurteilen kann man das aber vermutlich erst, wenn man mal etwas mit Farbe rumgespielt hat.

Also Farbe einstellen etc. funktioniert.
Also egal, ob ich am MQTT2Device rumspiele oder über die Shelly-Oberfläche.
Das einzige (bislang) was nicht geht ist eben das Icon (bedingt durch state: set_ )...
Wenn ich auf "on" oder "off" klicke (webCmd) dann geht es ja.
Nur das Icon kann ich zum Schalten nicht nehmen und es zeigt eben den Status mit "Ausrufezeichen"...

Wenn das weg/anders wäre: perfekt (also für mich)

Ich versuche mal rumzuspielen, vielleicht verstehe ich ja was... ;)

Zitat von: Beta-User am 27 Mai 2021, 16:38:18
"Geschwätzigkeit" war bei den Shelly gerne auch in der Vergangenheit ein Thema, bisher habe ich dazu leider keine abschließend verwertbare Info erhalten, was da ggf. wie Sinn macht (Tasmota ist zwischenzeitlich kaum besser...!). Es gibt aber irgendwo eine "reporting-rate", die man auf 0 stellen kann, um es etwas einzuschränken, was die firmware so sendet. (sollte im Wiki zu m2-Praxisbeispiele stehen).

Ok, mal sehen.
Und wenn Tasmota da (auch) keinen Unterschied (mehr) macht, dann bleibe ich (erst mal) bei der Shelly-FW...

Bei den "simplen" Shelly (1, 1L) nehme ich wohl weiterhin das Shelly-Modul, damit ist die Geschwätzigkeit ja nicht gegeben...

...allerdings muss ich sagen, dass mir die Farbeinstellung etc. mittels MQTT schon deutlich besser gefällt! :)
(gut vielleicht ist die DUO RGB ja [auch] beim Shelly-Modul noch nicht so richtig integriert)

D.h. ich werde wohl (erst mal) nur für die Farb-Dinger auf MQTT wechseln...
...sofern ich die überhaupt nehme.

Da ist aktuell noch der Vergleich zwischen Zigbee und WLAN...
Jaja, ich weiß: WLAN ist "böse" ;)
Aber die Infrastruktur bei mir sollte das hergeben ein paar WLAN-Aktoren zu haben...
(die Shelly 1L sind schon unschlagbar klein und einfach handzuhaben)

Wenn ich noch was liefern kann: bitte sagen!

Ansonsten spiele ich mal rum und schaue wie weit ich alleine komme...

Danke, Joachim

P.S.: das mit den "alexa-Attributen" hat verm. noch niemand gemerkt, weil entweder werden die aktiviert oder, wenn nicht (wie in meinem Fall), dann sind sie zwar da aber ohne alexaName (und der wird ja korrekt nicht gesetzt) sind sie ja "funktionslos" ;)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)