#erledigt# Shelly pro4pm per MQTT2 gleiche Werte auf 3 Kanälen

Begonnen von Helmi55, 01 Mai 2022, 19:36:34

Vorheriges Thema - Nächstes Thema

Helmi55

n'Abend
Ich hoffe ich habe "show me" richtig verstanden.
Shellypro4pm mit FW 0.10.1
FHEM: 26020 fhem.pl259972022-04-2518

Beim shelly-plug-s wo es auch nicht mehr funktioniert, hat ein autocreate 0 nichts gebracht. Egal die sind just for fun.

Soll ich das Thema noch offen lassen falls Rudi mitliest oder soll ich es auf erledigt setzen?

Nochmals Danke Nice eve
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Guten Morgen
habe heute im Log sehr viele Einträge vom Kanal 2 (der mit dem roten Rufzeichen) gefunden:
2022.05.06 08:40:42 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:41:44 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:42:46 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:43:49 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:44:52 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:45:54 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:46:57 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:48:00 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:49:02 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 08:50:05 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off


Hab dann auf verbose 5 gestellt und diese Meldungen bekommen:

22.05.06 09:33:46 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 09:33:46 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 fhem2shelly/rpc => {}
2022.05.06 09:34:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/status/switch_1 => { json2nameValue($EVENT, '', $JSONMAP) }
2022.05.06 09:34:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:49 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 09:34:49 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 fhem2shelly/rpc => {}
2022.05.06 09:34:59 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:34:59 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/status/switch_1 => { json2nameValue($EVENT, '', $JSONMAP) }
2022.05.06 09:34:59 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:35:51 3: MQTT2_DEVICE set MQTT2_shellypro4pm_083af27b3304_CH2 off
2022.05.06 09:35:51 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 fhem2shelly/rpc => {}
2022.05.06 09:36:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/status/switch_1 => { json2nameValue($EVENT, '', $JSONMAP) }
2022.05.06 09:36:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:00 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }
2022.05.06 09:36:29 4: MQTT2_DEVICE_Parse: MQTT2_shellypro4pm_083af27b3304_CH2 shellypro4pm-083af27b3304/events/rpc => { return if $EVENT !~ m{switch:1}; $EVENT =~ s/"output":true/"state":"on"/g; $EVENT =~ s/"output":false/"state":"off"/g; json2nameValue($EVENT,'',$JSONMAP) }


Dir sagt das sicher was oder?

LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Der set-Befehl kommt nicht aus dem Modul, das ist irgendwas anderes, das ca. alle Minute der Ansicht ist, dass es den Aktor schalten muss (notify/DOIF,...).

Komisch ist auch, dass es (in den ersten paar Zeilen ablesbar) 4 Sekunden zu dauern scheint, bis auf /events/rpc das "habe geschaltet" ausgewertet wird, obwohl auf dem anderen "hab's bekommen"-Topic direkt die Rückmeldung da war. Kann es sein, dass dein FHEM sehr beschäftigt ist? ((Zu) viele Events+Auswertungen?)

Ist denn das rote Ausrufezeichen noch da?

Ggf. kannst du auch mal ein update machen und das aktualisierte attrTemplate ausprobieren. Vorher aber alles löschen bis auf Kanal 1 (ggf. ein raw-list als Sicherungskopie irgendwohin wegspeichern).

Zitat von: Helmi55 am 05 Mai 2022, 18:18:58
Ich hoffe ich habe "show me" richtig verstanden.
Shellypro4pm mit FW 0.10.1
FHEM: 26020 fhem.pl259972022-04-2518
eher "version MQTT2.*". Sollte in etwa so aussehen:
Zitat00_MQTT2_CLIENT.pm 25958 2022-04-14 13:35:48Z rudolfkoenig
10_MQTT2_DEVICE.pm 25889 2022-03-27 10:39:22Z rudolfkoenig
00_MQTT2_SERVER.pm 25999 2022-04-26 09:22:19Z rudolfkoenig

Zitat
Beim shelly-plug-s wo es auch nicht mehr funktioniert, hat ein autocreate 0 nichts gebracht. Egal die sind just for fun.
"autocreate 0" verhindert "nur", dass neue readingList-Einträge gemacht werden, repariert aber keine "kaputten". Wenn du dazu eine Frage hast, bitte einen separaten Thread eröffnen und ein raw-list und einen "Satz" MQTT-Messages liefern, die scheinbar nicht korrekt ausgwertet werden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

Servus

Ja das Ausrufungszeichen ist noch da. Auch mit der neuen Version. Habe backup wieder eingespielt.

Ja ich habe eine DOIF zur Steuerung der Solarpumpe (das werkelt jetzt aber schon einige Jahre brav dahin. Allerdings vorher mit 4fach Homematic)
defmod di_SOLAR DOIF ([08:00-22:00] and [PoolMaster] eq "on" and [du_Poolheizung] eq "Solar" and ([SolarDiff:state]>[Hysterese:state])) (set MQTT2_shellypro4pm_083af27b3304_CH2 on) DOELSE (set MQTT2_shellypro4pm_083af27b3304_CH2 off)
attr di_SOLAR alias di_SOLAR
attr di_SOLAR do always
attr di_SOLAR room Steuerung
attr di_SOLAR wait 0:60



Wenn Ich "Version MQTT2.*" eingebe sieht das so aus:

Laut "top" scheint alles im grünen Bereich zu sein?

Das mit dem plug-s lass ich im Moment lieber. Habe dich hier schon genug gequält

Danke
Helmut



System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Vermutlich ist das DOIF nicht gut (ich kann das nicht), oder schaltet irgend was anderes zwischendurch den CH2 aus? (FILTER wäre mein Suchwort ("help devspec"), oder vielleicht (!) das do always weg).

Jedenfalls war gestern "state" auf "off" in Kanal 2, also prinzipiell scheint das zu klappen. In deinem Auszug von heute morgen ist leider nicht zu erkennen, welche Messages gesendet worden waren, gestern war die DEF noch mit CID (was vermutlich mit der Grund war, warum die Kanal-Devices per "autocreate" bedient worden waren.
Letzteres ist eine Sache, die der aktuelle attrTemplate-Satz anders macht, aber das scheint ja nicht geholfen zu haben (MQTT-traffic+zugehöriges raw-list wären hilfreich gewesen).

"top" sieht ok, aus, aber inwieweit das ein verlässlicher Indikator ist, kann ich nicht sagen. Es kann zum einen sein, dass FHEM einfach wartet, weil irgendwas blokierendes aufgerufen wird, es kann ein Netzwerk-Problem sein, das für die 4 Sekunden verantwortlich ist, es kann eine Missinterpretation meinerseits sein, whatever. Schau dir einfach eine Zeitlang den Event-Monitor an, und wenn dir da schwindelig wird, dürfte was im Argen liegen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Damian

Du hast hier bewusst das Wiederholen eines Befehls mit do always eingeschaltet, ich gehe davon aus, dass [SolarDiff:state] ständig deine Definition triggert und damit das Einschalten wiederholt. Beim DOIF ist die Wiederholung deswegen standardmäßig bewusst nicht gesetzt.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Helmi55

Hallo Damian,

sorry das verstehe ich jetzt nicht. Ich dachte do always muss gesetzt sein damit das DOIF immer wieder schaltet.
Mein Ziel ist es, jedesmal wenn die SolarDiff größer der festgelegten Hysterese (ja der Ausdruck ist angeblich nicht richtig - wurde schon diskutiert) ist, das sich die Solarpumpe einschaltet und danach wieder aus.
Beim Wiedererreichen gehts von vorne wieder los.....

Danke für deine Hilfe
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Damian

ja, du willst aber nicht zwei mal hintereinander einschalten. Dazwischen muss erst mal ausgeschaltet werden, damit ein erneutes Einschalten Sinn macht. Genau das macht ein DOIF ohne do always in deinem Fall.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Helmi55

Ok. Morgen solls wieder Sonne geben. Da werde ich das testen.
Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Guten Morgen.
gestern war etwas Sonne und danke ja es hat funktioniert.
Bis auf ein mal. Da war die Diff schon wesentlich über den 5 Grad und hat nicht geschaltet?

Wenn ich darf häng ich hier nochmals das List der SolarDiff
List SolarDiff
Internals:
   DEF        ##
   FUUID      608ff6ec-f33f-b033-7ac4-156092afc9837cfd
   MODEL      FHEM
   NAME       SolarDiff
   NOTIFYDEV  PoolSensor,SolarSensor,global
   NR         492
   NTFY_ORDER 50-SolarDiff
   STATE      12.8
   TYPE       DOIF
   READINGS:
     2022-05-03 14:14:28   cmd             0
     2022-05-03 14:14:28   mode            enabled
     2022-05-08 16:55:24   state           12.75
   Regex:
     STATE:
       PoolSensor:
         STATE:
           temperature ^PoolSensor$:^temperature:
       SolarSensor:
         STATE:
           temperature ^SolarSensor$:^temperature:
     accu:
     collect:
   condition:
   do:
     0:
   helper:
     NOTIFYDEV  PoolSensor,SolarSensor,global
     event      temperature: 30.6875
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev SolarSensor
     DOIF_eventa:
       12.75
     DOIF_eventas:
       state: 12.75
     triggerEvents:
       temperature: 30.6875
     triggerEventsState:
       temperature: 30.6875
   perlblock:
   uiState:
   uiTable:
Attributes:
   group      Poolsteuerung,Temperatur
   room       Poolsteuerung,Steuerung
   state      {([SolarSensor:temperature]-[PoolSensor:temperature])}
   stateFormat {sprintf("%.1f",ReadingsVal("SolarDiff","state",0))}



Das DOIF
di_Solar  DOIF
defmod di_SOLAR DOIF ([08:00-22:00] and [PoolMaster] eq "on" and [du_Poolheizung] eq "Solar" and ([SolarDiff:state]>[Hysterese:state])) (set MQTT2_shellypro4pm_083af27b3304_CH2 on) DOELSE (set MQTT2_shellypro4pm_083af27b3304_CH2 off)
attr di_SOLAR alias di_SOLAR
attr di_SOLAR room Steuerung
attr di_SOLAR wait 0:60

setstate di_SOLAR cmd_1
setstate di_SOLAR 2022-05-08 16:56:27 Device SolarDiff
setstate di_SOLAR 2022-05-08 16:22:03 cmd 1
setstate di_SOLAR 2022-05-08 16:22:03 cmd_event SolarDiff
setstate di_SOLAR 2022-05-08 16:22:03 cmd_nr 1
setstate di_SOLAR 2022-05-06 15:47:47 e_Hysterese_state 5
setstate di_SOLAR 2022-05-03 15:58:20 e_PoolMaster_STATE on
setstate di_SOLAR 2022-05-08 16:56:27 e_SolarDiff_state 13.0625
setstate di_SOLAR 2022-05-03 14:13:51 mode enabled
setstate di_SOLAR 2022-05-08 16:22:03 state cmd_1
setstate di_SOLAR 2022-05-07 22:00:00 timer_01_c01 08.05.2022 08:00:00
setstate di_SOLAR 2022-05-07 22:00:00 timer_02_c01 08.05.2022 22:00:00
setstate di_SOLAR 2022-05-08 16:05:24 wait_timer no timer


und noch die SolarPumpe

SolarPumpe
defmod MQTT2_shellypro4pm_083af27b3304_CH2 MQTT2_DEVICE MQTT2_shellypro4pm_083af27b3304_CH2
attr MQTT2_shellypro4pm_083af27b3304_CH2 alias Solarpumpe
attr MQTT2_shellypro4pm_083af27b3304_CH2 autocreate 0
attr MQTT2_shellypro4pm_083af27b3304_CH2 comment Channel 2 for MQTT2_shellypro4pm_083af27b3304, see also MQTT2_shellypro4pm_083af27b3304, MQTT2_shellypro4pm_083af27b3304_CH3 and MQTT2_shellypro4pm_083af27b3304_CH4
attr MQTT2_shellypro4pm_083af27b3304_CH2 devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot': ReadingsVal($name,'new_fw','false') eq 'true' ? '10px-kreis-gelb' : '10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $cons = ReadingsNum($name,'apower',0);; my $total = round(ReadingsNum($name,'aenergy_total',0)/1000,1);; my $temp = ReadingsVal($name,'temperature_tC','-100');; my $ip = ReadingsVal($name,'ip','none');; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a><div>Verbrauch: $cons W / Total: $total kwh / Temp: $temp °C</div>)}
attr MQTT2_shellypro4pm_083af27b3304_CH2 devicetopic shellypro4pm-083af27b3304
attr MQTT2_shellypro4pm_083af27b3304_CH2 event-on-change-reading .*
attr MQTT2_shellypro4pm_083af27b3304_CH2 getList in_mode:noArg in_mode $DEVICETOPIC/rpc {"id": 1,"src":"$DEVICETOPIC", "method": "Switch.GetConfig", "params": {"id": 0}}
attr MQTT2_shellypro4pm_083af27b3304_CH2 icon message_socket
attr MQTT2_shellypro4pm_083af27b3304_CH2 jsonMap params_switch_1_state:state params_switch_1_aenergy_total:aenergy_total params_switch_1_apower:apower params_switch_1_temperature_tC:temperature params_switch_1_temperature_tF:0
attr MQTT2_shellypro4pm_083af27b3304_CH2 model shellypro4pm
attr MQTT2_shellypro4pm_083af27b3304_CH2 readingList $DEVICETOPIC/online:.* online\
  $DEVICETOPIC/events/rpc:.* { return if $EVENT !~ m{switch:1};; $EVENT =~ s/"output":true/"state":"on"/g;; $EVENT =~ s/"output":false/"state":"off"/g;; json2nameValue($EVENT,'',$JSONMAP) }\
  fhem2shelly/rpc:.* {}\
   $DEVICETOPIC/status/switch.1:.* { json2nameValue($EVENT, '', $JSONMAP) }\
  $DEVICETOPIC/status/mqtt:.* { json2nameValue($EVENT, '', $JSONMAP) }
attr MQTT2_shellypro4pm_083af27b3304_CH2 room MQTT2_DEVICE,Poolsteuerung
attr MQTT2_shellypro4pm_083af27b3304_CH2 setList off:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":1,"on":false}}\
  on:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":1,"on":true}}\
  on-for-timer $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":1,"on":true,"toggle_after":$EVTPART1}}\
  off-for-timer $DEVICETOPIC/rpc {"id":0,"src":"fhem2shelly","method":"Switch.Set","params": {"id":1,"on":false,"toggle_after":$EVTPART1}}
attr MQTT2_shellypro4pm_083af27b3304_CH2 setStateList on off on-for-timer off-for-timer
attr MQTT2_shellypro4pm_083af27b3304_CH2 userReadings aenergy_total_kWh:aenergy_total:.* monotonic {ReadingsNum($name,'aenergy_total',0)/1000.0}, Kosten:aenergy_total_kWh.* { sprintf("%.2f",(ReadingsNum($name,'aenergy_total_kWh',0) + 0.0)*.2);;;;}
attr MQTT2_shellypro4pm_083af27b3304_CH2 webCmd :

setstate MQTT2_shellypro4pm_083af27b3304_CH2 off
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-06 12:18:58 IODev myBroker
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:32 Kosten 1.30
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 aenergy_by_minute_1 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 aenergy_by_minute_2 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 aenergy_by_minute_3 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 aenergy_minute_ts 1652021819
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 aenergy_total 6481.281
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:32 aenergy_total_kWh 6.486334
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 apower 0.0
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:31 associatedWith MQTT2_shellypro4pm_083af27b3304,MQTT2_shellypro4pm_083af27b3304_CH3,MQTT2_shellypro4pm_083af27b3304_CH4
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:31 attrTemplateVersion 20220115
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 cfg_rev 10
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-06 12:20:02 connected true
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 current 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 dst shellypro4pm-083af27b3304/events
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:52:59 errors_1 overcurrent
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 fs_free 282624
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 fs_size 524288
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 id 1
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 mac 083AF27B3304
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 method NotifyStatus
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-06 12:20:02 online true
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 output false
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 08:52:09 params_mqtt_connected true
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_aenergy_by_minute_1 11924.032
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_aenergy_by_minute_2 12156.270
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_aenergy_by_minute_3 11976.047
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_aenergy_minute_ts 1651735799
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_aenergy_total 11583.745
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:04:17 params_switch_0_apower 714.5
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:04:44 params_switch_0_current 3.132
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:29:59 params_switch_0_id 0
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:00:01 params_switch_0_pf 0.99
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:00:00 params_switch_0_source MQTT
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:00:00 params_switch_0_state on
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:10:16 params_switch_0_temperature_tC 34.38
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-05 09:10:16 params_switch_0_temperature_tF 93.89
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_switch_1_aenergy_by_minute_1 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_switch_1_aenergy_by_minute_2 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_switch_1_aenergy_by_minute_3 0.000
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_switch_1_aenergy_minute_ts 1652021819
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:33 params_switch_1_current 0
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:22:03 params_switch_1_errors_1 overcurrent
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_switch_1_id 1
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:33 params_switch_1_pf 0
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:33 params_switch_1_source MQTT
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 08:21:58 params_switch_1_voltage 223.5
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 params_ts 1652021820.31
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 pf 0.00
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 ram_free 155192
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 ram_size 238236
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 restart_required false
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 source MQTT
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:09 src shellypro4pm-083af27b3304
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:53:33 state off
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:27:42 temperature 28.57
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 temperature_tC 27.8
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 temperature_tF 82.1
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 time 16:24
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 unixtime 1651674289
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-04 16:24:49 uptime 14
setstate MQTT2_shellypro4pm_083af27b3304_CH2 2022-05-08 16:57:00 voltage 229.5



Ich kann mir nicht erklären warum es in diesem Fall nicht geschaltet hat.

Schönen Wochenstart
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Damian

DOIF hat hier ja geschaltet, bei MQTT-Device kann ich das nicht erkennen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Helmi55

#41
Hallo und guten Tag
also folgendes habe ich herausgefunden.

Seitdem "do always" ausgeschaltet ist, ist auch das rote Rufzeichen verschwunden.

Warum das DOIF schaltet aber das Kommando im Shelly nicht ausgeführt wird dürfte auf eine Meldung im Shelly zusammenhängen
Obwohl die Pumpe nur 800 Watt zieht dürfte der Einschaltstrom höher sein und es kommt ab und zu zu einem "Overcurrent"
Leider lässt sich das im Shelly zur zeit nicht ausschalten - dürfte laut Shelly Forum ein BUG in der SW sein.
Wenn ich allerdings sein set MQTT2_shellypro4pm_083af27b3304_CH2 on ausführe schaltet er wieder????

Jetzt würde mir auf die Schnelle nur einfallen, ein DOIF welches alle 15 min zwischen 08:00 und 20:00 abfragt, ob die SolarDiff > 20Grad ist und einen "on" Befehl sendet?
Könnte das so funktionieren:
defmod di_Solar_check DOIF ([+:15] and [SolarDiff] => 15) (set MQTT2_shellypro4pm_083af27b3304_CH2:FILER=STATE=off on)
attr di_Solar_check do always
attr di_Solar_check room Poolsteuerung




Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

#42
Dass das "do always" hier (nur Schaltbefehle!) was mit einem roten Fragezeichen zu tun haben könnte, halte ich für ziemlich weit hergeholt. Wenn das wirklich so ist, muss noch irgendwas anderes "schräg" sein. Ein einfacher Klick auf das Fragezeichen würde dann ggf. weitere Hinweise liefern.

Vermutlich wäre "do always" (ggf. mit irgendwelchen Waits) im Ausgangs-DOIF besser wie ein weiteres DOIF. Das bedeutet aber nicht, auf die FILTER-Syntax im Schaltbefehl zu verzichten!

Allerdings würde ich dazu neigen, zwei andere Probleme vorrangig anzugehen:
- wenn der Shelly selbst bereits jetzt Probleme meldet, steht zu befürchten, dass er das alles nicht allzu lange mitmacht => andere Hardware sollte her...
- die firmware-Probleme durch irgendeinen würgaround zu umspielen, halte ich auch nicht für die beste Lösung. Ggf. solltest du nach einer downgrade-Möglichkeit fragen, bis die Shelly-Leute die firmware repariert haben...

EDIT: "=>" ist vermutlich auch keine "glückliche Zeichenfolge" an der hier gewählten Stelle ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

#43
Servus nein kein Fragezeichen! Es war im Glühlampensymbol ein rotes "Rufzeichen (!)"

Ja ich brauch im Moment einen Würgaround da ich nächste Woche im Urlaub bin und das sollte das sauber durchlaufen ohne das auf der Solarmatte 50 Grad anstehen.

Was würdest du statt "=>" vorschlagen

PS
Hätte jetzt um 17 Uhr schalten sollen - leider nein
defmod di_Solar_check DOIF ([+:15] and [SolarDiff] => 10) (set MQTT2_shellypro4pm_083af27b3304_CH2:FILER=STATE=off on)
attr di_Solar_check do always
attr di_Solar_check room Poolsteuerung


Wenn ich aber in der Kommando Zeile " set MQTT2_shellypro4pm_083af27b3304_CH2 on" eingebe wird geschaltet?????????

Ich bin am Verzweifeln...

Danke

Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Oh, sorry, da war beim Satzzeichen der Falschlesemodus aktiv...

"=>" ist in Perl häufig eine key-value-Zuweisung, wenn du "größer als" willst, wäre das ">="...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors