Shelly Log-Intervall verlängern

Begonnen von z0lt1, 27 Juli 2021, 08:56:41

Vorheriges Thema - Nächstes Thema

z0lt1

Hallo Zusammen,

ich habe einen Shelly 2.5 über MQTT in FHEM eingebunden. Nun empfange ich alle 30 Sekunden Daten von dem Gerät. Gibt es eine Möglichkeit die Intervalle in denen die Pakete gesendet werden zu verlängern? Alle 3 Minuten würde mir auch reichen.

Anbei die list des devices:
Internals:
   CID        shellyswitch25_483FDA97F672
   DEF        shellyswitch25_483FDA97F672
   DEVICETOPIC pl_Switch.SFA
   FUUID      60eb1c50-f33f-d024-fd79-47f87fdedfd0b0bd
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 339444
   MQTT2_FHEM_Server_TIME 2021-07-27 08:57:36
   MSGCNT     339444
   NAME       pl_Switch.SFA
   NR         236
   STATE      off
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2021-07-12 15:21:51   IODev           MQTT2_FHEM_Server
     2021-07-18 18:47:37   associatedWith  pl_Switch.Chlorinator
     2021-07-12 15:38:07   attrTemplateVersion 20210126
     2021-07-17 17:00:52   event           
     2021-07-17 17:00:52   event_cnt       0
     2021-07-26 17:01:30   fw_ver          20210429-100559/v1.10.4-g3f94cd7
     2021-07-26 17:01:30   id              shellyswitch25-483FDA97F672
     2021-07-27 08:57:36   input0          1
     2021-07-26 17:01:30   ip              192.168.178.80
     2021-07-26 22:27:00   loadState       off
     2021-07-26 17:01:30   mac             483FDA97F672
     2021-07-26 17:01:30   model           SHSW-25
     2021-07-26 17:01:30   new_fw          true
     2021-07-17 17:00:52   online          true
     2021-07-27 08:57:36   overtemperature 0
     2021-07-27 08:57:36   relay0          off
     2021-07-27 08:57:36   relay_0_energy  1562898
     2021-07-27 08:57:36   relay_0_kWh     26.05
     2021-07-27 08:57:36   relay_0_power   0.00
     2021-07-27 08:57:36   state           off
     2021-07-27 08:57:36   temperature     51.33
     2021-07-27 08:57:36   temperature_f   124.39
     2021-07-27 08:57:36   temperature_status Normal
     2021-07-12 15:38:07   x_mqttcom       set announce
Attributes:
   comment    Channel 1 for MQTT2_shellyswitch25_483FDA97F672, see also MQTT2_shellyswitch25_483FDA97F672_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"; my $light = ReadingsVal($name,"state","off"); my $cons = ReadingsVal($name,"relay_0_power","unknown"); my $total = ReadingsVal($name,"relay_0_kWh","unknown"); my $temp = ReadingsVal($name,"temperature","-100"); "<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 / Total: $total/ Temp: $temp °C</div>"}
   group      Pool-Schalter
   icon       sani_pump
   model      shelly25_split
   readingList shellies/shellyswitch25-483FDA97F672/relay/0:.* state
  shellies/shellyswitch25-483FDA97F672/relay/0:.* relay0
  shellies/shellyswitch25-483FDA97F672/input/0:.* input0
  shellies/shellyswitch25-483FDA97F672/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-483FDA97F672...mac.*, ? json2nameValue($EVENT) : return }
  shellies/shellyswitch25-483FDA97F672/announce:.* { json2nameValue($EVENT) }
  shellies/shellyswitch25-483FDA97F672/relay/0/power:.* relay_0_power
  shellies/shellyswitch25-483FDA97F672/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
  shellies/shellyswitch25-483FDA97F672/temperature:.* temperature
  shellies/shellyswitch25-483FDA97F672/temperature_f:.* temperature_f
  shellies/shellyswitch25-483FDA97F672/input_event/0:.* { json2nameValue($EVENT) }
  shellies/shellyswitch25-483FDA97F672/overtemperature:.* overtemperature
  shellies/shellyswitch25-483FDA97F672/relay/0/energy:.* relay_0_energy
  shellies/shellyswitch25-483FDA97F672/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
  shellies/shellyswitch25-483FDA97F672/longpush/0:.* longpush_0
shellyswitch25_483FDA97F672:shellies/shellyswitch25-483FDA97F672/temperature_status:.* temperature_status
   room       02_Pool,MQTT2_DEVICE
   setList    relay0:on,off,toggle shellies/shellyswitch25-483FDA97F672/relay/0/command $EVTPART1
  toggle:noArg shellies/shellyswitch25-483FDA97F672/relay/0/command toggle
  off:noArg shellies/shellyswitch25-483FDA97F672/relay/0/command off
  on:noArg shellies/shellyswitch25-483FDA97F672/relay/0/command on
  x_update:noArg shellies/shellyswitch25-483FDA97F672/command update_fw
  x_mqttcom shellies/shellyswitch25-483FDA97F672/command $EVTPART1
   setStateList on off toggle
   webCmd     :

Gisbert

Hallo z0lt1,

schau dir mal event-min-interval an: https://wiki.fhem.de/wiki/Event-min-interval

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Beta-User

#2
Zitat von: Gisbert am 27 Juli 2021, 09:26:37
schau dir mal event-min-interval an: https://wiki.fhem.de/wiki/Event-min-interval
...das ist aber nur ein Teil der Gesamtstory...

Die beginnt bei https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Vorbemerkung (mqtt_update_period), geht dann über event-on-change-reading und das genannte Attribut hin zu timestamp-on-change-reading. Ist häufiger Thema, siehe z.B. https://forum.fhem.de/index.php/topic,94060.msg1075460.html#msg1075460. (EDIT: oder https://forum.fhem.de/index.php/topic,112547.msg1068825.html#msg1068825).

Leider habe ich bis dato keine konsolidierte Rückmeldung, sonst könnte man ja sowas wie einen Vorschlag via attrTemplate mit ausliefern.
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

z0lt1

Danke euch für die Antworten. D.h. ich kann über die bekannten Attribute bestimmen wieviele der gesendeten Daten geloggt werden. Das Update-Intervall der Shellys von 30 Sekunden lässt sich nicht ändern, lediglich das Senden der statischen Werte.

Otto123

#4
doch es lässt sich ändern, hat Beta-user etwas versteckt: -> mqtt_update_period
https://shelly-api-docs.shelly.cloud/#mqtt-configuration

kurz und knapp - Beispiel:
http://<shelly-ip>/settings?mqtt_update_period=40

Steht in Beta-Users Link  ;) https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Vorbemerkung
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

z0lt1

Oh dann habe ich das mit dem mqtt_update_period=0 falsch gedeutet. Vielen Dank für die Richtigstellung und die Hilfe, jetzt funktioniert es so wie es soll.