Autor Thema: Icons schalten alle An wenn ich einen Schalter drücke  (Gelesen 6268 mal)

Offline locodriver

  • Sr. Member
  • ****
  • Beiträge: 547
Antw:Icons schalten alle An wenn ich einen Schalter drücke
« Antwort #15 am: 06 Dezember 2021, 11:17:57 »
Ich weiß nicht, ob ich dich richtig verstehe. Ich habe jetzt ein Device "Dosen" auf Basis von Dose4 angelegt und das Attribut:

Internals:
   CFGFN     
   DEF        0000000000 01 0D
   FUUID      61ade15b-f33f-b425-676a-bf12afb4b6f96a17
   IODev      CUNO2
   NAME       Dosen
   NR         991
   STATE      off
   TYPE       IT
   XMIT       0000000000
   XMITdimdown 00
   XMITdimup  00
   XMIToff    0d
   XMITon     01
   CODE:
     1          0000000000
   READINGS:
     2021-12-06 11:09:31   IODev           CUNO2
     2021-11-29 15:06:45   protocol        V1
     2021-12-06 11:04:44   state           off
   userV1setCodes:
     off1       1D
     off2       FD
     off3       DD
     off4       0D
     on1        11
     on2        F1
     on3        D1
     on4        01
Attributes:
   room       Boerse
   userV1setCodes on4:01 off4:0D on3:D1 off3:DD on2:F1 off2:FD on1:11 off1:1D

Meinst du das so? Oder muss es vom Typ dummy sein...?

Wie muss ich vorgehen, dass alle vier einzeln angezeigt werden und bedienbar sind?
fhem 6.0 auf Rpi3 Bullseye
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Offline KölnSolar

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5659
Antw:Icons schalten alle An wenn ich einen Schalter drücke
« Antwort #16 am: 06 Dezember 2021, 14:38:35 »
Genau so.  ;)

Zitat
Wie muss ich vorgehen, dass alle vier einzeln angezeigt werden und bedienbar sind?
Du kannst sie jetzt schon schalten.set Dosen on1Damit Du das in diesem device auch im FHEMWB siehst/perClick_schalten_kannst, musst Du mal mit den Attributen devStateIcon/webCMD spielen. Das ist eine Wissenschaft für sich. U.U. musst Du sogar eigene Icons erstellen.

Und/Oder Du nimmst 4 (Dummy-)devices u. notifys.

Bsp.
define Dose1 IT 0000000001 01 0DDamit das device den Status erhält
define Dose1_state notify Dosen:.*1willst Du aus diesem device schalten
define Dose1_switch notify Dose1 set Dosen $EVENTDas geht aber nur, wenn Du entsprechende webCMD's in Dose1 hast. Denn mit on/off wird es nicht funktionieren, sondern nur mit on1/off1.

Have fun
« Letzte Änderung: 06 Dezember 2021, 16:37:04 von KölnSolar »
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18729
Antw:Icons schalten alle An wenn ich einen Schalter drücke
« Antwort #17 am: 06 Dezember 2021, 14:51:28 »
Würde statt dummy/notify mal das Stichwort "readingsProxy" in den Raum werfen, weiß aber nicht, ob das hier auch klappt, wenn jemand mit der FB rumspielt. Kann sein, dass man da eine etwas spezielle valueFn braucht...
Server: HP-T620@Debian 11, 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

Offline locodriver

  • Sr. Member
  • ****
  • Beiträge: 547
Antw:Icons schalten alle An wenn ich einen Schalter drücke
« Antwort #18 am: 09 Dezember 2021, 14:04:37 »
Jetzt habe ich die Sache gelöst - danke für eure Denkanstöße...

Für jede Dose ein Dummy:

Internals:
   CFGFN     
   FUUID      61b1f58e-f33f-b425-d39c-1afaae552482522f
   NAME       Dose1
   NR         3078
   STATE      off1
   TYPE       dummy
   READINGS:
     2021-12-09 13:53:56   state           off
Attributes:
   alexaName  Weihnachtsstern
   alias      Weihnachtsstern
   eventMap   on:on1 off:off1
   genericDeviceType light
   homebridgeMapping clear On=state,cmdOn=on1,cmdOff=off1
   room       Test
   webCmd     on1:off1

Für die Steuerung über Alexa musste ich noch ein paar Anpassungen vornehmen.

Ein DOIF:

Internals:
   CFGFN     
   DEF        ([Dose1:"^on1$"]) (set Dosen on1)
DOELSEIF
([Dose1:"^off1$"]) (set Dosen off1)
DOELSEIF
([Dose2:"^on2$"]) (set Dosen on2)
DOELSEIF
([Dose2:"^off2$"]) (set Dosen off2)
DOELSEIF
([Dose3:"^on3$"]) (set Dosen on3)
DOELSEIF
([Dose3:"^off3$"]) (set Dosen off3)
DOELSEIF
([Dose4:"^on4$"]) (set Dosen on4)
DOELSEIF
([Dose4:"^off4$"]) (set Dosen off4)

   FUUID      61b1f0e7-f33f-b425-c470-27c9a67e3249e7dc
   MODEL      FHEM
   NAME       IT_Dosen_switch
   NOTIFYDEV  Dose1,Dose3,Dose4,Dose2,global
   NR         2661
   NTFY_ORDER 50-Dose4_DOIF_1
   STATE      cmd_2
   TYPE       DOIF
   VERSION    25295 2021-12-04 18:13:39
   READINGS:
     2021-12-09 13:53:56   Device          Dose1
     2021-12-09 13:53:56   cmd             2
     2021-12-09 13:53:56   cmd_event       Dose1
     2021-12-09 13:53:56   cmd_nr          2
     2021-12-09 13:53:56   e_Dose1_events  off1
     2021-12-09 13:23:33   e_Dose2_events  off2
     2021-12-09 13:23:29   e_Dose3_events  off3
     2021-12-09 13:23:24   e_Dose4_events  off4
     2021-12-09 13:22:57   mode            enabled
     2021-12-09 13:53:56   state           cmd_2
   Regex:
     accu:
     collect:
     cond:
       Dose1:
         0:
           &STATE     ^Dose1$
         1:
           &STATE     ^Dose1$
       Dose2:
         0:
         1:
         2:
           &STATE     ^Dose2$
         3:
           &STATE     ^Dose2$
       Dose3:
         0:
         1:
         2:
         3:
         4:
           &STATE     ^Dose3$
         5:
           &STATE     ^Dose3$
       Dose4:
         0:
         1:
         2:
         3:
         4:
         5:
         6:
           &STATE     ^Dose4$
         7:
           &STATE     ^Dose4$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('Dose1',$hash,'^on1$',1)
     1          ::EventDoIf('Dose1',$hash,'^off1$',1)
     2          ::EventDoIf('Dose2',$hash,'^on2$',1)
     3          ::EventDoIf('Dose2',$hash,'^off2$',1)
     4          ::EventDoIf('Dose3',$hash,'^on3$',1)
     5          ::EventDoIf('Dose3',$hash,'^off3$',1)
     6          ::EventDoIf('Dose4',$hash,'^on4$',1)
     7          ::EventDoIf('Dose4',$hash,'^off4$',1)
   devices:
   do:
     0:
       0          set Dosen on1
     1:
       0          set Dosen off1
     2:
       0          set Dosen on2
     3:
       0          set Dosen off2
     4:
       0          set Dosen on3
     5:
       0          set Dosen off3
     6:
       0          set Dosen on4
     7:
       0          set Dosen off4
     8:
   helper:
     DEVFILTER  ^global$|^Dose1$|^Dose4$|^Dose2$|^Dose3$
     NOTIFYDEV  global|Dose1|Dose4|Dose2|Dose3
     event      off1
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Dose1
     timerevent off1
     triggerDev Dose1
     timerevents:
       off1
     timereventsState:
       state: off
     triggerEvents:
       off1
     triggerEventsState:
       state: off
   internals:
   readings:
   trigger:
     all         Dose1 Dose2 Dose3 Dose4
   uiState:
   uiTable:
Attributes:
   do         always
   room       Test

Das geht sicher eleganter, aber ich bin froh, dass es funzt... :)

Und die ehemalige Dose4 zur Steuerung:

Internals:
   DEF        0000000000 01 0D
   FUUID      61ade15b-f33f-b425-676a-bf12afb4b6f96a17
   IODev      CUNO2
   NAME       Dosen
   NR         943
   STATE      off1
   TYPE       IT
   XMIT       0000000000
   XMITdimdown 00
   XMITdimup  00
   XMIToff    0d
   XMITon     01
   CODE:
     1          0000000000
   READINGS:
     2021-12-09 11:37:56   IODev           CUNO2
     2021-11-29 15:06:45   protocol        V1
     2021-12-09 13:53:56   state           off1
   userV1setCodes:
     off1       1D
     off2       FD
     off3       DD
     off4       0D
     on1        11
     on2        F1
     on3        D1
     on4        01
Attributes:
   room       Test
   userV1setCodes on4:01 off4:0D on3:D1 off3:DD on2:F1 off2:FD on1:11 off1:1D

Die Icons sind den Dummies zugeordnet und wechseln auch bei Sprachbefehl den Zustand.
fhem 6.0 auf Rpi3 Bullseye
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal