HM-TC-IT-WM-W-EU und weekprofile

Begonnen von Apollo, 24 Januar 2025, 19:54:21

Vorheriges Thema - Nächstes Thema

Apollo

Hallo, ich habe ein Themostat (HM-TC-IT-WM-W-EU) und würde das Wochenprogramm gerne über FHEM bearbeiten.
Momentan mach ich das in RaspberryMatic.
Alles was ich zu weekprofile finde, ist das es auf den Kanal _Climate zugreifen soll.
HMCCU hat mir aber nur ein Gerät angelegt.
Internals:
   DEF        REQ0837379:2
   FUUID      677d5e0a-f33f-df0d-b587-665f2b61fd1c55b9
   IODev      d_ccu
   NAME       Thermostat_Bad
   NR         829
   STATE      24.3
   TYPE       HMCCUCHN
   ccuaddr    REQ0837379:2
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HM-TC-IT-WM-W-EU REQ0837379:2
   ccurolectrl THERMALCONTROL_TRANSMIT
   ccurolestate THERMALCONTROL_TRANSMIT
   ccusubtype HM-TC-IT-WM-W-EU
   ccutype    HM-TC-IT-WM-W-EU
   chntype    ?
   eventCount 326
   firmware   1.4
   readonly   no
   READINGS:
     2025-01-24 19:29:12   ACTUAL_HUMIDITY 39.0
     2025-01-24 19:29:12   ACTUAL_TEMPERATURE 24.3
     2025-01-24 18:43:55   BATTERY_STATE   3.0
     2025-01-24 18:43:55   BOOST_STATE     0
     2025-01-24 18:43:55   COMMUNICATION_REPORTING false
     2025-01-24 18:43:55   CONTROL_MODE    AUTO-MODE
     2025-01-24 15:42:45   IODev           d_ccu
     2025-01-24 18:43:55   LOWBAT_REPORTING false
     2025-01-24 18:43:55   PARTY_START_DAY 1
     2025-01-24 18:43:55   PARTY_START_MONTH 1
     2025-01-24 18:43:55   PARTY_START_TIME 00:00
     2025-01-24 18:43:55   PARTY_START_YEAR 0
     2025-01-24 18:43:55   PARTY_STOP_DAY  1
     2025-01-24 18:43:55   PARTY_STOP_MONTH 1
     2025-01-24 18:43:55   PARTY_STOP_TIME 00:00
     2025-01-24 18:43:55   PARTY_STOP_YEAR 0
     2025-01-24 18:43:55   PARTY_TEMPERATURE 5.0
     2025-01-24 19:29:12   SET_TEMPERATURE 24.0
     2025-01-24 18:43:55   WINDOW_OPEN_REPORTING closed
     2025-01-24 15:43:05   activity        alive
     2025-01-24 15:43:05   battery         ok
     2025-01-24 19:29:12   control         24.0
     2025-01-24 19:29:12   desired-temp    24.0
     2025-01-24 19:29:32   devstate        ok
     2025-01-24 19:29:32   hmstate         24.3
     2025-01-24 19:29:12   humidity        39.0
     2025-01-24 19:29:12   measured-temp   24.3
     2025-01-24 15:43:05   rssidevice      N/A
     2025-01-24 15:43:05   rssipeer        -79
     2025-01-24 15:43:05   sign            off
     2025-01-24 19:29:12   state           24.3
   hmccu:
     channels   1
     detect     0
     devspec    REQ0837379:2
     nodefaults 1
     role       2:THERMALCONTROL_TRANSMIT
     setDefaults 0
     cmdlist:
       get        week-program:"WEEK#PROGRAM#1","WEEK#PROGRAM#2","WEEK#PROGRAM#3"
       set        manu off:noArg boost:off,on desired-temp on:noArg week-program:"WEEK#PROGRAM#1","WEEK#PROGRAM#2","WEEK#PROGRAM#3" auto:noArg
     control:
       chn        2
       dpt        SET_TEMPERATURE
     dp:
       0.AES_KEY:
         VALUES:
           NVAL       0
           SVAL       off
           VAL        0
       0.CONFIG_PENDING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.DEVICE_IN_BOOTLOADER:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.INHIBIT:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.LOWBAT:
         VALUES:
           NVAL       0
           SVAL       ok
           VAL        0
       0.RSSI_DEVICE:
         VALUES:
           NVAL       N/A
           SVAL       N/A
           VAL        -65535
       0.RSSI_PEER:
         VALUES:
           NVAL       -79
           SVAL       -79
           VAL        -79
       0.STICKY_UNREACH:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       0.UNREACH:
         VALUES:
           NVAL       0
           SVAL       alive
           VAL        0
       0.UPDATE_PENDING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       2.ACTUAL_HUMIDITY:
         VALUES:
           NVAL       39.000000
           SVAL       39.0
           VAL        39.000000
       2.ACTUAL_TEMPERATURE:
         VALUES:
           NVAL       24.300000
           ONVAL      24.400000
           OSVAL      24.4
           OVAL       24.400000
           SVAL       24.3
           VAL        24.300000
       2.BATTERY_STATE:
         VALUES:
           NVAL       3.000000
           SVAL       3.0
           VAL        3.000000
       2.BOOST_STATE:
         VALUES:
           NVAL       0
           SVAL       0
           VAL        0
       2.COMMUNICATION_REPORTING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       2.CONTROL_MODE:
         VALUES:
           NVAL       0
           SVAL       AUTO-MODE
           VAL        0
       2.LOWBAT_REPORTING:
         VALUES:
           NVAL       0
           SVAL       false
           VAL        0
       2.PARTY_START_DAY:
         VALUES:
           NVAL       1
           SVAL       1
           VAL        1
       2.PARTY_START_MONTH:
         VALUES:
           NVAL       1
           SVAL       1
           VAL        1
       2.PARTY_START_TIME:
         VALUES:
           NVAL       00:00
           SVAL       00:00
           VAL        0
       2.PARTY_START_YEAR:
         VALUES:
           NVAL       0
           SVAL       0
           VAL        0
       2.PARTY_STOP_DAY:
         VALUES:
           NVAL       1
           SVAL       1
           VAL        1
       2.PARTY_STOP_MONTH:
         VALUES:
           NVAL       1
           SVAL       1
           VAL        1
       2.PARTY_STOP_TIME:
         VALUES:
           NVAL       00:00
           SVAL       00:00
           VAL        0
       2.PARTY_STOP_YEAR:
         VALUES:
           NVAL       0
           SVAL       0
           VAL        0
       2.PARTY_TEMPERATURE:
         VALUES:
           NVAL       5.000000
           SVAL       5.0
           VAL        5.000000
       2.SET_TEMPERATURE:
         VALUES:
           NVAL       24.000000
           ONVAL      20.000000
           OSVAL      20.0
           OVAL       20.000000
           SVAL       24.0
           VAL        24.000000
       2.WINDOW_OPEN_REPORTING:
         VALUES:
           NVAL       0
           SVAL       closed
           VAL        0
     roleChannels:
       THERMALCONTROL_TRANSMIT 2
     roleCmds:
       get:
         week-program:
           channel    d
           ps         MASTER
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     D:WEEK_PROGRAM_POINTER:#program:HMCCU_DisplayWeekProgram
           usage      week-program {WEEK PROGRAM 3,WEEK PROGRAM 1,WEEK PROGRAM 2}
           subcmd:
             000:
               args       WEEK PROGRAM 3,WEEK PROGRAM 1,WEEK PROGRAM 2
               dpt        WEEK_PROGRAM_POINTER
               fnc        HMCCU_DisplayWeekProgram
               max        2
               min        0
               parname    program
               partype    1
               ps         MASTER
               scn        000
               type       ENUM
               unit       
               look:
                 WEEK PROGRAM 1 0
                 WEEK PROGRAM 2 1
                 WEEK PROGRAM 3 2
       set:
         auto:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:AUTO_MODE:1
           usage      auto
           subcmd:
             000:
               args       1
               dpt        AUTO_MODE
               fnc       
               max        1
               min        0
               parname    AUTO_MODE
               partype    3
               ps         VALUES
               scn        000
               type       ACTION
               unit       
         boost:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:BOOST_MODE:#boost=on,off
           usage      boost {on,off}
           subcmd:
             000:
               args       on,off
               dpt        BOOST_MODE
               fnc       
               max        1
               min        0
               parname    boost
               partype    1
               ps         VALUES
               scn        000
               type       ACTION
               unit       
               look:
                 off        0
                 on         1
         desired-temp:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:SET_TEMPERATURE:?temperature
           usage      desired-temp temperature
           subcmd:
             000:
               args       
               dpt        SET_TEMPERATURE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               type       FLOAT
               unit       �C
         manu:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:MANU_MODE:?temperature=20
           usage      manu [temperature]
           subcmd:
             000:
               args       20
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    temperature
               partype    2
               ps         VALUES
               scn        000
               type       FLOAT
               unit       �C
         off:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:MANU_MODE:4.5
           usage      off
           subcmd:
             000:
               args       4.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               type       FLOAT
               unit       �C
         on:
           channel    2
           ps         VALUES
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     V:MANU_MODE:30.5
           usage      on
           subcmd:
             000:
               args       30.5
               dpt        MANU_MODE
               fnc       
               max        30.500000
               min        4.500000
               parname    MANU_MODE
               partype    3
               ps         VALUES
               scn        000
               type       FLOAT
               unit       �C
         week-program:
           channel    d
           ps         MASTER
           role       THERMALCONTROL_TRANSMIT
           rpc        0
           subcount   1
           syntax     D:WEEK_PROGRAM_POINTER:#program
           usage      week-program {WEEK PROGRAM 3,WEEK PROGRAM 1,WEEK PROGRAM 2}
           subcmd:
             000:
               args       WEEK PROGRAM 3,WEEK PROGRAM 1,WEEK PROGRAM 2
               dpt        WEEK_PROGRAM_POINTER
               fnc       
               max        2
               min        0
               parname    program
               partype    1
               ps         MASTER
               scn        000
               type       ENUM
               unit       
               look:
                 WEEK PROGRAM 1 0
                 WEEK PROGRAM 2 1
                 WEEK PROGRAM 3 2
     state:
       chn        2
       dpt        ACTUAL_TEMPERATURE
Attributes:
   alias      Thermostat Bad
   cmdIcon    auto:sani_heating_automatic manu:sani_heating_manual on:general_an off:general_aus
   group      Heizung
   room       Bad,Testraum
   sortby     1
   substexcl  desired-temp
   webCmd     desired-temp:auto:manu:on:off
   widgetOverride desired-temp:slider,4.5,0.5,30.5,1
Muss ich die Kanäle manuell anlegen?
Die Steuerung der Heizung funktioniert bereits mit PWM auf einen SONOFF/Tasmota Schalter.

MadMax-FHEM

Was du gelesen hast ist Einbindung per CUL_HM in fhem.
D.h. fhem ist quasi die CCU...

Du hast Homematic indirekt eingebunden, also die echte CCU per HMCCU.

Da geht das bestimmt auch aber dazu musst du nachlesen wo es um HMCCU geht...

Ich nutze CUL_HM, daher kann ich dir nicht konkret(er) weiterhelfen...

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)

Apollo

Ich hatte mal testweise einen nanoCUL für das HM Protokoll, da ging das mit dem weekprofile.
Der hing aber oft und musste neu initialisiert werden.
Daher hielt ich den Weg über eine CCU, in dem Fall RaspberryMatic, als gute Idee.
Aber scheinbar doch kein so sinnvoller Weg.

Beta-User

Es sollte auch via ccu gehen; bitte mal den weekprofile-Thread durchsehen, da steht was dazu (es gab/gibt(?) da aber irgendwelche Probleme und Patch-Vorschläge, bei denen nicht klar ist, wie herum es jetzt sein soll, afair).
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

juemuc

Laut Wiki Wiki weekprofile sollte es mit weekprofile und HMCCU funktionieren.

Bei mir werden allerdings mit einem IP-Thermostat (HmIP_WTH_B_2) falsche Werte geliefert und das senden an das Device funktioniert auch nicht. Da ich das Wochenprofil aber nur sselten nutze, ist es für mich kein Problem es über die CCU3-Weboberfläche zu pflegen.

Eventuell kann der "weekprofile-Autor" helfen.

Viele Grüße
Jürgen

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Beta-User

Zitat von: juemuc am 25 Januar 2025, 15:19:44Eventuell kann der "weekprofile-Autor" helfen.
Das ist schon Thema gewesen im entsprechend Thread. Das Problem scheint (! von sehr weit weg und aus den Augenwinkeln als Eindruck entstanden...) zu sein, dass es unterschiedliche Konfigurationsmöglichkeiten für die Thermostate zu geben scheint, also nicht nur BidCos<=>IP, sondern auch (mindestens) innerhalb der HMIP-Welt, so dass es für den einen so funktioniert, und für den anderen wieder anders.
Solange das so ist und es keinen "vereinbarten Standard" gibt, hat Risiko eigentlich keine Chance, das zu fixen...

Jemand muss hergehen und die ganze Kette mal funktionieren aufzeigen (Konfiguration des HMCCU.*-Geräts bzw. der Geräte (Wandthermostat und HK-Thermostat sind uU. stark unterschiedlich, ist ja auch in BidCoS so), und dazu passenden, funktionierenden Code in weekprofile.
Die Patch-Corschläge scheinen sich zumindest beim Überfliegen zu widersprechen, da kannste als Maintainer nur den Kopf in den Sand stecken...
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

juemuc

Ich kann gerne unterstützen (sofern es nicht um Prgrammieren geht).

Ich habe folgende Geräte im Einsatz: HmIP_WTH_B_2, HmIP-eTRV-B-2 R4M  und HmIP-eTRV-C-2.

Im Logfile finde ich folgende Infos:

2025.01.25 14:55:16.484 1: PERL WARNING: Argument "05:30" isn't numeric in modulus (%) at ./FHEM/98_weekprofile.pm line 82.
2025.01.25 14:55:16.484 1: PERL WARNING: Argument "22:30" isn't numeric in modulus (%) at ./FHEM/98_weekprofile.pm line 82.
2025.01.25 14:55:16.484 1: PERL WARNING: Argument "24:00" isn't numeric in modulus (%) at ./FHEM/98_weekprofile.pm line 82.
2025.01.25 14:55:16.484 1: PERL WARNING: Argument "22:00" isn't numeric in modulus (%) at ./FHEM/98_weekprofile.pm line 82.
2025.01.25 15:01:59.353 1: HMCCUCHN [HmIP_WTH_B_2_003460C9ACB99A] HMCCUCHN: HmIP_WTH_B_2_003460C9ACB99A Invalid parameter specified
2025.01.25 15:04:10.080 2: WP_Wohnzimmer(readDayProfile): no readings for MONDAY found
2025.01.25 15:04:10.083 2: WP_Wohnzimmer(readDayProfile): no readings for TUESDAY found
2025.01.25 15:04:10.084 2: WP_Wohnzimmer(readDayProfile): no readings for WEDNESDAY found
2025.01.25 15:04:10.084 2: WP_Wohnzimmer(readDayProfile): no readings for THURSDAY found
2025.01.25 15:04:10.085 2: WP_Wohnzimmer(readDayProfile): no readings for FRIDAY found
2025.01.25 15:04:10.085 2: WP_Wohnzimmer(readDayProfile): no readings for SATURDAY found
2025.01.25 15:04:10.085 2: WP_Wohnzimmer(readDayProfile): no readings for SUNDAY found


Bezüglich HMCCU-Kommunikation kann eventuell zap wichtige Infos liefern. Aktuell bin ich mir unsicher, ob hierzu eventuell ein eigener Thread eröffnet werden sollte.

Viele Grüße
Jürgen

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).