MQTT2+Shelly: erste Konfiguration und template-Entwicklung

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

Vorheriges Thema - Nächstes Thema

Rossi

Hi,

Ich habe einen Shelly 2.5 mit aktueller FW mittels Templete "shelly25_roller_invert_1" als Rollo Schalter eingerichtet und es funktioniert auch alles soweit, aber die Darstellung ist etwas strange. Ich hätte nur ein Statusbild erwartet. Siehe Anhang.
Bitte nicht über ganzen zusätzlichen Readings und Attribute wundern, die habe ich wegen meiner Rollo Steuerung eingefügt. ;-)

Kann mir jemand sagen woran das liegt und wie das evtl. fixen kann?

Hier ein List:
Internals:
   CHANGED   
   CID        shellyswitch25_10C987
   DEF        shellyswitch25_10C987
   DEVICETOPIC Rol.BueroShelly.Tuer
   FUUID      5e3584d0-f33f-4ad6-6e5f-4917f8af63e19389
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 1397
   MQTT2_FHEM_Server_TIME 2020-02-01 18:17:15
   MSGCNT     1397
   NAME       Rol.BueroShelly.Tuer
   NR         386
   STATE      <a href="http://192.168.5.57" target="_blank">
true
</a>
100
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-02-01 17:32:13   Automatik_Abschatten_Ende_vorgemerkt 0
     2020-02-01 17:31:56   Automatik_Abschatten_vorgemerkt 0
     2020-02-01 16:41:13   Automatik_Abschattung_Bereich 210...320
     2020-02-01 17:26:43   Automatik_Abschattung_Zaehler_hoch 1
     2020-02-01 17:28:53   Automatik_Abschattung_Zaehler_runter 2
     2020-02-01 17:32:13   Automatik_Abschattung_letzte_Uhrzeit 17:32:13
     2020-02-01 16:41:13   Automatik_Modus_hoch immer
     2020-02-01 16:41:13   Automatik_Modus_runter immer
     2020-02-01 15:15:22   Automatik_Nachtschliessen 0
     2020-02-01 17:32:13   Automatik_Pos_vor_Abschattung -1
     2020-02-01 17:31:00   Automatik_Pos_vor_Geoeffnet -1
     2020-02-01 16:43:28   Automatik_Pos_vor_Lueften -1
     2020-02-01 17:31:00   Automatik_automatische_Fahrt 1
     2020-02-01 16:41:13   Automatik_hoch_Zeit 08:00:00
     2020-02-01 17:32:13   Automatik_in_Abschattung 0
     2020-02-01 16:41:13   Automatik_runter_Zeit 17:31
     2020-02-01 17:28:49   Manu_Modus      aus
     2020-02-01 15:27:10   closed          set
     2020-02-01 17:31:13   current         stop
     2020-02-01 18:17:15   energy          955
     2020-02-01 16:41:42   fw_ver          20200122-090247/v1.5.9@4b657c90
     2020-02-01 16:41:42   id              shellyswitch25-10C987
     2020-02-01 18:17:15   input0          0
     2020-02-01 18:17:15   input1          0
     2020-02-01 16:41:42   ip              192.168.5.57
     2020-02-01 16:41:42   mac             C82B9610C987
     2020-02-01 16:41:42   new_fw          false
     2020-02-01 16:41:42   online          true
     2020-02-01 18:17:15   overtemperature 0
     2020-02-01 18:17:15   pct             100
     2020-02-01 18:17:15   position        100
     2020-02-01 18:17:15   power           0.00
     2020-02-01 18:17:15   state           100
     2020-02-01 18:17:15   temperature     50.31
     2020-02-01 14:47:26   x_mqttcom       set announce
Attributes:
   Auto_Abschattung ja
   Auto_Abschattung_Helligkeitssensor AktuelleSonneneinstrahlungPV
   Auto_Abschattung_Pos 50
   Auto_Abschattung_Pos_nach_Abschattung -1
   Auto_Abschattung_Schwelle_sonnig 1500
   Auto_Abschattung_Schwelle_wolkig 1000
   Auto_Abschattung_Sperrzeit_nach_manuell 0
   Auto_Abschattung_Sperrzeit_vor_Nacht 0
   Auto_Abschattung_Wartezeit 0
   Auto_Abschattung_Winkel_links 60
   Auto_Abschattung_Winkel_rechts 50
   Auto_Abschattung_min_Temp_aussen 2.5
   Auto_Abschattung_min_elevation -10
   Auto_Aussperrschutz nein
   Auto_Fensterkontakt FensterKontakt_Buero
   Auto_Fensterkontakttyp twostate
   Auto_Himmelsrichtung 245
   Auto_Lueften_Pos 70
   Auto_Luft_Fenster_offen ja
   Auto_Modus_hoch immer
   Auto_Modus_runter immer
   Auto_Zeit_hoch_WE_Urlaub 08:00
   Auto_Zeit_hoch_frueh 06:00
   Auto_Zeit_hoch_spaet 08:00
   Auto_Zeit_runter_frueh 16:00
   Auto_Zeit_runter_spaet 22:00
   Auto_geschlossen_Pos 100
   Auto_hoch  Astro
   Auto_offen_Pos 0
   Auto_runter Astro
   IODev      MQTT2_FHEM_Server
   Manu_Modus aus
   Manu_geschlossen_Pos 100
   Manu_offen_Pos 0
   alias      Rollo Büro Tür
   cmdIcon    open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   comment    Shelly 2.5 in Roller-Mode. 0=opened / 100=closed
   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");; 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>"}
   event-on-change-reading .*
   icon       fts_shutter_all
   model      shelly25_roller_invert_1
   readingList shellies/shellyswitch25-10C987/roller/0/pos:.* {'pct' => 100-$EVENT}
  shellies/shellyswitch25-10C987/status/0/rollers:.* power
  shellies/shellyswitch25-10C987/online:.* online
  shellies/shellyswitch25-10C987/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-10C987...mac.*, ? json2nameValue($EVENT) : undef }
  shellies/shellyswitch25-10C987/roller/0:.* current
  shellies/shellyswitch25-10C987/roller/0:open {{'state' => 'opening'}}
  shellies/shellyswitch25-10C987/roller/0:close {{'state' => 'closing'}}
  shellies/shellyswitch25-10C987/roller/0/pos:.* {'state' => 100-$EVENT}
  shellies/shellyswitch25-10C987/input/1:.* input1
  shellies/shellyswitch25-10C987/input/0:.* input0
  shellies/shellyswitch25-10C987/relay/power:.* power
  shellies/shellyswitch25-10C987/relay/energy:.* energy
  shellies/shellyswitch25-10C987/temperature:.* temperature
  shellies/shellyswitch25-10C987/overtemperature:.* overtemperature
   room       Steuerung -> Rollos,Zimmer -> Büro
   setList    open:noArg shellies/shellyswitch25-10C987/roller/0/command open
  close:noArg shellies/shellyswitch25-10C987/roller/0/command close
  closed:noArg shellies/shellyswitch25-10C987/roller/0/command close
  half:noArg shellies/shellyswitch25-10C987/roller/0/command/pos 50
  stop:noArg shellies/shellyswitch25-10C987/roller/0/command stop
  pct:slider,0,1,100 {"shellies/shellyswitch25-10C987/roller/0/command/pos ".(100-$EVTPART1)}
  position:slider,0,1,100 {"shellies/shellyswitch25-10C987/roller/0/command/pos ".(100-$EVTPART1)}
  x_recalibration:noArg shellies/shellyswitch25-10C987/roller/0/command rc
  x_update:noArg shellies/shellyswitch25-10C987/command update_fw
  x_mqttcom shellies/shellyswitch25-10C987/command $EVTPART1
   setStateList open close half stop pct
   stateFormat <a href="http://ip" target="_blank">
online
</a>
state
   type       normal
   userReadings position {ReadingsVal($NAME,"pct",-1)}
   userattr   Auto_Modus_hoch:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_Modus_runter:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_hoch:Zeit,Astro Auto_runter:Zeit,Astro Auto_Abschattung_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Pos_nach_Abschattung:-1,0,10,20,30,40,50,60,70,80,90,100 Auto_Lueften_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_offen_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Himmelsrichtung Auto_Abschattung:ja,nein,verspaetet,bei_Abwesenheit,bei_Anwesenheit Auto_Zeit_hoch_frueh Auto_Zeit_hoch_spaet Auto_Zeit_hoch_WE_Urlaub Auto_Zeit_runter_frueh Auto_Zeit_runter_spaet Auto_Zufall_Minuten Auto_Fensterkontakt Auto_Luft_Fenster_offen:ja,nein Auto_Aussperrschutz:ja,nein Auto_Geoeffnet_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Winkel_links:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Winkel_rechts:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Helligkeitssensor Auto_Abschattung_Schwelle_sonnig Auto_Abschattung_Schwelle_wolkig Auto_Abschattung_Wartezeit Auto_Abschattung_min_elevation Auto_Abschattung_min_Temp_aussen Auto_Abschattung_Sperrzeit_nach_manuell Auto_Offset_Minuten_morgens Auto_Offset_Minuten_abends Auto_Abschattung_Sperrzeit_vor_Nacht Auto_Abschattung_schnell_oeffnen:nein,ja Auto_Abschattung_schnell_schliessen:nein,ja Auto_Fensterkontakttyp:twostate,threestate Auto_Pos_Befehl Auto_geschlossen_Pos Manu_Modus:ein,aus Manu_offen_Pos Manu_geschlossen_Pos Auto_Termin_beruecksichtigen type
   webCmd     :open:close:half:stop:pct

Gundermann

#556
Hallo FHEM-Forum,

an dieser Stelle
Zitataber die Darstellung ist etwas strange ...
möchte ich mich gerne in dieses Thema einklinken, wahrscheinlich aber mit wesentlich einfacheren "Problem(chen") mit meinem Shelly1.

Ja, ich habe nicht alle 555 Einträge gelesen. Und nein, die gelesenen Einträge habe ich auch nicht alle verstanden. Und nein, mit PERL kenne ich mich kaum aus und muss mich immer an Beispielen orientieren. So tief hinter die Kulissen reicht mein Blick leider nicht. Trotzdem möchte ich mit FHEM weitermachen.

Ich vermute, dass Rossis Problem hauptsächlich mit dem endlos langen PERL-String hinter dem Attribut "devStateIcon" zu tun hat. Das schaut beim Shelly1 zwar etwas anders aus, nämlich so:

{my $onl = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = ReadingsVal($name,"state","off");; my $show = '<a href="';;$show .= $onl eq "gelb" ? "/fhem?cmd.dummy=set $name x_update&XHR=1\">" : "http://".ReadingsVal($name,"ip","none").' "target="_blank">';;$show .= FW_makeImage("10px-kreis-".$onl)."</a>";; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a></div>" }

ist aber ähnlich lang und für mich leider "ein Buch mit sieben Siegeln".

Meine drei Shelly1, die ich als MQTT2_DEVICE  und mit dem attrTemplate "shelly1" mit FHEM betreibe tun nach einigem "Rumfragen" im Forum jetzt eigentlich was sie sollen. Sie schalten nämlich irgendetwas ein oder aus (mehr können und sollen sie auch nicht) und müllen mir auch nicht mehr den Event monitor voll. Besonders gelungen finde ich das Ampelsystem (sieht man auch bei Rossi), am dem man erkennen kann, ob irgendwo Handlungsbedarf besteht.

Zwei Dinge stören mich bzw. sind mir aufgefallen:

1. Wenn ich den Shelly vom Stromnetz trenne, verschwindet er aus dem WLAN und die Ampel zeigt richtigerweise "ROT". Wenn ich allerdings in diesem stromlosen Zustand "on" oder "off" schalte, dann wechselt das Lampensymbol sein Aussehen und es sieht so aus, als würde der Shelly schalten (kann er natürlich nicht, weil er keinen Strom hat). Das ist bei anderen Aktoren, die nur empfangen und nicht senden können, auch der Fall, aber der Shelly kann mehr, oder?

2. Das erwähnte "Lampensymbol" für Status "on" bzw. "off" ist jeweils das FHEM-Standartsymbol. Das würde ich gerne ändern. Im Prinzip weiß ich wie das geht, traue mich aber nicht an den endlos langen PERL-String hinter dem Attribut "devStateIcon" heran. Zudem würde ich gerne das Ampelsystem erhalten wollen.

Danke, gute Nacht und Grüße von Gundermann
FHEM auf RPi 4B | CUL 868 MHz | SIGNALduino 433 MHz | FRITZ!Dect | FS20 | Homematic | Intertechno | Sonoff | Shelly | IP-Kameras | Wettersensoren | ZigBee | ...
FHEM ist nicht Plug & Play. Man muss bereit sein hinter die Kulissen zu schauen.

87insane

#557
@rossi Stateformat muss gelöscht werden.

Gesendet von meinem LM-G810 mit Tapatalk

87insane

Zitat von: Rossi am 01 Februar 2020, 18:19:08
Hi,

Ich habe einen Shelly 2.5 mit aktueller FW mittels Templete "shelly25_roller_invert_1" als Rollo Schalter eingerichtet und es funktioniert auch alles soweit, aber die Darstellung ist etwas strange. Ich hätte nur ein Statusbild erwartet. Siehe Anhang.
Bitte nicht über ganzen zusätzlichen Readings und Attribute wundern, die habe ich wegen meiner Rollo Steuerung eingefügt. ;-)

Kann mir jemand sagen woran das liegt und wie das evtl. fixen kann?

Hier ein List:
Internals:
   CHANGED   
   CID        shellyswitch25_10C987
   DEF        shellyswitch25_10C987
   DEVICETOPIC Rol.BueroShelly.Tuer
   FUUID      5e3584d0-f33f-4ad6-6e5f-4917f8af63e19389
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 1397
   MQTT2_FHEM_Server_TIME 2020-02-01 18:17:15
   MSGCNT     1397
   NAME       Rol.BueroShelly.Tuer
   NR         386
   STATE      <a href="http://192.168.5.57" target="_blank">
true
</a>
100
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-02-01 17:32:13   Automatik_Abschatten_Ende_vorgemerkt 0
     2020-02-01 17:31:56   Automatik_Abschatten_vorgemerkt 0
     2020-02-01 16:41:13   Automatik_Abschattung_Bereich 210...320
     2020-02-01 17:26:43   Automatik_Abschattung_Zaehler_hoch 1
     2020-02-01 17:28:53   Automatik_Abschattung_Zaehler_runter 2
     2020-02-01 17:32:13   Automatik_Abschattung_letzte_Uhrzeit 17:32:13
     2020-02-01 16:41:13   Automatik_Modus_hoch immer
     2020-02-01 16:41:13   Automatik_Modus_runter immer
     2020-02-01 15:15:22   Automatik_Nachtschliessen 0
     2020-02-01 17:32:13   Automatik_Pos_vor_Abschattung -1
     2020-02-01 17:31:00   Automatik_Pos_vor_Geoeffnet -1
     2020-02-01 16:43:28   Automatik_Pos_vor_Lueften -1
     2020-02-01 17:31:00   Automatik_automatische_Fahrt 1
     2020-02-01 16:41:13   Automatik_hoch_Zeit 08:00:00
     2020-02-01 17:32:13   Automatik_in_Abschattung 0
     2020-02-01 16:41:13   Automatik_runter_Zeit 17:31
     2020-02-01 17:28:49   Manu_Modus      aus
     2020-02-01 15:27:10   closed          set
     2020-02-01 17:31:13   current         stop
     2020-02-01 18:17:15   energy          955
     2020-02-01 16:41:42   fw_ver          20200122-090247/v1.5.9@4b657c90
     2020-02-01 16:41:42   id              shellyswitch25-10C987
     2020-02-01 18:17:15   input0          0
     2020-02-01 18:17:15   input1          0
     2020-02-01 16:41:42   ip              192.168.5.57
     2020-02-01 16:41:42   mac             C82B9610C987
     2020-02-01 16:41:42   new_fw          false
     2020-02-01 16:41:42   online          true
     2020-02-01 18:17:15   overtemperature 0
     2020-02-01 18:17:15   pct             100
     2020-02-01 18:17:15   position        100
     2020-02-01 18:17:15   power           0.00
     2020-02-01 18:17:15   state           100
     2020-02-01 18:17:15   temperature     50.31
     2020-02-01 14:47:26   x_mqttcom       set announce
Attributes:
   Auto_Abschattung ja
   Auto_Abschattung_Helligkeitssensor AktuelleSonneneinstrahlungPV
   Auto_Abschattung_Pos 50
   Auto_Abschattung_Pos_nach_Abschattung -1
   Auto_Abschattung_Schwelle_sonnig 1500
   Auto_Abschattung_Schwelle_wolkig 1000
   Auto_Abschattung_Sperrzeit_nach_manuell 0
   Auto_Abschattung_Sperrzeit_vor_Nacht 0
   Auto_Abschattung_Wartezeit 0
   Auto_Abschattung_Winkel_links 60
   Auto_Abschattung_Winkel_rechts 50
   Auto_Abschattung_min_Temp_aussen 2.5
   Auto_Abschattung_min_elevation -10
   Auto_Aussperrschutz nein
   Auto_Fensterkontakt FensterKontakt_Buero
   Auto_Fensterkontakttyp twostate
   Auto_Himmelsrichtung 245
   Auto_Lueften_Pos 70
   Auto_Luft_Fenster_offen ja
   Auto_Modus_hoch immer
   Auto_Modus_runter immer
   Auto_Zeit_hoch_WE_Urlaub 08:00
   Auto_Zeit_hoch_frueh 06:00
   Auto_Zeit_hoch_spaet 08:00
   Auto_Zeit_runter_frueh 16:00
   Auto_Zeit_runter_spaet 22:00
   Auto_geschlossen_Pos 100
   Auto_hoch  Astro
   Auto_offen_Pos 0
   Auto_runter Astro
   IODev      MQTT2_FHEM_Server
   Manu_Modus aus
   Manu_geschlossen_Pos 100
   Manu_offen_Pos 0
   alias      Rollo Büro Tür
   cmdIcon    open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
   comment    Shelly 2.5 in Roller-Mode. 0=opened / 100=closed
   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");; 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>"}
   event-on-change-reading .*
   icon       fts_shutter_all
   model      shelly25_roller_invert_1
   readingList shellies/shellyswitch25-10C987/roller/0/pos:.* {'pct' => 100-$EVENT}
  shellies/shellyswitch25-10C987/status/0/rollers:.* power
  shellies/shellyswitch25-10C987/online:.* online
  shellies/shellyswitch25-10C987/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-10C987...mac.*, ? json2nameValue($EVENT) : undef }
  shellies/shellyswitch25-10C987/roller/0:.* current
  shellies/shellyswitch25-10C987/roller/0:open {{'state' => 'opening'}}
  shellies/shellyswitch25-10C987/roller/0:close {{'state' => 'closing'}}
  shellies/shellyswitch25-10C987/roller/0/pos:.* {'state' => 100-$EVENT}
  shellies/shellyswitch25-10C987/input/1:.* input1
  shellies/shellyswitch25-10C987/input/0:.* input0
  shellies/shellyswitch25-10C987/relay/power:.* power
  shellies/shellyswitch25-10C987/relay/energy:.* energy
  shellies/shellyswitch25-10C987/temperature:.* temperature
  shellies/shellyswitch25-10C987/overtemperature:.* overtemperature
   room       Steuerung -> Rollos,Zimmer -> Büro
   setList    open:noArg shellies/shellyswitch25-10C987/roller/0/command open
  close:noArg shellies/shellyswitch25-10C987/roller/0/command close
  closed:noArg shellies/shellyswitch25-10C987/roller/0/command close
  half:noArg shellies/shellyswitch25-10C987/roller/0/command/pos 50
  stop:noArg shellies/shellyswitch25-10C987/roller/0/command stop
  pct:slider,0,1,100 {"shellies/shellyswitch25-10C987/roller/0/command/pos ".(100-$EVTPART1)}
  position:slider,0,1,100 {"shellies/shellyswitch25-10C987/roller/0/command/pos ".(100-$EVTPART1)}
  x_recalibration:noArg shellies/shellyswitch25-10C987/roller/0/command rc
  x_update:noArg shellies/shellyswitch25-10C987/command update_fw
  x_mqttcom shellies/shellyswitch25-10C987/command $EVTPART1
   setStateList open close half stop pct
   stateFormat <a href="http://ip" target="_blank">
online
</a>
state
   type       normal
   userReadings position {ReadingsVal($NAME,"pct",-1)}
   userattr   Auto_Modus_hoch:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_Modus_runter:bei_Abwesenheit,bei_Anwesenheit,immer,aus Auto_hoch:Zeit,Astro Auto_runter:Zeit,Astro Auto_Abschattung_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Pos_nach_Abschattung:-1,0,10,20,30,40,50,60,70,80,90,100 Auto_Lueften_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_offen_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Himmelsrichtung Auto_Abschattung:ja,nein,verspaetet,bei_Abwesenheit,bei_Anwesenheit Auto_Zeit_hoch_frueh Auto_Zeit_hoch_spaet Auto_Zeit_hoch_WE_Urlaub Auto_Zeit_runter_frueh Auto_Zeit_runter_spaet Auto_Zufall_Minuten Auto_Fensterkontakt Auto_Luft_Fenster_offen:ja,nein Auto_Aussperrschutz:ja,nein Auto_Geoeffnet_Pos:0,10,20,30,40,50,60,70,80,90,100 Auto_Abschattung_Winkel_links:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Winkel_rechts:0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90 Auto_Abschattung_Helligkeitssensor Auto_Abschattung_Schwelle_sonnig Auto_Abschattung_Schwelle_wolkig Auto_Abschattung_Wartezeit Auto_Abschattung_min_elevation Auto_Abschattung_min_Temp_aussen Auto_Abschattung_Sperrzeit_nach_manuell Auto_Offset_Minuten_morgens Auto_Offset_Minuten_abends Auto_Abschattung_Sperrzeit_vor_Nacht Auto_Abschattung_schnell_oeffnen:nein,ja Auto_Abschattung_schnell_schliessen:nein,ja Auto_Fensterkontakttyp:twostate,threestate Auto_Pos_Befehl Auto_geschlossen_Pos Manu_Modus:ein,aus Manu_offen_Pos Manu_geschlossen_Pos Auto_Termin_beruecksichtigen type
   webCmd     :open:close:half:stop:pct

Zitat von: Gundermann am 01 Februar 2020, 21:59:25
Hallo FHEM-Forum,

an dieser Stellemöchte ich mich gerne in dieses Thema einklinken, wahrscheinlich aber mit wesentlich einfacheren "Problem(chen") mit meinem Shelly1.

Ja, ich habe nicht alle 555 Einträge gelesen. Und nein, die gelesenen Einträge habe ich auch nicht alle verstanden. Und nein, mit PERL kenne ich mich kaum aus und muss mich immer an Beispielen orientieren. So tief hinter die Kulissen reicht mein Blick leider nicht. Trotzdem möchte ich mit FHEM weitermachen.

Ich vermute, dass Rossis Problem hauptsächlich mit dem endlos langen PERL-String hinter dem Attribut "devStateIcon" zu tun hat. Das schaut beim Shelly1 zwar etwas anders aus, nämlich so:

{my $onl = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = ReadingsVal($name,"state","off");; my $show = '<a href="';;$show .= $onl eq "gelb" ? "/fhem?cmd.dummy=set $name x_update&XHR=1\">" : "http://".ReadingsVal($name,"ip","none").' "target="_blank">';;$show .= FW_makeImage("10px-kreis-".$onl)."</a>";; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a></div>" }

ist aber ähnlich lang und für mich leider "ein Buch mit sieben Siegeln".

Meine drei Shelly1, die ich als MQTT2_DEVICE  und mit dem attrTemplate "shelly1" mit FHEM betreibe tun nach einigem "Rumfragen" im Forum jetzt eigentlich was sie sollen. Sie schalten nämlich irgendetwas ein oder aus (mehr können und sollen sie auch nicht) und müllen mir auch nicht mehr den Event monitor voll. Besonders gelungen finde ich das Ampelsystem (sieht man auch bei Rossi), am dem man erkennen kann, ob irgendwo Handlungsbedarf besteht.

Zwei Dinge stören mich bzw. sind mir aufgefallen:

1. Wenn ich den Shelly vom Stromnetz trenne, verschwindet er aus dem WLAN und die Ampel zeigt richtigerweise "ROT". Wenn ich allerdings in diesem stromlosen Zustand "on" oder "off" schalte, dann wechselt das Lampensymbol sein Aussehen und es sieht so aus, als würde der Shelly schalten (kann er natürlich nicht, weil er keinen Strom hat).

2. Das erwähnte "Lampensymbol" für Status "on" bzw. "off" ist jeweils das FHEM-Standartsymbol. Das würde ich gerne ändern. Im Prinzip weiß ich wie das geht, traue mich aber nicht an den endlos langen PERL-String hinter dem Attribut "devStateIcon" heran. Zudem würde ich gerne das Ampelsystem erhalten wollen.

Danke, gute Nacht und Grüße von Gundermann
Zu 2) einfsch den Namen des bildes in dem Code ändern.

Gesendet von meinem LM-G810 mit Tapatalk


Rossi

@87insane:
Ok, danke.  ;D
Es hat funktioniert, obwohl ich nicht weiß wo der Eintarg herkam, evtl. weil ich das erst nach dem Einbinden in FHEM auf Rollo Mode am Shelly umgeschalten habe.

87insane

Kann sein das er noch im template ist. Wurde vor kurzem umgestellt auf Ampel usw. Kann sein das ich das übersehen habe.

Gesendet von meinem LM-G810 mit Tapatalk


Gundermann

Hallo 87insane (oder wer auch immer sich damit auskennt),

ZitatZu 2) einfsch den Namen des bildes in dem Code ändern

Damit bin ich leider nicht weiter gekommen. Nach meinem Wissen lauten die Dateinamen der Standardsymbole "on.svg" und "off.svg", wobei .svg nicht angegeben werden muss. Wo genau in diesem Code steckt der Name des Bildes, der geändert werden muss. Ich habe etwas herumexperimentiert, komme aber zu keinem Ergebnis.

Grüße von Gundermann
FHEM auf RPi 4B | CUL 868 MHz | SIGNALduino 433 MHz | FRITZ!Dect | FS20 | Homematic | Intertechno | Sonoff | Shelly | IP-Kameras | Wettersensoren | ZigBee | ...
FHEM ist nicht Plug & Play. Man muss bereit sein hinter die Kulissen zu schauen.

87insane

Bei my light.
Da steht aktuell einfsch on/off drin. Weil aus dem reading das raus kommt. Wenn du was anderes magst muss du das dort ändern. Wie die bilder heißen, einfsch mal im Icon Bereich nachsehen.

Gesendet von meinem LM-G810 mit Tapatalk


Beta-User

@all:
Ausgehend von diesem Thread, in dem es um zyklische Statusinfos ging:

Zitat von: rudolfkoenig am 02 Februar 2020, 18:11:43
https://shelly-api-docs.shelly.cloud/#mqtt-support
ZitatDevice state is reported periodically, every 30 seconds by default. This can be changed by setting a new period for updates: mqtt_update_period under /settings. A value of 0 will disable periodic updates.
Kann mir jemand den MQTT-Code austesten, um diese Statusmeldungen zu unterbinden, dann baue ich das eventuell in den Standard ein...?
Würde auf dieses Format tippen:
set IO_DEV publish shellies/DEVNAME/settings mqtt_update_period 0
Wäre nur interessant zu wissen, ob das dann alles ausschaltet, oder die "sinnvollen" updates (Verbrauch usw.) trotzdem kommen?




@Gundermann: Ggf. kannst du auch einfach in der FHEMWEB-Instand iconPath anpassen?
Ansonsten, wenn du die "Ampel" nicht benötigst: Einfach die "normale" Form von devStateIcon verwenden (siehe Wiki zu DeviceOverview anpassen).
Und: Threads zu schließen ist "not recommended", ich hätte das mit den Updates lieber an der anderen Stelle rückgefragt...
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

Gundermann

ZitatThreads zu schließen ist "not recommended"
Sorry, sollte jetzt wieder geöffnet sein.

Grüße von Gundermann
FHEM auf RPi 4B | CUL 868 MHz | SIGNALduino 433 MHz | FRITZ!Dect | FS20 | Homematic | Intertechno | Sonoff | Shelly | IP-Kameras | Wettersensoren | ZigBee | ...
FHEM ist nicht Plug & Play. Man muss bereit sein hinter die Kulissen zu schauen.

Gundermann

@ Beta-User und 87insane

Mit dem Thema ,,Icons" komme ich leider nicht klar und habe es jetzt aufgegeben. Hauptsache die Shellys schalten.

Danke für die Bemühungen und Grüße von Gundermann
FHEM auf RPi 4B | CUL 868 MHz | SIGNALduino 433 MHz | FRITZ!Dect | FS20 | Homematic | Intertechno | Sonoff | Shelly | IP-Kameras | Wettersensoren | ZigBee | ...
FHEM ist nicht Plug & Play. Man muss bereit sein hinter die Kulissen zu schauen.

87insane

Zitat von: Gundermann am 04 Februar 2020, 16:52:06
@ Beta-User und 87insane

Mit dem Thema ,,Icons" komme ich leider nicht klar und habe es jetzt aufgegeben. Hauptsache die Shellys schalten.

Danke für die Bemühungen und Grüße von Gundermann
Hey... So schnell aufgeben lohnt dich nicht ;)
Es ist in der Tat kein einfacher Code aber ein wenig rein denken muss sein, da man sonst nie selber was ändern kann.

Anbei sende ich mal ein devstateicon wie ich es zb für einen shelly 1pm nutze. Dieser ist an einer deckenlampe angeschlossen und beinhaltet zum einen ein anderes Symbol aber auch eine andere Farbe des Symbols, wenn das Gerät an ist. Dann sollte es etwas klarer sein:

{ my $amp = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = ReadingsVal($name,"state","off") eq "on"?'light_pendant_light@green':'light_pendant_light';; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; 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\">".FW_makeImage($light)."</a> Aktuell: $cons W / Temp.: $temp °C </div>" }

Gesendet von meinem LM-G810 mit Tapatalk


Beta-User

Ganz ohne Perl (für devStateIcon, kein stateFormat setzen):
on:light_pendant_light@green off:light_pendant_light
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

Gundermann

@ Beta-User und 87insane

Nachdem ihr beiden keine Ruhe gegeben habt, hat auch mich noch einmal der Ehrgeiz gepackt und siehe da: es funktioniert.

Mit
on:light_pendant_light@green off:light_pendant_light
konnte ich zwar beliebige Icons verwenden aber leider ohne die Ampel, die mir so gut gefällt.

Das Beispiel von 87insane hat mir letztlich auf die Sprünge geholfen.
Meinen ursprünglichen PERL-String, der aus dem Template "shelly1" stammt, habe ich lediglich um den hier rot dargestellten Teil ergänzt ...

{my $onl = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = ReadingsVal($name,"state","off") eq "on"?'on1':'off1';; my $show = '<a href="';;$show .= $onl eq "gelb" ? "/fhem?cmd.dummy=set $name x_update&XHR=1\">" : "http://".ReadingsVal($name,"ip","none").' "target="_blank">';;$show .= FW_makeImage("10px-kreis-".$onl)."</a>";; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a></div>"}

...  und schon kann ich bei 'on1' und 'off1' beliebige Iconnamen einsetzen. Genau das war mein Ziel.

@ Beta-User
Ich lese in anderen Forenbeiträgen, dass du dich derzeit mit dem Thema Templates wohl intensiv beschäftigst. Vieleicht kannst du das hier ja irgendwie verwerten.

Noch einmal herzlichen Dank für die Geduld und Grüße von Gundermann

NS: Auf meine erste Frage aus #556 werde ich wohl auch noch irgendwann eine Antwort finden.

FHEM auf RPi 4B | CUL 868 MHz | SIGNALduino 433 MHz | FRITZ!Dect | FS20 | Homematic | Intertechno | Sonoff | Shelly | IP-Kameras | Wettersensoren | ZigBee | ...
FHEM ist nicht Plug & Play. Man muss bereit sein hinter die Kulissen zu schauen.

87insane

556 ist von Rossi auf meinem Handy und wurde auch beantwortet. Hab ich was überlesen?

Gesendet von meinem LM-G810 mit Tapatalk