readingsgroup für ASC - Leerspalten in Shelly Devices

Begonnen von smoudo, 01 April 2026, 23:01:44

Vorheriges Thema - Nächstes Thema

smoudo

Hi,

ich betreibe eine Readingsgroup zum einfachen einstellen der Zeiten und Aktionen für verschiedene Rollo Devices.
Das ganze besteht aus 2x Velux Rollos und 3x Shelly. Bei den Shellys fügt die RG leerspalten ein, was sehr unübersichtlich ist.
Kann mir jemand auf die Sprünge helfen wo die Leerspalten herkommen? Anbei ein Bild zur Verdeutlichung und ein List der RG
Internals:
   DEF        <Gerät>,<Position>,<Zeit_Auf_Früh>,<Zeit_Auf_Spät>,<Zeit_Auf_WE/Hol>,<Zeit_Zu_Früh>,<Zeit_Zu_Spät>,<Modus_Zu>,<Modus_Auf>
(MQTT2_shellyplus2pm_.*|Velux_.*|.*Rolladen|Jalousie_.*):pct,!?ASC_Time_Up_Early,!?ASC_Time_Up_Late,!?ASC_Time_Up_WE_Holiday,!?ASC_Time_Down_Early,!?ASC_Time_Down_Late,!?ASC_Mode_Down,!?ASC_Mode_Up
   FUUID      697e9bbc-f33f-6b5c-0621-8d5456292659d9bf
   NAME       rg_ASC_Rolllaeden_Times
   NR         498
   NTFY_ORDER 50-rg_ASC_Rolllaeden_Times
   STATE      Initialized
   TYPE       readingsGroup
   changed    0
   mayBeVisible 1
   CONTENT:
     MQTT2_shellyplus2pm_2cbcbb2d7040 1
     MQTT2_shellyplus2pm_2cbcbb7c2f4c 1
     MQTT2_shellyplus2pm_30c9224ea21c 1
     Velux_0    1
     Velux_1    1
   CONTENT2:
   DEVICES:
     ARRAY(0x5d116abc)
     ARRAY(0x58c36568)
     ARRAY(0x5d1e2af0)
     ARRAY(0x5d308094)
     ARRAY(0x5c82754c)
     ARRAY(0x5d135380)
   fhem:
     lastDefChange 6
     last_update 1775076577.36226
   helper:
     DEF       
     commands:
       ASC_Mode_Down ASC_Mode_Down:always,absent,off
       ASC_Mode_Up ASC_Mode_Up:always,absent,off
       ASC_Time_Down_Early ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00
       ASC_Time_Down_Late ASC_Time_Down_Late:19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30
       ASC_Time_Up_Early ASC_Time_Up_Early:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00
       ASC_Time_Up_Late ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00
       ASC_Time_Up_WE_Holiday ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00
       pct        pct:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100
     positions:
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Mode_Down 2:7
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Mode_Up 2:8
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Time_Down_Early 2:5
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Time_Down_Late 2:6
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Time_Up_Early 2:2
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Time_Up_Late 2:3
       MQTT2_shellyplus2pm_2cbcbb2d7040.ASC_Time_Up_WE_Holiday 2:4
       MQTT2_shellyplus2pm_2cbcbb2d7040.pct 2:1
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Mode_Down 3:7
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Mode_Up 3:8
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Time_Down_Early 3:5
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Time_Down_Late 3:6
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Time_Up_Early 3:2
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Time_Up_Late 3:3
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.ASC_Time_Up_WE_Holiday 3:4
       MQTT2_shellyplus2pm_2cbcbb7c2f4c.pct 3:1
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Mode_Down 4:7
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Mode_Up 4:8
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Time_Down_Early 4:5
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Time_Down_Late 4:6
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Time_Up_Early 4:2
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Time_Up_Late 4:3
       MQTT2_shellyplus2pm_30c9224ea21c.ASC_Time_Up_WE_Holiday 4:4
       MQTT2_shellyplus2pm_30c9224ea21c.pct 4:1
       Velux_0.ASC_Mode_Down 5:7
       Velux_0.ASC_Mode_Up 5:8
       Velux_0.ASC_Time_Down_Early 5:5
       Velux_0.ASC_Time_Down_Late 5:6
       Velux_0.ASC_Time_Up_Early 5:2
       Velux_0.ASC_Time_Up_Late 5:3
       Velux_0.ASC_Time_Up_WE_Holiday 5:4
       Velux_0.pct 5:1
       Velux_1.ASC_Mode_Down 6:7
       Velux_1.ASC_Mode_Up 6:8
       Velux_1.ASC_Time_Down_Early 6:5
       Velux_1.ASC_Time_Down_Late 6:6
       Velux_1.ASC_Time_Up_Early 6:2
       Velux_1.ASC_Time_Up_Late 6:3
       Velux_1.ASC_Time_Up_WE_Holiday 6:4
       Velux_1.pct 6:1
     values:
       formated:
         undef
         ARRAY(0x5d1bfd58)
         ARRAY(0x5d0ec280)
         ARRAY(0x5d1ce32c)
         ARRAY(0x5c7f6940)
         ARRAY(0x5d0ec5dc)
         ARRAY(0x5d1ce2dc)
         ARRAY(0x5c58c0a4)
         ARRAY(0x5d1df444)
       orig:
         undef
         ARRAY(0x5d1c8014)
         ARRAY(0x5d1c52e8)
         ARRAY(0x5c8242c0)
         ARRAY(0x5d1df3e0)
         ARRAY(0x5d1be534)
         ARRAY(0x5d1df0ac)
         ARRAY(0x5d1e6ce0)
         ARRAY(0x5d0b1fc4)
       prefixsuffix:
         undef
         ARRAY(0x5c8293c0)
         ARRAY(0x5d1c0014)
         ARRAY(0x5d0b5438)
         ARRAY(0x5d3078c4)
         ARRAY(0x5d0b1da8)
         ARRAY(0x5cb11870)
         ARRAY(0x5d0f0730)
         ARRAY(0x5d1c9a0c)
Attributes:
   commands   {pct => 'pct:0,10,20,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100',
 ASC_Time_Down_Early => 'ASC_Time_Down_Early:15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00',
 ASC_Time_Down_Late  => 'ASC_Time_Down_Late:19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30',
 ASC_Time_Up_WE_Holiday => 'ASC_Time_Up_WE_Holiday:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',
 ASC_Time_Up_Early => 'ASC_Time_Up_Early:05:00,05:05,05:30,05:55,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',
 ASC_Time_Up_Late => 'ASC_Time_Up_Late:06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00',
 ASC_Mode_Down => 'ASC_Mode_Down:always,absent,off',

 ASC_Mode_Up => 'ASC_Mode_Up:always,absent,off' }

Vielen Dank

Matze


bertl

Hallo Matze,

hast du das Problem schon gelöst?

Falls nicht, warum verwendest du in der Definition immer "!?"
Das "!" verstehe ich aber das "?" verstehe ich nicht.

Laut Commandref:
Wenn Regex mit einem '?' beginnt, wird es mit den Attributen des Geräts verglichen und nicht mit den Werten (Readings) verglichen.
Wenn Regex mit einem '!' beginnt, wird die Anzeige des Wertes erzwungen, auch wenn kein Reading mit diesem Namen verfügbar ist.

Ich würde mal versuchen die "?" wegzulassen
DEF        <Gerät>,<Position>,<Zeit_Auf_Früh>,<Zeit_Auf_Spät>,<Zeit_Auf_WE/Hol>,<Zeit_Zu_Früh>,<Zeit_Zu_Spät>,<Modus_Zu>,<Modus_Auf>
(MQTT2_shellyplus2pm_.*|Velux_.*|.*Rolladen|Jalousie_.*):pct,!ASC_Time_Up_Early,!ASC_Time_Up_Late,!ASC_Time_Up_WE_Holiday,!ASC_Time_Down_Early,!ASC_Time_Down_Late,!ASC_Mode_Down,!ASC_Mode_Up

Gruß Robert