Hauptmenü

Neueste Beiträge

#1
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"
#2
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
#3
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)
#4
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
#5
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
#6
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

#7
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
#8
Heizungssteuerung/Raumklima / Aw: LAN-Anbindung für BSB-Bus ...
Letzter Beitrag von freetz - 13 Januar 2026, 21:48:15
Vielleicht am besten per Mail...
#9
Heizungssteuerung/Raumklima / Aw: LAN-Anbindung für BSB-Bus ...
Letzter Beitrag von W.hatever - 13 Januar 2026, 21:46:27
Muss erst lesen, wie das mit dem sermodingens geht.
Hier schicken oder per pm?
#10
DOIF / Aw: Anfängerfrage zu DOIF - Wi...
Letzter Beitrag von Damian - 13 Januar 2026, 21:44:11
Es muss heißen:

DOIF (["^Rauchmelder:params_smoke_0_alarm"]) (set EG.OG.ZF.Rollo.auf.ab up)
Du hast es mit einem String "true" verglichen, das Ergebnis ist aber ein Boolean-Wert true, den muss man nicht angeben.