Shelly Plus 2 PM

Begonnen von tomleitner, 23 Juni 2022, 09:31:53

Vorheriges Thema - Nächstes Thema

OdfFhem

Test gestartet mit Firmware 0.11.4:
Das gemappte Reading "temperature" wird angelegt (CH1+CH2).
Reading "ip" ist nicht vorhanden ... "params_wifi_*" gibt es auch nicht (CH1+CH2).

Update auf Firmware 0.12.0:
Das gemappte Reading "temperature" wird nicht mehr aktualisiert (CH1+CH2).
Es gibt 2 "vielleicht neue" Readings "temperature_tC" und "temperature_tF", die regelmäßig aktualisiert werden (CH1+CH2).
Reading "ip" und "params_wifi_*" gibt es weiterhin nicht (CH1+CH2).

Beta-User

 ??? blödes Ding das...

Dass die aber auch ständig an den Details ihrer firmware rumschrauben >:( ! Die wird davon auch nicht wirklich besser :( .

Na ja, die Temp. scheint jetzt (vermutlich richtigerweise) auf einer anderen Ebene in der JSON-Struktur zu stecken, die spannende Frage ist jetzt, bei welchen anderen Shellyplus/-pro-Varianten das noch so ist (oder wieder anders >:( ).

Bin jedenfalls geneigt, die Info "tC" nur im Hauptdevice anzuzeigen und die jsonMaps entsprechend anzupassen. Einwände?

(Den "alten" Stand hatte ich eben (ohne Temperatur in CH2-devStateIcon) eingecheckt)
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

flummy1978

Zitat von: OdfFhem am 04 Januar 2023, 20:35:14
Update auf Firmware 0.12.0:
Das gemappte Reading "temperature" wird nicht mehr aktualisiert (CH1+CH2).

Kann ich so nicht bestätigen. (ebenfalls Firmenware 0.12.0)
Das Reading gibt es sehr wohl in CH1+CH2. Es DAUERT nur bis eine Temperatur auftaucht. D.h bei mir wurde auch erst eine Temperatur angezeigt als ich bei ca. 47 ° war. Also belaste das Ding mal ein wenig, dann sollte sich da was tun.


#     2023-01-04 19:18:59   state           off
#     2023-01-04 19:52:11   temperature     47.07


Seit 19 Uhr hab ich daran nichts gemacht, d.h die Temp ist so stehen geblieben.

Nu hab ich beide Kanäle mehrmals eingeschaltet und das Teil ein wenig belastet:

#     2023-01-04 23:21:22   state           on
#     2023-01-04 23:20:40   temperature     52.09


Bezüglich dem Rest:
Argumentation zum Vorschlag 1. verstanden, nachvollzogen und ok ...
2. Hab mich auf den grünen Punkt fokussiert und gesehen dass online angezeigt wurde (somit gar nicht beachtet dass die IP nicht vorhanden ist). Auch nach einer Weile / Neustart etc kommt die IP (scheinbar) nicht

VG
Andreas

OdfFhem

Zitat von: flummy1978 am 04 Januar 2023, 23:26:59
Kann ich so nicht bestätigen ... Es DAUERT nur bis eine Temperatur auftaucht ...

Heute das Gerät aktiviert - in KALTEM Zustand ... und tatsächlich wird die gemappte temperature doch noch ab und zu aktualisiert ...

Auf temperature / temperature_tC gefilterter Ausschnitt des bisherigen Tages aus Logfile:

2023-01-05_03:58:34 MQTT2_shelly_powerSwitch9 temperature_tC: 17.0
2023-01-05_03:58:54 MQTT2_shelly_powerSwitch9 temperature: 21.89
2023-01-05_03:58:54 MQTT2_shelly_powerSwitch9 temperature_tC: 21.9
2023-01-05_03:59:00 MQTT2_shelly_powerSwitch9 temperature_tC: 22.6
2023-01-05_03:59:51 MQTT2_shelly_powerSwitch9 temperature: 26.95
2023-01-05_03:59:51 MQTT2_shelly_powerSwitch9 temperature_tC: 27.0
2023-01-05_04:00:00 MQTT2_shelly_powerSwitch9 temperature_tC: 27.3
2023-01-05_04:01:00 MQTT2_shelly_powerSwitch9 temperature_tC: 29.8
2023-01-05_04:02:00 MQTT2_shelly_powerSwitch9 temperature_tC: 31.7
2023-01-05_04:02:12 MQTT2_shelly_powerSwitch9 temperature: 32.03
2023-01-05_04:02:12 MQTT2_shelly_powerSwitch9 temperature_tC: 32.0
2023-01-05_04:03:00 MQTT2_shelly_powerSwitch9 temperature_tC: 33.2
2023-01-05_04:04:00 MQTT2_shelly_powerSwitch9 temperature_tC: 34.4
2023-01-05_04:05:00 MQTT2_shelly_powerSwitch9 temperature_tC: 35.6
2023-01-05_04:06:00 MQTT2_shelly_powerSwitch9 temperature_tC: 36.4
2023-01-05_04:06:57 MQTT2_shelly_powerSwitch9 temperature: 37.04
2023-01-05_04:06:57 MQTT2_shelly_powerSwitch9 temperature_tC: 37.0
2023-01-05_04:07:00 MQTT2_shelly_powerSwitch9 temperature_tC: 37.0
2023-01-05_04:08:00 MQTT2_shelly_powerSwitch9 temperature_tC: 37.6
2023-01-05_04:09:00 MQTT2_shelly_powerSwitch9 temperature_tC: 38.1
2023-01-05_04:10:00 MQTT2_shelly_powerSwitch9 temperature_tC: 38.7
2023-01-05_04:11:00 MQTT2_shelly_powerSwitch9 temperature_tC: 39.1
2023-01-05_04:12:00 MQTT2_shelly_powerSwitch9 temperature_tC: 39.5
2023-01-05_04:13:00 MQTT2_shelly_powerSwitch9 temperature_tC: 39.9
2023-01-05_04:14:00 MQTT2_shelly_powerSwitch9 temperature_tC: 40.0
2023-01-05_04:15:00 MQTT2_shelly_powerSwitch9 temperature_tC: 40.3
2023-01-05_04:16:00 MQTT2_shelly_powerSwitch9 temperature_tC: 40.4
2023-01-05_04:17:00 MQTT2_shelly_powerSwitch9 temperature_tC: 40.7
2023-01-05_04:18:00 MQTT2_shelly_powerSwitch9 temperature_tC: 40.9
2023-01-05_04:19:00 MQTT2_shelly_powerSwitch9 temperature_tC: 41.0
2023-01-05_04:20:00 MQTT2_shelly_powerSwitch9 temperature_tC: 41.2
2023-01-05_04:21:00 MQTT2_shelly_powerSwitch9 temperature_tC: 41.3
2023-01-05_04:22:00 MQTT2_shelly_powerSwitch9 temperature_tC: 41.4
2023-01-05_04:23:00 MQTT2_shelly_powerSwitch9 temperature_tC: 41.4
2023-01-05_04:23:39 MQTT2_shelly_powerSwitch9 temperature: 42.11
2023-01-05_04:23:39 MQTT2_shelly_powerSwitch9 temperature_tC: 42.1
2023-01-05_04:24:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.4
2023-01-05_04:25:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.1
2023-01-05_04:26:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.9
2023-01-05_04:27:00 MQTT2_shelly_powerSwitch9 temperature_tC: 44.4
2023-01-05_04:28:00 MQTT2_shelly_powerSwitch9 temperature_tC: 45.0
2023-01-05_04:29:00 MQTT2_shelly_powerSwitch9 temperature_tC: 45.6
2023-01-05_04:30:00 MQTT2_shelly_powerSwitch9 temperature_tC: 45.9
2023-01-05_04:31:00 MQTT2_shelly_powerSwitch9 temperature_tC: 46.2
2023-01-05_04:32:00 MQTT2_shelly_powerSwitch9 temperature_tC: 46.8
2023-01-05_04:32:39 MQTT2_shelly_powerSwitch9 temperature: 47.19
2023-01-05_04:32:39 MQTT2_shelly_powerSwitch9 temperature_tC: 47.2
2023-01-05_04:33:00 MQTT2_shelly_powerSwitch9 temperature_tC: 47.1
2023-01-05_04:34:00 MQTT2_shelly_powerSwitch9 temperature_tC: 47.7
2023-01-05_04:34:59 MQTT2_shelly_powerSwitch9 temperature_tC: 47.5
2023-01-05_04:36:00 MQTT2_shelly_powerSwitch9 temperature_tC: 47.7
2023-01-05_04:37:00 MQTT2_shelly_powerSwitch9 temperature_tC: 47.9
2023-01-05_04:38:00 MQTT2_shelly_powerSwitch9 temperature_tC: 48.0
2023-01-05_04:39:00 MQTT2_shelly_powerSwitch9 temperature_tC: 48.1
2023-01-05_04:40:00 MQTT2_shelly_powerSwitch9 temperature_tC: 48.2
2023-01-05_04:41:00 MQTT2_shelly_powerSwitch9 temperature_tC: 47.5
2023-01-05_04:42:00 MQTT2_shelly_powerSwitch9 temperature_tC: 46.8
2023-01-05_04:43:00 MQTT2_shelly_powerSwitch9 temperature_tC: 46.0
2023-01-05_04:44:00 MQTT2_shelly_powerSwitch9 temperature_tC: 45.5
2023-01-05_04:45:00 MQTT2_shelly_powerSwitch9 temperature_tC: 45.1
2023-01-05_04:46:00 MQTT2_shelly_powerSwitch9 temperature_tC: 44.7
2023-01-05_04:47:00 MQTT2_shelly_powerSwitch9 temperature_tC: 44.3
2023-01-05_04:48:00 MQTT2_shelly_powerSwitch9 temperature_tC: 44.1
2023-01-05_04:49:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.7
2023-01-05_04:50:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.6
2023-01-05_04:51:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.4
2023-01-05_04:52:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.2
2023-01-05_04:53:00 MQTT2_shelly_powerSwitch9 temperature_tC: 43.1
2023-01-05_04:54:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.8
2023-01-05_04:55:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.7
2023-01-05_04:56:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.7
2023-01-05_04:57:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.6
2023-01-05_04:57:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.6
2023-01-05_04:58:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.5
2023-01-05_04:59:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.4
2023-01-05_05:00:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.5
2023-01-05_05:01:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.4
2023-01-05_05:02:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.3
2023-01-05_05:03:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.3
2023-01-05_05:04:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.3
2023-01-05_05:05:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.3
2023-01-05_05:05:02 MQTT2_shelly_powerSwitch9 temperature: 42.18
2023-01-05_05:05:02 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:06:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.3
2023-01-05_05:07:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:08:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:09:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.1
2023-01-05_05:10:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.1
2023-01-05_05:11:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:12:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:13:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.0
2023-01-05_05:14:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.1
2023-01-05_05:15:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.2
2023-01-05_05:16:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.0
2023-01-05_05:17:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.0
2023-01-05_05:18:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.1
2023-01-05_05:19:00 MQTT2_shelly_powerSwitch9 temperature_tC: 42.0
2023-01-05_05:19:59 MQTT2_shelly_powerSwitch9 temperature_tC: 42.0

... die gemappte temperature wird ungefähr alle 5 Grad transportiert
... die noch nicht gemappte temperature wird minütlich transportiert

Beispiel für die beiden Kanäle zur gemappten temperature (ungefähr alle 5 Grad):

shellies/powerSwitch9/events/rpc {"src":"shellyplus2pm-idididididid","dst":"shellies/powerSwitch9/events","method":"NotifyStatus","params":{"ts":1672889559.98,"switch:0":{"id":0,"temperature":{"tC":47.19,"tF":116.93}}}}
shellies/powerSwitch9/events/rpc {"src":"shellyplus2pm-idididididid","dst":"shellies/powerSwitch9/events","method":"NotifyStatus","params":{"ts":1672889559.98,"switch:1":{"id":1,"temperature":{"tC":47.19,"tF":116.93}}}}


Beispiel für die beiden Kanäle zur ungemappten temperature (minütlich):

shellies/powerSwitch9/status/switch:0 {"id":0, "source":"init", "output":false, "apower":0.0, "voltage":239.6, "current":0.000, "pf":0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1672889558},"temperature":{"tC":47.2, "tF":116.9}}
shellies/powerSwitch9/status/switch:1 {"id":1, "source":"MQTT", "output":true, "apower":0.0, "voltage":239.7, "current":0.000, "pf":-0.00, "aenergy":{"total":0.000,"by_minute":[0.000,0.000,0.000],"minute_ts":1672889558},"temperature":{"tC":47.2, "tF":116.9}}


***

Ein Update, Reboot, o.ä. führt scheinbar nicht "zwanghaft" zur Aktualisierung der gemappten temperature ... 5 Grad Unterschied schon.

Ich habe jetzt das jsonMap-Attribut erweitert um:

temperature_tC:temperature temperature_tF:0

... somit würde die minütliche Information für tC auf das temperature-Reading gemappt und tF geerdet.

flummy1978

#34
Bezüglich der Aktualisierung, versuche ich das Ganze nochmal nachzustellen, ob es bei mir auch alle 5 Grad aktualisiert wird.

Zitat von: OdfFhem am 04 Januar 2023, 20:35:14
Es gibt 2 "vielleicht neue" Readings "temperature_tC" und "temperature_tF", die regelmäßig aktualisiert werden (CH1+CH2).
Reading "ip" und "params_wifi_*" gibt es weiterhin nicht (CH1+CH2).

Das ist lustig, bei mir gibt es dieses Reading gar nicht (weder CH1 noch CH2)  ???
Edith ergänzt noch die FW-ID: 20221206-141957/0.12.0-gafc2404
Nur eine Vermutung: Hast Du Cloud (oder was anderes aktiviert), Debug per MQTT oder oder ?
Bei mir ist lediglich Wifi,Mqtt aktiviert. Ansonsten hat das Ding nicht mal Internetzugang.

Ich habe jetzt im Device das Autocreate noch mal aktiviert und ein Filelog erstellt, so kann ich es noch etwas länger / besser verfolgen

VG
Andreas

OdfFhem

@flummy1978

FIRMWARE ID ... entspricht Deiner (s. Screenshot_firmware)
MQTT ... s. Screenshot_mqtt ... vielleicht abweichend von Deinen Einstellungen
WiFi ... ja
Cloud ... bislang bei keinem Shelly genutzt ... wäre vermutlich aber beim PLUS auch egal

***

Die neue Oberfläche gefällt mir deutlich besser als die alte ... mal schauen, ob alles funktioniert.

Insgesamt nervig, dass offiziell zwar "mac", nicht aber "ip" oder "fw_id" transportiert wird.
... bei PLUS kommt man wohl selbst bei "einfachen" Informationen immer noch nicht um Scripts drum herum.

Bzgl. CH2 bleibt bei mir die Frage, ob man nicht generell viel mehr Werte "erden" sollte
... sind eindeutig zu viele (bzgl. CH1 doppelte) Readings vorhanden

87insane

#36
Hey zusammen,

anbei ein Shutter_Invert_1 mit Shelly2PlusPM. Ich habe das devstateicon auch angepasst, da sonst kein laufendes Rollo angezeigt wird und auch nicht immer die PCT als ICON angezeigt wird.

Es gibt viele Wege um das ganze als Invert anzuzeigen aber ich habe es mir an der Stelle einfach gemacht. Der close Befehl ist nun open und umgekehrt.
close:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Open","params": {"id":0}}
open:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Close","params": {"id":0}}

RAW:
defmod MQTT2_shellyplus2pm_441793a7c6a0 MQTT2_DEVICE shellyplus2pm_441793a7c6a0
attr MQTT2_shellyplus2pm_441793a7c6a0 cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr MQTT2_shellyplus2pm_441793a7c6a0 comment Shelly Plus 2 PM in Roller-Mode. 0=opened / 100=closed
attr MQTT2_shellyplus2pm_441793a7c6a0 devStateIcon { \
my $amp = ReadingsVal($name,"online","false") eq "false" \
? "rot" \
: ReadingsVal($name,"new_fw","false") eq "true" \
? "gelb" \
: "gruen";;\
my %mapping = (\
"closing" => "opening",\
"opening" => "closing"\
);;\
my $con = $mapping{ReadingsVal($name, "state", "undef")} // ReadingsVal($name, "pct", "undef");;\
my $pic = $con eq "opening" \
? 'fts_shutter_up@red' \
: $con eq "closing" \
? 'fts_shutter_down@red' \
: $con eq "100" \
? 'fts_shutter_100' \
: $con =~ /(\d)\d/ ? 'fts_shutter_'.$1.'0' \
: $con =~ /\b\d\b/ ? 'fts_shutter_10' \
: 'fts_shutter_updown';;\
my $show = "$amp" eq "gelb" \
? "<a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage("10px-kreis-".$amp)."</a>" \
: "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage("10px-kreis-".$amp)."</a>";;\
"<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\"></a>".FW_makeImage($pic)." </div>" \
}
attr MQTT2_shellyplus2pm_441793a7c6a0 devicetopic shellyplus2pm-441793a7c6a0
attr MQTT2_shellyplus2pm_441793a7c6a0 genericDeviceType blind
attr MQTT2_shellyplus2pm_441793a7c6a0 icon fts_shutter
attr MQTT2_shellyplus2pm_441793a7c6a0 jsonMap status_state:state status_current_pos:pct status_temperature_tC:temperature
attr MQTT2_shellyplus2pm_441793a7c6a0 model shellyPlus_2pm_roller_invert_1
attr MQTT2_shellyplus2pm_441793a7c6a0 readingList $DEVICETOPIC/online:.* online\
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $DEVICETOPIC/status/cover_0:.* { json2nameValue($EVENT, 'status_', $JSONMAP) }\
  fhem2shelly/rpc:.* {}\
  $DEVICETOPIC/events/rpc:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/status/cloud:.* { json2nameValue($EVENT) }
attr MQTT2_shellyplus2pm_441793a7c6a0 room MQTT2_DEVICE
attr MQTT2_shellyplus2pm_441793a7c6a0 setList close:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Open","params": {"id":0}}\
  open:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Close","params": {"id":0}}\
  half:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":50}}\
  stop:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Stop","params": {"id":0}}\
  pct:slider,0,1,100 $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":$EVTPART1}}\
  x_update:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Update","params": {"stage":"stable"}}\
  x_reboot:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Reboot"}\
  x_eco:true,false $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Sys.SetConfig","params": {"config": {"device": {"eco_mode": $EVTPART1}}}}
attr MQTT2_shellyplus2pm_441793a7c6a0 setStateList open close half stop pct
attr MQTT2_shellyplus2pm_441793a7c6a0 webCmd :open:close:half:stop:pct

(devStateIcon): Ich habe an der Stelle absichtlich mit einer Hash Map gearbeitet, da man so leichter die Richtungen umdrehen kann. Ggf möchte man das invert_0 Template ja auch damit schmücken. Dann wären sie gleich und die Icons würden alle funktionieren.

den Parameter "new_fw" habe ich von den alten Shellys übernommen. Ich weiß bisher nicht aus welchem Zweig die Info kommt. Auch die IP Infos sehe ich bei mir nicht. Selbst im MQTT Explorer wird es mir nicht angezeigt. Egal ob bei Shelly1PLUS oder 1PLUS.
UPDATE: Dafür muss ein status_update erfolgen.

Ggf. möchte jemand noch den "... notwendigen Reboot durchführen" Infotext/Link drin haben. Diesen finde ich bei den 1PLUS Shelly im Template echt gut. Hatte ich nur bisher zu wenig Zeit für.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

UPDATE:

Alternativ kann man auch mal komplett ein wenig aufräumen.
Hier würde ich persönlich die readingList anpassen und RPC rauß nehmen. Steht sonst alles doppelt in den Readings.
Anbei nochmal ein komplettes Gerät:

RAW (mit notwendiger Reboot Text/Link wie bei Shelly 1PLUS(PM)):
defmod MQTT2_shellyplus2pm_441793a7c6a0 MQTT2_DEVICE shellyplus2pm_441793a7c6a0
attr MQTT2_shellyplus2pm_441793a7c6a0 cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr MQTT2_shellyplus2pm_441793a7c6a0 comment Shelly Plus 2 PM in Roller-Mode. 0=opened / 100=closed
attr MQTT2_shellyplus2pm_441793a7c6a0 devStateIcon { \
my $amp = ReadingsVal($name,"online","false") eq "false" \
? "rot" \
: ReadingsVal($name,"new_fw","false") eq "true" \
? "gelb" \
: "gruen";;\
my $con = (ReadingsVal($name, "state", "undef") =~ /unlocked|locked|stopped/) \
? ReadingsVal($name, "pct", "undef") \
: ReadingsVal($name, "state", "undef");;\
my $pic = $con eq "up"\
? 'fts_shutter_up@red' \
: $con eq "down" \
? 'fts_shutter_down@red' \
: $con eq 100\
? 'fts_shutter_100' \
: $con =~ /(\d)\d/ ? 'fts_shutter_'.$1.'0' \
: $con =~ /\b\d\b/ ? 'fts_shutter_10' \
: 'fts_shutter_updown';;\
my $reb = ReadingsVal($name,"sys_restart_required","false") eq "true"\
? "<a href=\"/fhem?cmd.dummy=set $name x_reboot&XHR=1\"> ... notwendigen Reboot durchführen</a>"\
: "";;\
my $show = "$amp" eq "gelb" \
? "<a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage("10px-kreis-".$amp)."</a>" \
: "<a href=\"http://".ReadingsVal($name,"wifi_sta_ip","none")." \"target=\"_blank\">".FW_makeImage("10px-kreis-".$amp)."</a>";;\
"<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\"></a>".FW_makeImage($pic)." $reb</div>" \
}
attr MQTT2_shellyplus2pm_441793a7c6a0 devicetopic shellyplus2pm-441793a7c6a0
attr MQTT2_shellyplus2pm_441793a7c6a0 event-on-change-reading .*
attr MQTT2_shellyplus2pm_441793a7c6a0 genericDeviceType blind
attr MQTT2_shellyplus2pm_441793a7c6a0 group Rollo
attr MQTT2_shellyplus2pm_441793a7c6a0 jsonMap status_state:state status_current_pos:pct status_temperature_tC:temperature
attr MQTT2_shellyplus2pm_441793a7c6a0 model kai_shellyPlus_2pm_roller_invert_1
attr MQTT2_shellyplus2pm_441793a7c6a0 readingList $DEVICETOPIC/online:.* online\
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $DEVICETOPIC/status/cover_0:.* { $EVENT =~ s/(opening)/down/g;; $EVENT =~ s/(closing)/up/g;; $EVENT =~ s/(closed)/unlocked/g;; $EVENT =~ s/(open)/locked/g;; json2nameValue($EVENT, 'status_', $JSONMAP) }\
  $DEVICETOPIC/events/rpc:.* {}\
  $DEVICETOPIC/status/cloud:.* { json2nameValue($EVENT) }\
  $DEVICETOPIC/status:.* {}\
  $DEVICETOPIC/status/ble:.* { json2nameValue($EVENT, 'ble_', $JSONMAP) }\
  $DEVICETOPIC/status/wifi:.* { json2nameValue($EVENT, 'wifi_', $JSONMAP) }\
  $DEVICETOPIC/status/ws:.* { json2nameValue($EVENT, 'ws_', $JSONMAP) }\
shellyplus2pm_441793a7c6a0:shellyplus2pm-441793a7c6a0/status/input_0:.* { json2nameValue($EVENT) }\
shellyplus2pm_441793a7c6a0:shellyplus2pm-441793a7c6a0/status/input_1:.* { json2nameValue($EVENT) }
attr MQTT2_shellyplus2pm_441793a7c6a0 setList close:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Open","params": {"id":0}}\
  open:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Close","params": {"id":0}}\
  half:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":50}}\
  stop:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Stop","params": {"id":0}}\
  pct:slider,0,1,100 $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":$EVTPART1}}\
  x_status_update:noArg $DEVICETOPIC/command status_update\
  x_update:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Update","params": {"stage":"stable"}}\
  x_reboot:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Reboot"}\
  x_eco:true,false $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Sys.SetConfig","params": {"config": {"device": {"eco_mode": $EVTPART1}}}}
attr MQTT2_shellyplus2pm_441793a7c6a0 setStateList open close half stop pct
attr MQTT2_shellyplus2pm_441793a7c6a0 webCmd :open:close:half:stop:pct

Was habe ich hier getan?
Da Allterco mich irgendwie ärgern möchte, haben die den MQTT Verkehr mal wieder super benutzerfreundlich gestaltet und ich update dieses Post schon zum x-ten mal.
Nun habe ich aber alles getestet und es läuft bis in die letzte Ecke. Ich habe in der readingList bei cover_0 ein suchen und ersetzen, welcher die Worte ändert, da diese sonst durch den weiteren Suchverlauf wieder geändert würden. Im devStateicon (damit auch angezeigt wird, wenn das Rollo fährt) habe ich pct und state als Indikator.
Erklärung mit einer Message aus dem Zweig "status":
{
  "id": 0,
  "source": "limit_switch",
  "state": "closed",
  "apower": 0,
  "voltage": 233.1,
  "current": 0,
  "pf": 0,
  "aenergy": {
    "total": 63.569,
    "by_minute": [
      0,
      0,
      0
    ],
    "minute_ts": 1682149859
  },
  "temperature": {
    "tC": 46.7,
    "tF": 116.1
  },
  "pos_control": true,
  "current_pos": 0
}

Hier ist state auf "closed". Dies steht nur da, wenn das Rollo zu 100 auf der Position ist.
Gleiches umgekehrt. Dann steht in state "open".
Sollte das Rollo auf einer Zahl zwischen 1-99 stehen, steht in state, "stopped".
Wenn das Rollo fährt, steht in state entweder closing oder opening.

So funktioniert alles aber es geht sicher besser und man weiß nie mit welchem FW Update das wieder geändert wird. Ich habe es mit der, zur Zeit, aktuellen Version )20230308-091102/0.14.1-g22a4cb7) vom 2PLUSpm getestet.

Hinzugefügt: status_update in setList. Ist wie bei GEN1 das announce.

Gruß,
87Insane

87insane

@Beta-User und ggf. auch interessant für Andere: Anbei ein fertiges Template für Roller Invert 1. Hier bekommt man auch die IP usw wieder gesendet, da es am Ende noch ein set x_status_update macht. Ist wie früher das announce bei GEN1 Shelly.
Hier muss man die Reihenfolge vom Template und den Namen noch anpassen. Das entspringt meiner eigenen Template Datei:

#### Shelly Plus 2 PM using original firmware in roller mode.
name:-kai_shellyPlus_2pm_roller_invert_1
filter:TYPE=MQTT2_DEVICE
desc:Early version of the template - for second generation shelly devices (names with "plus", with power measurement). NOTE: requires to activate generic status update in firmware settings (if not available: reset device to factory defaults) and activation of the roller mode.<br>NOTE: Please wait some seconds to allow Shelly device to complete reboot.
order:000000
set DEVICE attrTemplate -kai_shellyPlus_2pm_roller_invert_0 \CALLSPEECHRECOGN=0
par:DEV_TPC;Shelly name in the topic;{ AttrVal('DEVICE','devicetopic',AttrVal('DEVICE','readingList','')) =~ m<(shellies/[^/]+|shellyp(lus|ro4pm)[^/:_]{4,}+)> ? $1 : undef }
par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 0 }
par:ICON;ICON as set, defaults to fts_shutter;{ AttrVal('DEVICE','icon','fts_shutter') }
attr DEVICE devicetopic DEV_TPC
attr DEVICE comment Shelly Plus 2 PM in Roller-Mode. 0=opened / 100=closed
attr DEVICE devStateIcon { \
my $amp = ReadingsVal($name,"online","false") eq "false" \
? "rot" \
: ReadingsVal($name,"new_fw","false") eq "true" \
? "gelb" \
: "gruen";\
my $con = (ReadingsVal($name, "state", "undef") =~ /unlocked|locked|stopped/) \
? ReadingsVal($name, "pct", "undef") \
: ReadingsVal($name, "state", "undef");\
my $pic = $con eq "up"\
? 'fts_shutter_up@red' \
: $con eq "down" \
? 'fts_shutter_down@red' \
: $con eq 100\
? 'fts_shutter_100' \
: $con =~ /(\d)\d/ ? 'fts_shutter_'.$1.'0' \
: $con =~ /\b\d\b/ ? 'fts_shutter_10' \
: 'fts_shutter_updown';\
my $reb = ReadingsVal($name,"sys_restart_required","false") eq "true"\
? "<a href=\"/fhem?cmd.dummy=set $name x_reboot&XHR=1\"> ... notwendigen Reboot durchführen</a>"\
: "";\
my $show = "$amp" eq "gelb" \
? "<a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage("10px-kreis-".$amp)."</a>" \
: "<a href=\"http://".ReadingsVal($name,"wifi_sta_ip","none")." \"target=\"_blank\">".FW_makeImage("10px-kreis-".$amp)."</a>";\
"<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\"></a>".FW_makeImage($pic)." $reb</div>" \
}
attr DEVICE cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr DEVICE webCmd :open:close:half:stop:pct
attr DEVICE jsonMap status_state:state status_current_pos:pct status_temperature_tC:temperature
attr DEVICE readingList $\DEVICETOPIC/online:.* online\
  $\DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, 'mqtt_', $JSONMAP) }\
  $\DEVICETOPIC/status/sys:.* { json2nameValue($EVENT, 'sys_', $JSONMAP) }\
  $\DEVICETOPIC/status/cover_0:.* { $EVENT =~ s/(opening)/down/g; $EVENT =~ s/(closing)/up/g; $EVENT =~ s/(closed)/unlocked/g; $EVENT =~ s/(open)/locked/g; json2nameValue($EVENT, 'status_', $JSONMAP) }\
  $\DEVICETOPIC/events/rpc:.* {}\
  $\DEVICETOPIC/status/cloud:.* { json2nameValue($EVENT) }\
  $\DEVICETOPIC/status:.* {}\
  $\DEVICETOPIC/status/ble:.* { json2nameValue($EVENT, 'ble_', $JSONMAP) }\
  $\DEVICETOPIC/status/wifi:.* { json2nameValue($EVENT, 'wifi_', $JSONMAP) }\
  $\DEVICETOPIC/status/ws:.* { json2nameValue($EVENT, 'ws_', $JSONMAP) }
attr DEVICE setList close:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Open","params": {"id":0}}\
  open:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Close","params": {"id":0}}\
  half:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":50}}\
  stop:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.Stop","params": {"id":0}}\
  pct:slider,0,1,100 $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Cover.GoToPosition","params": {"id":0,"pos":$EVTPART1}}\
  x_status_update:noArg $\DEVICETOPIC/command status_update\
  x_update:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Update","params": {"stage":"stable"}}\
  x_reboot:noArg $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Shelly.Reboot"}\
  x_eco:true,false $\DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Sys.SetConfig","params": {"config": {"device": {"eco_mode": $EVTPART1}}}}
deletereading -q DEVICE (?!associatedWith|IODev).*
set DEVICE x_status_update
set DEVICE x_reboot
attr DEVICE setStateList open close half stop pct
option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_blind
attr DEVICE model kai_shellyPlus_2pm_roller_invert_1
setreading DEVICE attrTemplateVersion 20230421

Gruß,
87Insane

Beta-User

@87insane:
Im Moment habe ich ehrlich gesagt etwas den Überblick verloren, was die ganzen Vorschläge an den diversen Stellen angeht.

Können wir das irgendwie mal strukturiert durchgehen und v.a. so, dass ich (einfacher) zumindest grob erkennen kann, was wie geändert ist?
(Oder wenigstens eine Liste machen, was wo vorgeschlagen ist).

Und an die anderen stillen Mitleser: Ich habe diese Geräte alle nicht und kann daher nicht beurteilen, ob das "allgemein wünschenswert" ist...
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

87insane

#39
Guten Morgen,

ja.

Ich versuche das mal aufzulisten:
- RPC Channel rauß genommen. Im Shelly selber sollte man zwar "Enable RPC over MQTT" eingeschaltet haben aber "RPC status notifications over MQTT" muss nicht sein. Die beiden RPC Zweige innerhalb von FHEM habe ich bei mir rauß geschmissen in der readingList. Diese senden nur unnötige und doppelte Werte. (würde ich bei Shelly PLUS1/PM auch machen)
- devStateIcon habe ich angepasst. Denke mal dazu gibt es soweit keine Fragen.
- $\DEVICETOPIC/status/cover_0:.* habe ich angepasst. Hier bekomme ich leider sonst keine sauberen Werte rauß. Wenn es an der Stelle einen besseren Weg gibt, gerne her damit :)
- Aufgrund von invert_1 habe ich die setList angepasst. close ist open und umgekehrt.
- Hinzu habe ich den Befehl x_status_update eingefügt. Dieser ist wie früher das announce und holt beim Shelly sowas wie die IP Adresse usw ab. Daher habe ich im Template auch den Befehl mit eingefügt.
- jsonMap habe ich dementsprechend aufgeräumt

Hoffe ich habe hier nichts vergessen, stehe aber für Fragen, gerne bereit.

EDIT: Ich persönlich würde auch "temperature" vom Shelly Chip, nicht in Temperature schreiben. Sondern in chip_temperature oder so. Denn, wer mit z.B. Alexa arbeitet, wird automatisch das mapping zur Temperatur haben. Fragt man Alexa also nach der Raum Temperatur, wird sie entweder sagen, es gibt mehrere Geräte die das könnnen.... Oder sie Antwortet mit "der Raum 123, hat eine Temperatur von 55.7 °C". Beides ist suboptimal. Daher in der jsonMap erweitern um: switch_temperature_tC:chip_temperature

Gruß,
87Insane

Byllyy

Hallo zusammen,
ich versuche einen Shelly Plus 2PM im Split-Mode zu konfigurieren. Nach einschalten von MQTT wird mir in Fhem auch ein Device angelegt. Wenn ich nun das
Template "Shelly Plus 2PM_Split" nutze werden auch zwei Devices angelegt. Diese funktionieren aber leider nicht. Ist das Template noch im Aufbau oder mache
ich einen Fehler. Wenn nützlich, schicke ich gerne weite Daten der Devices.
Danke für einen Tipp,
Byllyy

87insane

Sende doch mal ein List der Geräte... Und was genau funktioniert nicht?

ThomasL

Hallo zusammen,
bei mir klappt das "Plus 2PM Split" auch nicht.
Es wird ein neues Device angelegt, wo gar keine Readings enthalten sind.
In dem anderem ist alles enthalten, Readings werden angezeigt, man kann aber nichts schalten.
Ich komme da nicht weiter.
Könnte mich da jemand unterstützen?
Was muss ich dafür posten?

Hier mal die Definition und die REadings:
Danke
Thomas

defmod MQTT2_PoolpumpeLampe MQTT2_DEVICE PoolpumpeLampe
attr MQTT2_PoolpumpeLampe alias MQTT2_PoolpumpeLampe
attr MQTT2_PoolpumpeLampe readingList PoolpumpeLampe:PoolpumpeLampe/events/rpc:.* { json2nameValue($EVENT) }
attr MQTT2_PoolpumpeLampe room MQTT2_DEVICE

IODev
MQTT2_FHEM_Server
2023-07-01 15:53:00
dst
PoolpumpeLampe/events
2023-07-01 16:35:00
method
NotifyStatus
2023-07-01 16:35:00
params_switch_0_aenergy_by_minute_1
0.000
2023-07-01 16:35:00
params_switch_0_aenergy_by_minute_2
0.000
2023-07-01 16:35:00
params_switch_0_aenergy_by_minute_3
0.000
2023-07-01 16:35:00
params_switch_0_aenergy_minute_ts
1688222099
2023-07-01 16:35:00
params_switch_0_aenergy_total
67536.336
2023-07-01 16:35:00
params_switch_0_apower
0
2023-07-01 15:58:26
params_switch_0_current
0
2023-07-01 15:58:26
params_switch_0_id
0
2023-07-01 16:35:00
params_switch_0_output
false
2023-07-01 15:58:26
params_switch_0_pf
0
2023-07-01 15:58:26
params_switch_0_source
WS_in
2023-07-01 15:58:26
params_switch_1_aenergy_by_minute_1
0.000
2023-07-01 16:35:00
params_switch_1_aenergy_by_minute_2
0.000
2023-07-01 16:35:00
params_switch_1_aenergy_by_minute_3
0.000
2023-07-01 16:35:00
params_switch_1_aenergy_minute_ts
1688222099
2023-07-01 16:35:00
params_switch_1_aenergy_total
101.575
2023-07-01 16:35:00
params_switch_1_apower
0
2023-07-01 15:58:19
params_switch_1_current
0
2023-07-01 15:58:19
params_switch_1_id
1
2023-07-01 16:35:00
params_switch_1_output
false
2023-07-01 15:58:19
params_switch_1_pf
0
2023-07-01 15:58:19
params_switch_1_source
WS_in
2023-07-01 15:58:19
params_temperature_100_id
100
2023-07-01 16:33:30
params_temperature_100_tC
24.25
2023-07-01 16:33:30
params_temperature_100_tF
75.65
2023-07-01 16:33:30
params_temperature_101_id
101
2023-07-01 16:14:40
params_temperature_101_tC
23.81
2023-07-01 16:14:40
params_temperature_101_tF
74.86
2023-07-01 16:14:40
params_temperature_102_id
102
2023-07-01 16:31:10
params_temperature_102_tC
26.56
2023-07-01 16:31:10
params_temperature_102_tF
79.81
2023-07-01 16:31:10
params_ts
1688222100.24
2023-07-01 16:35:00
src
shellyplus2pm-c049ef8a73b4
2023-07-01 16:35:00
subscriptions
PoolpumpeLampe/command PoolpumpeLampe/command/switch:0 PoolpumpeLampe/command/switch:1 PoolpumpeLampe/command/sys PoolpumpeLampe/rpc shellies/command


rudolfkoenig

ZitatWas muss ich dafür posten?
Am besten den Inhalt von "Copy for forum.fhem.de", unten in der Detailansicht.

ThomasL

define MQTT2_PoolpumpeLampe MQTT2_DEVICE PoolpumpeLampe
attr MQTT2_PoolpumpeLampe alias MQTT2_PoolpumpeLampe
attr MQTT2_PoolpumpeLampe readingList PoolpumpeLampe:PoolpumpeLampe/events/rpc:.* { json2nameValue($EVENT) }\
PoolpumpeLampe:PoolpumpeLampe/online:.* online
attr MQTT2_PoolpumpeLampe room MQTT2_DEVICE
#  CID        PoolpumpeLampe
#  DEF        PoolpumpeLampe
#  FUUID      64a02fbc-f33f-55bc-18d7-632a7c76cb2e20fd
#  IODev      MQTT2_FHEM_Server
#  LASTInputDev MQTT2_FHEM_Server
#  MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.8.189_53421
#  MQTT2_FHEM_Server_MSGCNT 886
#  MQTT2_FHEM_Server_TIME 2023-07-02 00:15:00
#  MSGCNT    886
#  NAME      MQTT2_PoolpumpeLampe
#  NR        393
#  STATE      ???
#  TYPE      MQTT2_DEVICE
#  eventCount 887
#  READINGS:
#    2023-07-01 17:41:08  IODev          MQTT2_FHEM_Server
#    2023-07-02 00:15:00  dst            PoolpumpeLampe/events
#    2023-07-02 00:15:00  method          NotifyStatus
#    2023-07-01 19:49:09  online          true
#    2023-07-01 19:49:09  params_cloud_connected false
#    2023-07-01 17:12:34  params_events_1_component input:0
#    2023-07-01 17:12:34  params_events_1_event single_push
#    2023-07-01 17:12:34  params_events_1_id 0
#    2023-07-01 17:12:34  params_events_1_ts 1688224354.41
#    2023-07-01 19:49:09  params_input_0_id 0
#    2023-07-01 19:49:09  params_input_100_id 100
#    2023-07-01 19:49:09  params_input_100_state false
#    2023-07-01 19:49:09  params_input_1_id 1
#    2023-07-01 19:49:09  params_mqtt_connected true
#    2023-07-02 00:15:00  params_switch_0_aenergy_by_minute_1 0.000
#    2023-07-02 00:15:00  params_switch_0_aenergy_by_minute_2 0.000
#    2023-07-02 00:15:00  params_switch_0_aenergy_by_minute_3 0.000
#    2023-07-02 00:15:00  params_switch_0_aenergy_minute_ts 1688249699
#    2023-07-02 00:15:00  params_switch_0_aenergy_total 68250.344
#    2023-07-01 19:49:09  params_switch_0_apower 0.0
#    2023-07-01 19:49:09  params_switch_0_current 0.000
#    2023-07-02 00:15:00  params_switch_0_id 0
#    2023-07-01 19:49:09  params_switch_0_output false
#    2023-07-01 19:49:09  params_switch_0_pf 0.00
#    2023-07-01 19:49:09  params_switch_0_source loopback
#    2023-07-01 21:39:45  params_switch_0_temperature_tC 51.70
#    2023-07-01 21:39:45  params_switch_0_temperature_tF 125.06
#    2023-07-01 19:49:09  params_switch_0_voltage 228.3
#    2023-07-02 00:15:00  params_switch_1_aenergy_by_minute_1 0.000
#    2023-07-02 00:15:00  params_switch_1_aenergy_by_minute_2 0.000
#    2023-07-02 00:15:00  params_switch_1_aenergy_by_minute_3 0.000
#    2023-07-02 00:15:00  params_switch_1_aenergy_minute_ts 1688249699
#    2023-07-02 00:15:00  params_switch_1_aenergy_total 101.575
#    2023-07-01 19:49:09  params_switch_1_apower 0.0
#    2023-07-01 19:49:09  params_switch_1_current 0.000
#    2023-07-02 00:15:00  params_switch_1_id 1
#    2023-07-01 19:49:09  params_switch_1_output false
#    2023-07-01 19:49:09  params_switch_1_pf 0.00
#    2023-07-01 19:49:09  params_switch_1_source WS_in
#    2023-07-01 21:39:45  params_switch_1_temperature_tC 51.70
#    2023-07-01 21:39:45  params_switch_1_temperature_tF 125.06
#    2023-07-01 19:49:09  params_switch_1_voltage 228.4
#    2023-07-01 19:49:09  params_sys_available_updates_stable_version 0.14.1
#    2023-07-01 19:49:09  params_sys_cfg_rev 29
#    2023-07-01 19:49:09  params_sys_fs_free 86016
#    2023-07-01 19:49:09  params_sys_fs_size 458752
#    2023-07-01 19:49:09  params_sys_kvs_rev 1
#    2023-07-01 19:49:09  params_sys_mac  C049EF8A73B4
#    2023-07-01 19:49:09  params_sys_ram_free 137300
#    2023-07-01 19:49:09  params_sys_ram_size 242348
#    2023-07-01 19:49:09  params_sys_restart_required false
#    2023-07-01 19:49:09  params_sys_schedule_rev 3
#    2023-07-01 19:49:09  params_sys_time 19:49
#    2023-07-01 19:49:09  params_sys_unixtime 1688233748
#    2023-07-01 19:49:09  params_sys_uptime 14330
#    2023-07-01 19:49:09  params_sys_webhook_rev 0
#    2023-07-02 00:00:19  params_temperature_100_id 100
#    2023-07-02 00:00:19  params_temperature_100_tC 22.88
#    2023-07-02 00:00:19  params_temperature_100_tF 73.18
#    2023-07-02 00:04:09  params_temperature_101_id 101
#    2023-07-02 00:04:09  params_temperature_101_tC 22.56
#    2023-07-02 00:04:09  params_temperature_101_tF 72.61
#    2023-07-01 23:58:34  params_temperature_102_id 102
#    2023-07-01 23:58:34  params_temperature_102_tC 24.06
#    2023-07-01 23:58:34  params_temperature_102_tF 75.31
#    2023-07-02 00:15:00  params_ts      1688249700.12
#    2023-07-01 19:49:09  params_wifi_rssi -50
#    2023-07-01 19:49:09  params_wifi_ssid ThomasKabel
#    2023-07-01 19:49:09  params_wifi_sta_ip 192.168.8.189
#    2023-07-01 19:49:09  params_wifi_status got ip
#    2023-07-01 19:49:09  params_ws_connected false
#    2023-07-02 00:15:00  src            shellyplus2pm-c049ef8a73b4
#    2023-07-01 17:42:07  subscriptions  PoolpumpeLampe/command PoolpumpeLampe/command/switch:0 PoolpumpeLampe/command/switch:1 PoolpumpeLampe/command/sys PoolpumpeLampe/rpc shellies/command
#
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:41:08 IODev MQTT2_FHEM_Server
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 dst PoolpumpeLampe/events
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 method NotifyStatus
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 online true
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_cloud_connected false
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:12:34 params_events_1_component input:0
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:12:34 params_events_1_event single_push
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:12:34 params_events_1_id 0
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:12:34 params_events_1_ts 1688224354.41
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_input_0_id 0
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_input_100_id 100
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_input_100_state false
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_input_1_id 1
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_mqtt_connected true
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_aenergy_by_minute_1 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_aenergy_by_minute_2 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_aenergy_by_minute_3 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_aenergy_minute_ts 1688249699
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_aenergy_total 68250.344
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_apower 0.0
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_current 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_0_id 0
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_output false
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_pf 0.00
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_source loopback
setstate MQTT2_PoolpumpeLampe 2023-07-01 21:39:45 params_switch_0_temperature_tC 51.70
setstate MQTT2_PoolpumpeLampe 2023-07-01 21:39:45 params_switch_0_temperature_tF 125.06
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_0_voltage 228.3
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_aenergy_by_minute_1 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_aenergy_by_minute_2 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_aenergy_by_minute_3 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_aenergy_minute_ts 1688249699
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_aenergy_total 101.575
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_apower 0.0
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_current 0.000
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_switch_1_id 1
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_output false
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_pf 0.00
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_source WS_in
setstate MQTT2_PoolpumpeLampe 2023-07-01 21:39:45 params_switch_1_temperature_tC 51.70
setstate MQTT2_PoolpumpeLampe 2023-07-01 21:39:45 params_switch_1_temperature_tF 125.06
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_switch_1_voltage 228.4
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_available_updates_stable_version 0.14.1
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_cfg_rev 29
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_fs_free 86016
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_fs_size 458752
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_kvs_rev 1
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_mac C049EF8A73B4
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_ram_free 137300
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_ram_size 242348
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_restart_required false
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_schedule_rev 3
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_time 19:49
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_unixtime 1688233748
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_uptime 14330
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_sys_webhook_rev 0
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:00:19 params_temperature_100_id 100
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:00:19 params_temperature_100_tC 22.88
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:00:19 params_temperature_100_tF 73.18
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:04:09 params_temperature_101_id 101
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:04:09 params_temperature_101_tC 22.56
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:04:09 params_temperature_101_tF 72.61
setstate MQTT2_PoolpumpeLampe 2023-07-01 23:58:34 params_temperature_102_id 102
setstate MQTT2_PoolpumpeLampe 2023-07-01 23:58:34 params_temperature_102_tC 24.06
setstate MQTT2_PoolpumpeLampe 2023-07-01 23:58:34 params_temperature_102_tF 75.31
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 params_ts 1688249700.12
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_wifi_rssi -50
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_wifi_ssid ThomasKabel
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_wifi_sta_ip 192.168.8.189
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_wifi_status got ip
setstate MQTT2_PoolpumpeLampe 2023-07-01 19:49:09 params_ws_connected false
setstate MQTT2_PoolpumpeLampe 2023-07-02 00:15:00 src shellyplus2pm-c049ef8a73b4
setstate MQTT2_PoolpumpeLampe 2023-07-01 17:42:07 subscriptions PoolpumpeLampe/command PoolpumpeLampe/command/switch:0 PoolpumpeLampe/command/switch:1 PoolpumpeLampe/command/sys PoolpumpeLampe/rpc shellies/command