Hauptmenü

Neueste Beiträge

#1
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von stefanru - 14 Januar 2026, 01:15:43
Hi Jo,
benutzt du RAW Readings?
Da wird alles ausgegeben was die WP in der API liefert.
Was bei RAW Readings nicht auftaucht liefert auch die API nicht.
Du kannst dir die Antwort von Viessmann mit allen Werten auch anschauen.
Wenn du am Device logResponceOnce aufrufst, wird im FHEM Log Verzeichnis eine Datei resource_<seriennummer>.json abgelegt.
Das ist die Antwort von Viessmann.
Wenn die Daten Fehlen kannst du im Viessmann Forum mal nachschauen unter Developer. Da klagen viele ihr Leid ;-)
Eventuell findest du schon etwas das die Werte (noch) nicht geliefert werden.

Viele Grüße,
Stefan
#2
Homematic / Einbindung HmIP-WTH-1
Letzter Beitrag von LaberBlah - 14 Januar 2026, 00:43:42
Hi,

ich versuche ein HmIP-WTH-1 anzulegen. Es ist in der debmatic Sichtbar und ich bekomme es auch via "get d_ccu ccuDevices" angezeigt:

Wandthermostat_EG_Wohnzimmer HmIP-WTH-1 HmIP-RF 00392409976850 8 HEATING_CLIMATECONTROL_TRANSCEIVER [1x]
allerdings erscheint es nicht im Dropdown-Menü bei "createDev". Wenn ich "get d_ccu create Wand*" eingebe, erhalte ich:

Results of create command:
Not detected CCU devices:
  Wandthermostat_EG_Wohnzimmer = 00392409976850 [Wandthermostat_EG_Wohnzimmer]

Ich kann das Gerät allerdings manuell anlegen und ein paar Attribute ähnlich denen meiner Heizungsthermostate setzen:

defmod Wandthermostat_EG_Wohnzimmer HMCCUCHN 00392409976850:1
attr Wandthermostat_EG_Wohnzimmer room EG_Wohnzimmer,Homematic
attr Wandthermostat_EG_Wohnzimmer group Heizung
attr Wandthermostat_EG_Wohnzimmer cmdIcon auto:sani_heating_automatic manu:sani_heating_manual on:general_an off:general_aus
attr Wandthermostat_EG_Wohnzimmer substexcl desired-temp
attr Wandthermostat_EG_Wohnzimmer webCmd desired-temp:auto:manu:boost:on:off
attr Wandthermostat_EG_Wohnzimmer widgetOverride desired-temp:slider,4.5,0.5,30.5,1
attr Wandthermostat_EG_Wohnzimmer room EG_Wohnzimmer,Homematic
attr Wandthermostat_EG_Wohnzimmer group Heizung


Da werden auch eine Menge internals und angezeigt, allerdings kann ich weder das Attribut controldatapoint auf SET_POINT_TEMPERATURE bzw 1.SET_POINT_TEMPERATURE setzen noch statedatapoint auf ACTUAL_TEMPERATURE bzw 1.ACTUAL_TEMPERATURE
HMCCUCHN [Wandthermostat_EG_Wohnzimmer] Invalid value ACTUAL_TEMPERATURE for attribute statedatapointDesweiteren kann ich "desired-temp" nicht setzen, ich kann auch kein Attribut setList setzen, da heißt es, es wäre ungültig. Kann mir da jemand weiterhelfen?
Listing:
Internals
CFGFN
DEF 00392409976850:1
FUUID 6966d501-f33f-3822-5cf2-f44d66a4c9e91678
IODev d_ccu
NAME Wandthermostat_EG_Wohnzimmer
NR 766
STATE ???
TYPE HMCCUCHN
ccuaddr 00392409976850:1
ccudevstate active
ccuif HmIP-RF
ccuname HmIP-WTH-1 00392409976850:1
ccusubtype WTH-2
ccutype HmIP-WTH-1
eventCount 3
firmware 1.2.8
readonly no
receiver ccu:Heizung_EG_Wohnzimmer_Rechts,ccu:Heizung_EG_Wohnzimmer_Hinten,FK_EG_WZ_HI_RE,FK_EG_WZ_BT
sender ccu:Heizung_EG_Wohnzimmer_Rechts,ccu:Heizung_EG_Wohnzimmer_Hinten,FK_EG_WZ_HI_RE,FK_EG_WZ_BT

Readings
ACTIVE_PROFILE 1 2026-01-14 00:28:01
ACTUAL_TEMPERATURE 22.0 2026-01-14 00:28:01
ACTUAL_TEMPERATURE_STATUS 0 2026-01-14 00:28:01
BOOST_TIME 0 2026-01-14 00:28:01
FROST_PROTECTION 0 2026-01-14 00:28:01
HEATING_COOLING 0 2026-01-14 00:28:01
HUMIDITY 39 2026-01-14 00:28:01
HUMIDITY_STATUS 0 2026-01-14 00:28:01
PARTY_MODE 0 2026-01-14 00:28:01
PARTY_SET_POINT_TEMPERATURE 0.0 2026-01-14 00:28:01
PARTY_TIME_END 2026-01-14 00:28:01
PARTY_TIME_START 2026-01-14 00:28:01
QUICK_VETO_TIME 0 2026-01-14 00:28:01
SET_POINT_MODE manual 2026-01-14 00:28:01
SET_POINT_TEMPERATURE 20.0 2026-01-14 00:28:01
SWITCH_POINT_OCCURED 0 2026-01-14 00:28:01
WINDOW_STATE closed 2026-01-14 00:28:01
activity alive 2026-01-14 00:34:22
battery ok 2026-01-14 00:28:01
desired-temp 20.0 2026-01-14 00:28:01
devstate ok 2026-01-14 00:34:22
humidity 39 2026-01-14 00:28:01
measured-temp 22.0 2026-01-14 00:28:01
rssidevice -81 2026-01-14 00:34:22
rssipeer -82 2026-01-14 00:28:01
voltage 3.1 2026-01-14 00:28:01
week-program 1 2026-01-14 00:28:01

Device channels and datapoints

DEV Wandthermostat_EG_Wohnzimmer 00392409976850 interface=HmIP-RF type=HmIP-WTH-1
CHN 00392409976850:0 Wandthermostat_EG_Wohnzimmer:0
   0.CONFIG_PENDING = false {b} [RE]
   0.DUTY_CYCLE = false {b} [RE]
   0.INSTALL_TEST = true {b} [RW]
   0.LOW_BAT = false {b} [RE]
   0.OPERATING_VOLTAGE = 3.100000 {f} [RE]
   0.OPERATING_VOLTAGE_STATUS = 0 {i} [RE]
   0.RSSI_DEVICE = -83 {i} [RE]
   0.RSSI_PEER = -82 {i} [RE]
   0.UNREACH = false {b} [RE]
   0.UPDATE_PENDING = false {b} [RE]
CHN 00392409976850:1 HmIP-WTH-1 00392409976850:1
   1.ACTIVE_PROFILE = 1 {i} [RWE]
   1.ACTUAL_TEMPERATURE = 22.000000 {f} [RE]
   1.ACTUAL_TEMPERATURE_STATUS = 0 {i} [RE]
   1.BOOST_MODE = false {b} [WE]
   1.BOOST_TIME = 0 {i} [RE]
   1.CONTROL_DIFFERENTIAL_TEMPERATURE =  {f} [W]
   1.CONTROL_MODE =  {i} [W]
   1.DURATION_UNIT =  {i} [W]
   1.DURATION_VALUE =  {i} [W]
   1.FROST_PROTECTION = false {b} [RE]
   1.HEATING_COOLING = 0 {i} [RWE]
   1.HUMIDITY = 39 {i} [RE]
   1.HUMIDITY_STATUS = 0 {i} [RE]
   1.PARTY_MODE = false {b} [RE]
   1.PARTY_SET_POINT_TEMPERATURE = 0.000000 {f} [RE]
   1.PARTY_TIME_END =  {s} [RWE]
   1.PARTY_TIME_START =  {s} [RWE]
   1.QUICK_VETO_TIME = 0 {i} [RE]
   1.SET_POINT_MODE = 1 {i} [RWE]
   1.SET_POINT_TEMPERATURE = 20.000000 {f} [RWE]
   1.SWITCH_POINT_OCCURED = false {b} [RE]
   1.WINDOW_STATE = 0 {i} [RWE]

Device description

Device 00392409976850 Wandthermostat_EG_Wohnzimmer [HmIP-WTH-1]
  AES_ACTIVE: 1
  AVAILABLE_FIRMWARE: 0.0.0
  CHILDREN: 00392409976850:0,00392409976850:1,00392409976850:2,00392409976850:3,00392409976850:4,00392409976850:5,00392409976850:6,00392409976850:7
  DIRECTION: NONE
  FIRMWARE: 1.2.8
  FIRMWARE_UPDATE_STATE: UP_TO_DATE
  FLAGS: Visible
  PARAMSETS: MASTER,SERVICE
  RF_ADDRESS: 6395734
  ROAMING: 0
  RX_MODE: ALWAYS,LAZY_CONFIG,BURST
  SUBTYPE: WTH-2
  UPDATABLE: 1
Channel 00392409976850:0 Wandthermostat_EG_Wohnzimmer:0 [MAINTENANCE]
  AES_ACTIVE: 1
  DIRECTION: NONE
  FLAGS: Visible
  PARAMSETS: MASTER,VALUES,SERVICE
  PARENT: 00392409976850
  PARENT_TYPE: HmIP-WTH-1
  RF_ADDRESS: 0
  ROAMING: 0
  RX_MODE:
  UPDATABLE: 1
Channel 00392409976850:1 HmIP-WTH-1 00392409976850:1 [HEATING_CLIMATECONTROL_TRANSCEIVER] known
  AES_ACTIVE: 1
  DIRECTION: SENDER
  FLAGS: Visible
  LINK_SOURCE_ROLES: CLIMATE_CONTROL_WTH_TRV
  PARAMSETS: MASTER,VALUES,LINK,SERVICE
  PARENT: 00392409976850
  PARENT_TYPE: HmIP-WTH-1
  RF_ADDRESS: 0
  ROAMING: 0
  RX_MODE:
  UPDATABLE: 1

Defaults

Support for role(s) HEATING_CLIMATECONTROL_TRANSCEIVER of device type HmIP-WTH-1 is built in.



#3
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von DS_Starter - 13 Januar 2026, 23:26:19
Geht mir auch so ... muß nach längerer Zeit auch immer genau nachlesen wie etwas gebaut ist. Es gibt einfach zu viele verschiedene Themen um sich alles zu behalten ;).
#4
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von 300P - 13 Januar 2026, 23:20:57
Ohje  :'(  :-X  :-[ ich nutze DBREP jetzt schon x Jahre - hab aber daran überhaupt nicht mehr gedacht ........
Asche über mein Haupt  O:-) ich werde wohl zu alt......

Jetzt "zählt alles richt"
#5
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von DS_Starter - 13 Januar 2026, 23:07:19
Hallo 300P,

das liegt an der expliziten Auswertung jeder einzelnen Datensatzes bzw. der Differenzen zueinander.
Aus der Commandref:

ZitatEs wird die Differenz aus den VALUE-Werten der im Aggregationszeitraum (z.B. day) vorhandenen Datensätze gebildet und aufsummiert. Ein Übertragswert aus der Vorperiode (aggregation) zur darauf folgenden Aggregationsperiode wird berücksichtigt, sofern diese Periode einen Value-Wert enhtält.

In der Standardeinstellung wertet die Funktion nur positive Differenzen aus wie sie z.B. bei einem stetig ansteigenden Zählerwert auftreten. Mit dem Attribut diffAccept) kann sowohl die akzeptierte Differenzschwelle als auch die Möglichkeit negative Differenzen auszuwerten eingestellt werden.

Möglicherweise gibt es in der Reihen einen oder mehrere abfallende Werte, die in der Standardeinstellung nicht gewertet werden, aber danach mit einer stärkeren Steigung wieder Beachtung finden.
Mit dem Attr diffAccept kann man Einfluß nehmen oder wie du es getan hast einfach den ersten und letzten Wert nehmen wenn einem die dazwischen liegenden Schwankungen nicht interessieren.

LG,
Heiko
#6
DOIF / Aw: Anfängerfrage zu DOIF - Wi...
Letzter Beitrag von Damian - 13 Januar 2026, 23:00:41
Dann musst du einfach das Event, welches triggern soll, anpassen:

DOIF (["^Rauchmelder:^params_smoke_0_alarm: true"]) (set EG.OG.ZF.Rollo.auf.ab up)
#7
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von jopare - 13 Januar 2026, 22:47:00
Hallo,
hab seit einiger Zeit eine Vitocal WP und durch Zufall das Vitoconnect Modul entdeckt. Hab's natürlich gleich ausprobiert und es hat auf Anhieb hingehauen. Is ne dolle Sache. Beim Feintuning ist mir aufgefallen das mir einige Readings der Zusatzheizung fehlen. Z.B.
heating.heatingRod.heat.production.current
heating.heatingRod.heatTarget
Werden die nicht abgerufen, sind die nicht implementiert oder woran kann das liegen?
Gruss... Jo
#8
Marktplatz - Güter / Aw: [Verschenke] 7 Stück PCA30...
Letzter Beitrag von ph1959de - 13 Januar 2026, 22:47:00
Hallo Piet,

würde ich gern übernehmen, auch wenn es derzeit nur "sicherheitsreserve" für mich wäre.

Rest per pm?

Gruß, Peter
#9
Automatisierung / Aw: Modul 93_DbRep - Reporting...
Letzter Beitrag von 300P - 13 Januar 2026, 22:17:40
Hallo Heiko,

nach dem Jahreswechsel habe ich bei einem Report einen mir unerklärlichen "Zählfehler"

Hier ein List des device:
Internals:
   DATABASE   fhem
   DEF        myDbLog
   FUUID      68dadafc-f33f-11b3-7c89-597145420ca7a720
   FVERSION   93_DbRep.pm:v8.54.19-s30153/2025-07-27
   LASTCMD    diffValue display
   MODEL      Client
   NAME       Rep.MQTT2_WP_Waermemenge.Erzeugung.Vorjahr
   NOTIFYDEV  global,Rep.MQTT2_WP_Waermemenge.Erzeugung.Vorjahr
   NR         1974
   NTFY_ORDER 50-Rep.MQTT2_WP_Waermemenge.Erzeugung.Vorjahr
   ROLE       Client
   STATE      done
   TYPE       DbRep
   UTF8       1
   eventCount 12
   HELPER:
     DBLOGDEVICE myDbLog
     GRANTS     INSERT,SELECT,ALL PRIVILEGES,UPDATE,DELETE
     IDRETRIES  2
     MINTS      1996-03-08 17:23:29
     PACKAGE    main
     VERSION    8.54.19
     CV:
       aggregation no
       aggsec     1
       destr      2025-12-31
       dsstr      2025-01-01
       epoch_seconds_end 1767221999
       mestr      12
       msstr      01
       testr      23:59:59
       tsstr      00:00:00
       wdadd     
       yestr      2025
       ysstr      2025
     DBREPCOL:
       COLSET     1
       DEVICE     64
       EVENT      512
       READING    64
       TYPE       64
       UNIT       32
       VALUE      128
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1768331811.03616
           VALUE      done
   OLDREADINGS:
   READINGS:
     2026-01-13 20:16:50   2025-12-31_23-59-20__MQTT_EMSwp__boiler_data_nrgtotal__DIFF__no_aggregation 12970.7300
     2026-01-13 20:16:50   background_processing_time 6.4102
     2026-01-13 20:16:50   sql_processing_time 3.7993
     2026-01-13 20:16:50   state           done
Attributes:
   aggregation no
   devStateIcon connected:10px-kreis-gelb .*disconnect:10px-kreis-rot .*done:10px-kreis-gruen
   device     MQTT_EMSwp
   diffAccept 20000
   disable    0
   event-on-update-reading state
   group      Energy Meter Auswertung
   reading    boiler_data_nrgtotal
   room       Energie
   showproctime 1
   timeout    180
   timestamp_begin previous_year_begin
   timestamp_end previous_year_end
   userExitFn setDumEnergy .*:.*
   verbose    2

Leider stimmt das Ergebnis von 12970.7300 nicht so ganz.
(Den Wert bzw. Zählerstand gibt es im Jahr 2025 leider noch garnicht)

Der erste Wert in der Datenbank am 2025-04-10 beträgt

2025-04-10 12:00:00    MQTT_EMSwp    MQTT2_DEVICE    boiler_data_nrgtotal: 5.25    boiler_data_nrgtotal    0    NULL

Der letzte Wert für 2025 in der Datenbank beträgt
2025-12-31 23:59:20    MQTT_EMSwp    MQTT2_DEVICE    boiler_data_nrgtotal: 12761.37    boiler_data_nrgtotal    12761.37    NULL


Hier meine zugehörige extra zum Vergleich direkt in der SQL-Datenbak durchgeführte SQL-Abfrage:

SELECT
    *
FROM
    `fhem`.`history`
WHERE
    (`DEVICE` = 'MQTT_EMSwp')
    AND (`TIMESTAMP` < '2026-01-01 00:00:00')
    AND (`READING` = 'boiler_data_nrgtotal')
ORDER BY
    CAST(VALUE AS DECIMAL(10, 2)) DESC;



Hier auch die Ergebnisse die dbrep in FHEM findet:

Abfrage "minValue" :

2025-04-10_12-00-00__MQTT_EMSwp__boiler_data_nrgtotal__MIN__no_aggregation       0.0000   2026-01-13 22:04:27

Abfrage "maxValue" :

2025-12-31_23-59-20__MQTT_EMSwp__boiler_data_nrgtotal__MAX__no_aggregation   12761.3700    2026-01-13 22:05:12


Wo liegt der Fehler der Differenz begraben zwischen dem

Reportergebnis 12970.7300

maxWert von 12761.3700 in der Datenbank ?


Anlage>>>> Daten 2025 als CSV export aus QSL

#10
DOIF / Aw: Anfängerfrage zu DOIF - Wi...
Letzter Beitrag von seayak - 13 Januar 2026, 22:07:04
Hallo Damian,

vielen Dank für Deine Hilfe. Das DOIF wird jetzt ausgeführt, wenn ich auf der Kommandozeile zum Testen für den Rauchmelder das Reading auf "true" setze. Setze ich per
setreading Rauchmelder_Wohnzimmer params_smoke_0_alarm falseaber wieder zurück, läuft das DOIF auch wieder an und führt das Kommando nochmals aus (im konkreten Fall  nutze ich auch SIP zur telefonischen Alarmierung, da verwirrt das dann). Gibt es da noch einen Trick, die DOIF-Automation zu perfektionieren?

Viele Grüße!

Peter