GELÖST:Readingsgroup mit anklickbarem Button

Begonnen von rasti, 14 Dezember 2018, 19:16:13

Vorheriges Thema - Nächstes Thema

rasti

Hallo,

ich bin dabei, eine ReadingGroup für meine Tasmota -Blitzwolf-WLAN-Mess-Steckdosen zu erstellen.

Ich möchte gerne mit Klick auf das Steckdosen-Icon dessen Zustand toggeln.
Dachte, das ginge mit dem Attribut commands, ich kriegs aber nicht hin.

Unten steht der Code der Readingsgroup sowie exemplarisch ein Listing eines Devices.

Kann mir hier jemand helfen ?

Viele Grüsse

Ralf



define Mess_Steckdosen readingsGroup <%ge_wht_steckdose>,<On/Off>,<Aktuelle Leistung>,<Gesamtverbrauch>,<Verbrauch heute>,<Uptime>,<Netzwerkstatus> TYPE=MQTT_DEVICE:POWER,ENERGY_Power,ENERGY_Total,ENERGY_Today,Uptime,precence
attr Mess_Steckdosen commands { "POWER:ON" => "set $DEVICE OFF" , "POWER:on" => "set $DEVICE OFF" , "POWER:OFF" => "set $DEVICE ON" , "POWER:off" => "set $DEVICE ON" }
attr Mess_Steckdosen room MQTT
attr Mess_Steckdosen valueFormat { ENERGY_Power => "%.2f W", ENERGY_Total => "%.2f kWh" , ENERGY_Today => "%.2f kWh"}
attr Mess_Steckdosen valueIcon {'POWER.ON' => 'black_Steckdose.on', 'POWER.OFF' => 'message_socket_off' , 'POWER.on' => 'black_Steckdose.on', 'POWER.off' => 'message_socket_off' , 'precence.online' => 'WLAN_Status.1', 'precence.offline' => 'WLAN_Status.0'  }


Internals:
   IODev      Mosquitto
   NAME       Mess_Steckdose_1
   NR         1026
   STATE      ON
   TYPE       MQTT_DEVICE
   qos        0
   retain     0
   Readings:
     2018-12-14 19:10:52   ENERGY_ApparentPower 5
     2018-12-14 19:10:52   ENERGY_Current  0.022
     2018-12-14 19:10:52   ENERGY_Factor   0.42
     2018-12-14 19:10:52   ENERGY_Period   0
     2018-12-14 19:10:52   ENERGY_Power    2
     2018-12-14 19:10:52   ENERGY_ReactivePower 5
     2018-12-14 19:10:52   ENERGY_Today    0.04
     2018-12-14 19:10:52   ENERGY_Total    0.173
     2018-12-14 19:10:52   ENERGY_TotalStartTime 2018-12-13T15:11:59
     2018-12-14 19:10:52   ENERGY_Voltage  228
     2018-12-14 19:10:52   ENERGY_Yesterday 0.007
     2018-12-14 19:10:52   POWER           ON
     2018-12-14 19:10:52   Time            2018-12-14T19:10:52
     2018-12-14 19:10:52   Uptime          0T19:48:28
     2018-12-14 19:10:52   Vcc             3.237
     2018-12-14 19:10:52   Wifi_AP         1
     2018-12-09 16:00:02   Wifi_APMac      10:FE:ED:AC:29:FC
     2018-12-14 19:10:52   Wifi_BSSId      10:FE:ED:AC:29:FC
     2018-12-14 19:10:52   Wifi_Channel    9
     2018-12-14 19:10:52   Wifi_RSSI       18
     2018-12-14 19:10:52   Wifi_SSId       Offline2
     2018-12-14 19:08:04   precence        online
     2018-12-14 19:10:52   sensor          {"Time":"2018-12-14T19:10:52","ENERGY":{"TotalStartTime":"2018-12-13T15:11:59","Total":0.173,"Yesterday":0.007,"Today":0.040,"Period":0,"Power":2,"ApparentPower":5,"ReactivePower":5,"Factor":0.42,"Voltage":228,"Current":0.022}}
     2018-12-14 19:10:52   setup           {"Time":"2018-12-14T19:10:52","Uptime":"0T19:48:28","Vcc":3.237,"POWER":"ON","Wifi":{"AP":1,"SSId":"Offline2","BSSId":"10:FE:ED:AC:29:FC","Channel":9,"RSSI":18}}
     2018-12-13 23:22:37   state           on
     2018-12-14 19:10:52   transmission-state incoming publish received
   Message_ids:
   Publishsets:
     :
       topic      cmnd/Mess_Steckdose_1/POWER
       values:
         on
         off
   Sets:
     off
     on
   subscribe:
     tele/Mess_Steckdose_1/LWT
     tele/Mess_Steckdose_1/SENSOR
     tele/Mess_Steckdose_1/STATE
     stat/Mess_Steckdose_1/POWER
   subscribeExpr:
     ^tele\/Mess_Steckdose_1\/LWT$
     ^tele\/Mess_Steckdose_1\/SENSOR$
     ^tele\/Mess_Steckdose_1\/STATE$
     ^stat\/Mess_Steckdose_1\/POWER$
   Subscribereadings:
     stat/Mess_Steckdose_1/POWER state
     tele/Mess_Steckdose_1/LWT precence
     tele/Mess_Steckdose_1/SENSOR sensor
     tele/Mess_Steckdose_1/STATE setup
Attributes:
   IODev      Mosquitto
   alias      MSD 1 : Wäschetrockner
   devStateIcon ON:10px-kreis-gruen OFF:10px-kreis-rot
   eventMap   on:ON off:OFF
   publishSet on off cmnd/Mess_Steckdose_1/POWER
   room       MQTT,Schaltbare-Steckdosen
   stateFormat {ReadingsVal($name,"precence","") eq "offline" ? "offline" : ReadingsVal($name,"state","")}
   subscribeReading_precence tele/Mess_Steckdose_1/LWT
   subscribeReading_sensor tele/Mess_Steckdose_1/SENSOR
   subscribeReading_setup tele/Mess_Steckdose_1/STATE
   subscribeReading_state stat/Mess_Steckdose_1/POWER
   webCmd     on:off

MadMax-FHEM

Vielleicht hilft dir dieser Thread: https://forum.fhem.de/index.php/topic,93553.0.html

Ansonsten evtl. mal im Wiki readingsGroup kucken, da sind auch einige Beispiele die man anpassen kann...

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

Jamo

Vielleicht hilft dieses Beispiel, wie es aussieht unten im Bild.
define Grp2 dummy
attr   Grp2 group READINGSGROUPS
attr   Grp2 room System
attr   Grp2 setList S1:on,off S2:on,off S3:on,off S4:on,off S5:on,off S6:on,off S7:on,off S8:on,off
attr   Grp2 stateFormat state
attr   Grp2 webCmd S1:S2:S3:S4:S5:S6:S7:S8


define Grp2_rg readingsGroup <Alexa>,<SonoW>,<TVScn>,<TV-55>,<TVLicht>,<IPCam>,<Miele>,<HeizD> Grp2:S1,S2,S3,S4,S5,S6,S7,S8
attr   Grp2_rg commands {\
  'S1.on'  => 'setreading Grp2 S1 off;;set Schalter_Alexa off',\
  'S1.off' => 'setreading Grp2 S1 on ;;set Schalter_Alexa on',\
  'S2.on'  => 'setreading Grp2 S2 off;;set Schalter_Sonos_Wohn off',\
  'S2.off' => 'setreading Grp2 S2 on ;;set Schalter_Sonos_Wohn on',\
  'S3.on'  => 'setreading Grp2 S3 off;;set TVScene off',\
  'S3.off' => 'setreading Grp2 S3 on ;;set TVScene on',\
  'S4.on'  => 'setreading Grp2 S4 off;;set Schalter_TV off',\
  'S4.off' => 'setreading Grp2 S4 on ;;set Schalter_TV on',\
  'S5.on'  => 'setreading Grp2 S5 off;;set Schalter_TVLicht off',\
  'S5.off' => 'setreading Grp2 S5 on ;;set Schalter_TVLicht on',\
  'S6.on'  => 'setreading Grp2 S6 off;;set Schalter_IPCAM off',\
  'S6.off' => 'setreading Grp2 S6 on ;;set Schalter_IPCAM on',\
  'S7.on'  => 'setreading Grp2 S7 off;;set Schalter_Waschmaschine off',\
  'S7.off' => 'setreading Grp2 S7 on ;;set Schalter_Waschmaschine on',\
  'S8.on'  => 'setreading Grp2 S8 off;;set EGPM.Bett off 1',\
  'S8.off' => 'setreading Grp2 S8 on ;;set EGPM.Bett on 1'}
attr   Grp2_rg group SCHALTGRUPPE
attr   Grp2_rg noheading 1
attr   Grp2_rg nonames 1
attr   Grp2_rg room Favourites,System
attr   Grp2_rg style style="width:750px;;"
attr   Grp2_rg valueIcon { 'S1.on'  => 'ios-on-green',\
  'S1.off' => 'ios-off',\
  'S2.on'  => 'ios-on-green',\
  'S2.off' => 'ios-off',\
  'S3.on'  => 'ios-on-green',\
  'S3.off' => 'ios-off',\
  'S4.on'  => 'ios-on-green',\
  'S4.off' => 'ios-off',\
  'S5.on'  => 'ios-on-green',\
  'S5.off' => 'ios-off',\
  'S6.on'  => 'ios-on-green',\
  'S6.off' => 'ios-off',\
  'S7.on'  => 'ios-on-green',\
  'S7.off' => 'ios-off',\
  'S8.on'  => 'ios-on-green',\
  'S8.off' => 'ios-off'}

 
define Grp2_n notify (Schalter_Alexa|Schalter_Sonos_Wohn|Schalter_TV|Schalter_TVLicht|TVScene|Schalter_IPCAM|Schalter_Waschmaschine|Schalter_Heizdecke):(on|off) {\
  if    ($NAME eq "Schalter_Alexa")         {fhem ("setreading Grp2 S1 $EVENT")}\
  elsif ($NAME eq "Schalter_Sonos_Wohn" && $EVENT eq "off") {fhem ("setreading Grp2 S2 $EVENT;;set Sonos_Schlaf RemoveMember Sonos_Wohn")}\
  elsif ($NAME eq "Schalter_Sonos_Wohn" && $EVENT eq "on")  {fhem ("setreading Grp2 S2 $EVENT")}\
  elsif ($NAME eq "TVScene")                {fhem ("setreading Grp2 S3 $EVENT")}\
  elsif ($NAME eq "Schalter_TV")            {fhem ("setreading Grp2 S4 $EVENT")}\
  elsif ($NAME eq "Schalter_TVLicht")       {fhem ("setreading Grp2 S5 $EVENT")}\
  elsif ($NAME eq "Schalter_IPCAM")         {fhem ("setreading Grp2 S6 $EVENT")}\
  elsif ($NAME eq "Schalter_Waschmaschine") {fhem ("setreading Grp2 S7 $EVENT")}\
  elsif ($NAME eq "Schalter_Heizdecke")     {fhem ("setreading Grp2 S8 $EVENT")}}
attr Grp2_n room System
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

rasti

Hallo,

danke für all die Tipps. Ich habs nun hingekriegt.
Lösung ist hier => https://forum.fhem.de/index.php/topic,90220.msg872642.html#msg872642

Viele Grüße

Ralf