FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: genpop am 28 März 2025, 08:33:03

Titel: dimplex-abfragen
Beitrag von: genpop am 28 März 2025, 08:33:03
Hallo,
meine fhem installation läuft ja soweit ganz gut aber die Addition von readings :  attr dim_heating1_thermalenergy userReadings heatingthermalenergy {
                                    ((ReadingsVal("dim_heating3_thermalenergy","state",0)*100000000)+
                                     (ReadingsVal("dim_heating2_thermalenergy","state",0)*10000)+
                                     (ReadingsVal("dim_heating1_thermalenergy","state",0)))}
wird nicht ausgeführt.Es wird nur der Wert von dim_heating1_  angezeigt.Wie ist das bei anderen Anwendern.Kann mal jemand sein komplettes cfg veröffentlichen?Unter:http://<pcoweb>/config/adminpage.html  kann ich die Werte aber sehen!

Nachdem ich im entsprechenden Unterforum keine Reaktion bekommen habe, habe ich meine Frage jetzt mal hier eingestellt.
Ich bin ja Anfänger  :))
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 28 März 2025, 10:04:07
Hi,

am besten zeigst Du dazu mal die Ausgabe von
list dim_heating1_thermalenergy Bitte die Hinweise hier beachten: https://forum.fhem.de/index.php/topic,71806.0.html

Auf den ersten Blick gibt es zwei Kritikpunkte am Code, die aber wahrscheinlich nicht entscheidend sind:
Ansonsten bleibt nur die Vermutung, das es keinen Trigger gibt und die Berechnung des userReadings schlicht nicht angestoßen wird.

Gruß Otto
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 28 März 2025, 10:23:55

{ ReadingsNum("dim_heating3_thermalenergy","state",0)*1.0e+8 +
  ReadingsNum("dim_heating2_thermalenergy","state",0)*1.0e+4 +
  ReadingsNum("dim_heating1_thermalenergy","state",0) }
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 28 März 2025, 11:01:56
Zitat von: Otto123 am 28 März 2025, 10:04:07Ansonsten bleibt nur die Vermutung, das es keinen Trigger gibt und die Berechnung des userReadings schlicht nicht angestoßen wird.

Dazu brauchst Du keine Vermutungen anstellen, das steht doch schon - ohne code tags - im ersten Beitrag :)

attr dim_heating1_thermalenergy userReadings heatingthermalenergy {..}
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 28 März 2025, 11:35:14
Ja sorry, ich meinte nicht den trigger der die Ausführung des userReadings nur auf die Änderung von bestimmten Readings einschränkt sondern, dass es keine Aktualisierung der Gerätereadings an sich gibt.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 28 März 2025, 19:05:54
Hallo, erst mal Danke, aber ihr müßt euch deswegen nicht streiten, ich werde mal Num statt Val ausprobieren.
Ich habe den code von hier:https://www.fhemwiki.de/wiki/Dimplex_W%C3%A4rmepumpenmanager übernommen und gedacht der ist inzwischen ausgereift und funktioniert.Vielleicht liegt es auch an der neuesten fhem version, kommt ja öfters vor das neuere Versionen nicht mit "altem ccode" zurechtkommen.
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 28 März 2025, 19:48:37
Das hat nix mit FHEM oder irgendwelchen Versionen zu tun.
Außerdem streiten wir uns nicht.
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 28 März 2025, 22:53:14
wir streiten nicht :)

aber wie geht es denn nun weiter? Aus deinem Link ins Wiki kann man zwar den Zusammenhang deines Auszuges mit dem "Gerät" erkennen aber leider nicht ob Deine Gerät überhaupt arbeitet.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 29 März 2025, 08:05:24

Wenn ich mir die fhem.cfg anschaue dann ist der additionsbefehl nach der ersten Klammer abgeschnitten (fehlt) egal ob ich das define dierekt in die fehm.cfg kopiere oder über die Eingabezeile dem Programm hinzufüge.
Auch hier im list am Ende des codes zu sehen:Internals:
   DEF        0 5096
   FUUID      67dbbd20-f33f-3e5d-6162-4ebdc76e29f59ff4
   HeatPumpServer_MSGCNT 1
   HeatPumpServer_TIME 2025-03-29 07:53:43
   IODev      HeatPumpServer
   LASTInputDev HeatPumpServer
   MSGCNT     1
   ModbusRegister_lastRcv 2025-03-29 07:53:43
   NAME       dim_heating1_thermalenergy
   NOTIFYDEV  global
   NR         73
   NTFY_ORDER 50-dim_heating1_thermalenergy
   STATE      7112
   TYPE       ModbusRegister
   eventCount 1
   lastUpdate
   nextUpdate Sat Mar 29 08:08:43 2025
   READINGS:
     2025-03-29 07:38:43   IODev           HeatPumpServer
     2025-03-29 07:53:43   RAW             1bc8
     2025-03-29 07:53:43   state           7112
   helper:
     addr       3 0 5096
     address    5096
     disableRegisterMapping 0
     lastUpdate 0
     nextUpdate 1743232123.43244
     nread      1
     readCmd    ␃␓�␁
     register   5096
     registerType 3
     unitId     0
     updateIntervall 900
     cnv:
       a          1
       b          0
       max        32767
       min        -32768
       step       100
Attributes:
   IODev      HeatPumpServer
   event-on-change-reading .*
   plcDataType INT
   registerType Holding
   room       Dimplex
   updateInterval 00:15:00
   userReadings heatingthermalenergy {
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 29 März 2025, 08:12:47
Anbei noch die Historie in verschiedenen Ansichten.In Bild 3 habe ich den Wert rot umrandet! Außerdem die fhem.cfg mit dem fehlenden Additionsbefehl in den Zeilen 249,258 und 266.
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 29 März 2025, 11:43:26
Dann nimm bitte diese Zeile und wirf sie in die FHEM Kommandozeile und drücke enter
attr dim_heating1_thermalenergy userReadings heatingthermalenergy { ReadingsNum("dim_heating3_thermalenergy","state",0)*1.0e+8 + ReadingsNum("dim_heating2_thermalenergy","state",0)*1.0e+4 + ReadingsNum("dim_heating1_thermalenergy","state",0) }
Zeilenumbrüche kannst Du später im DEF Editor machen.
Die fhem.cfg solltest Du besser von FHEM verwalten lassen und nicht per Hand editieren.

Das von Dir zitierte Wiki ist an dieser Stelle nicht für Anfänger geschrieben. Der gedruckte Code ist zwar lesbar, aber es nicht klar beschrieben wie der einzugeben ist.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 09:12:51
Das war leider nicht die Lösung :(
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 11:55:23
Für was?
Steht das userReadings immer noch verstümmelt da? Oder wird es nicht berechnet?

Gibt es etwas im Log?
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 30 März 2025, 12:35:20
defmod dim_heating1_thermalenergy dummy
set dim_heating1_thermalenergy 1
attr dim_heating1_thermalenergy userReadings heatingthermalenergy { ReadingsNum("dim_heating3_thermalenergy","state",0)*1.0e+8 + ReadingsNum("dim_heating2_thermalenergy","state",0)*1.0e+4 + ReadingsNum("dim_heating1_thermalenergy","state",0) }

defmod dim_heating2_thermalenergy dummy
set dim_heating1_thermalenergy 2

defmod dim_heating3_thermalenergy dummy
set dim_heating1_thermalenergy 3

Danach haben die drei dummy-devices die states 1 2 und 3.

Wenn ich jetzt nochmal

set dim_heating1_thermalenergy 1
ausführe, entsteht im device "dim_heating1_thermalenergy"
das gewünschte userReading "heatingthermalenergy" mit dem Wert 300020001

setstate dim_heating1_thermalenergy 2025-03-30 12:30:26 heatingthermalenergy 300020001
Der vorgeschlagene code für das Attribut userReadings funktioniert also wie gewünscht.
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 30 März 2025, 12:36:33
Zitat von: genpop am 30 März 2025, 09:12:51Das war leider nicht die Lösung :(

Beschreibe doch bitte erst einmal die genaue Aufgabe, die Du eigentlich lösen möchtest.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 13:31:04
Die einzelnen Werte erden nicht addiert.Siehe Bild.
Könnte es sein das die Addition zwar durchgeführt wird aber dann wieder durch den definierten 1.Wert überschrieben wird.Müßte man eventuell einen Gesamtwert definieren und dort die Addition ausführen?
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 13:54:23
Du willst ein Reading heatingthermalenergy im Device dim_heating1_thermalenergy erzeugen, Dein Bild zeigt etwas völlig anderes? Es zeigt (bin nicht sicher) bestenfalls den state von dim_heating1_thermalenergy in einer Übersicht.

Zeig doch nochmal ein list dim_heating1_thermalenergy
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 14:01:02
Hier das list:Internals:
   DEF        0 5096
   FUUID      67d5aeb8-f33f-3e5d-8b54-e9631b8431cfffcf
   HeatPumpServer_MSGCNT 7
   HeatPumpServer_TIME 2025-03-30 11:55:05
   IODev      HeatPumpServer
   LASTInputDev HeatPumpServer
   MSGCNT     7
   ModbusRegister_lastRcv 2025-03-30 11:55:05
   NAME       dim_heating1_thermalenergy
   NOTIFYDEV  global
   NR         216
   NTFY_ORDER 50-dim_heating1_thermalenergy
   STATE      7199
   TYPE       ModbusRegister
   eventCount 2
   lastUpdate Sun Mar 30 11:55:05 2025
   nextUpdate Sun Mar 30 12:10:05 2025
   READINGS:
     2025-03-30 10:10:04   IODev           HeatPumpServer
     2025-03-30 11:55:05   RAW             1c1f
     2025-03-30 10:04:49   heatingthermalenergy 17191
     2025-03-30 11:55:05   state           7199
   helper:
     addr       3 0 5096
     address    5096
     disableRegisterMapping 0
     lastUpdate 0
     nextUpdate 1743329405.34753
     nread      1
     readCmd    ␃␓�␁
     register   5096
     registerType 3
     unitId     0
     updateIntervall 900
     cnv:
       a          1
       b          0
       max        32767
       min        -32768
       step       100
Attributes:
   IODev      HeatPumpServer
   event-on-change-reading .*
   plcDataType INT
   registerType Holding
   room       Dimplex
   updateInterval 00:15:00
   userReadings heatingthermalenergy {
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 14:14:16
Wieso gibt es das Reading - er hat es mal berechnet?
Zitat2025-03-30 10:04:49  heatingthermalenergy 17191
und wieso ist das list hinten abgeschnitten? Der code vom userReadings fehlt wieder?
Titel: Aw: dimplex-abfragen
Beitrag von: TomLee am 30 März 2025, 14:24:58
Das userReadings war einmal korrekt definiert, FHEM wurde anschliessend neu gestartet, ohne zuvor zu speichern.
Würde alle drei Fragen beantworten.
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 30 März 2025, 14:39:42
Nochmal:

Zitat von: betateilchen am 30 März 2025, 12:36:33Beschreibe doch bitte erst einmal die genaue Aufgabe, die Du eigentlich lösen möchtest.

Und nimm das Attribut event-on... erstmal raus, bis alles funktioniert wie es soll.

(mein Bauchgefühl läßt mich sogar einen möglichen Denkfehler beim Fragesteller annehmen)
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 14:50:46
Ich habe die Definitionen aus dem Dimplex-WIKI übertragen und verstehe den code für die Umweltenergie, die thermische Energie und die Brauchwasserenergie so daß bei der Anzeige der Modbusregister automatisch nur der aufadierte Wert der jeweils 3 Register angezeigt wird.Angezeigt werden aber die einzelnen Register.
2025-03-30 10:04:49  heatingthermalenergy 17191 wäre die gewünschte Anzeige für die thermische (Heizungs)energie.
Titel: Aw: dimplex-abfragen
Beitrag von: TomLee am 30 März 2025, 15:01:15
Zitat von: Otto123 am 29 März 2025, 11:43:26Dann nimm bitte diese Zeile und wirf sie in die FHEM Kommandozeile und drücke enter
attr dim_heating1_thermalenergy userReadings heatingthermalenergy { ReadingsNum("dim_heating3_thermalenergy","state",0)*1.0e+8 + ReadingsNum("dim_heating2_thermalenergy","state",0)*1.0e+4 + ReadingsNum("dim_heating1_thermalenergy","state",0) }

Mach das bitte nochmal und zeige anschliessend das List oder ein Copy for Forum (unten in dem Device)
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 16:02:02
Ich habe die ganze fhem cfg gelöscht und alles neu kopiert.Dabei ist mir aufgefallen das er z.B *100000000 ignoriert und dafür die e Zahl haben will.
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 30 März 2025, 16:05:40
Kannst Du nicht ein Mal das machen, worum man Dich bittet?

Ich bin hier raus. Mir ist meine Zeit zu schade für solche Ignoranz.
Titel: Aw: dimplex-abfragen
Beitrag von: TomLee am 30 März 2025, 16:09:22
In die fhem.cfg kopiert man nix.

Am besten Du löschst nochmal alles.
Die Code-Beispiele im Wiki wurden angepasst. Ergänze die über das + im f18-Style oder über Raw definition (in jedem Device unten zu finden, siehe Import von Code Snippets (https://wiki.fhem.de/wiki/Import_von_Code_Snippets))
Titel: Aw: dimplex-abfragen
Beitrag von: TomLee am 30 März 2025, 16:15:02
Zitat von: betateilchen am 30 März 2025, 16:05:40Kannst Du nicht ein Mal das machen, worum man Dich bittet?

Ich bin hier raus. Mir ist meine Zeit zu schade für solche Ignoranz.

https://youtu.be/v_EWWyJfgPc?t=7
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 16:43:42
Zitat von: genpop am 30 März 2025, 14:50:46so daß bei der Anzeige der Modbusregister automatisch nur der aufadierte Wert der jeweils 3 Register angezeigt wird.Angezeigt werden aber die einzelnen Register.
Ich denke Du hast falsche Vorstellungen oder einen falschen Blickwinkel.
Du willst per sturem Copy und Paste eine Lösung erzielen die so noch gar nicht existiert.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 16:58:21
Entschuldigung, eure Vorschläge kamen zu spät.
Ich habe nichts in die cfg kopiert sondern die cfg über die Eingabezeile neu aufgebaut.Bei den Definitionen mit den Additionen mußte ich die Zeile mit den Additionen durch die hier vorgeschlagene Zeile austauschen da er wie schon erwähnt nur e Zahlen akzeptiert.Da es nach Änderungen  wegen der definierten update Zeiten manchmal etwas länger dauert habe ich in der Zwischenzeit etwas anderes gemacht.Wie man im neuesten registerbild sieht hat er wieder die  environment 2 und heating 2 nicht aufaddiert.
Save config ?
Dimplex
Unsorted
icoEverything Everything
Logfile
Commandref
Remote doc
Edit files
Select style
Event monitor
Internals:
  CFGFN     
  DEF        0 5096
  FUUID      67e92ab4-f33f-3e5d-51bd-d3607209924bd55a
  HeatPumpServer_MSGCNT 5
  HeatPumpServer_TIME 2025-03-30 14:42:49
  IODev      HeatPumpServer
  LASTInputDev HeatPumpServer
  MSGCNT    5
  ModbusRegister_lastRcv 2025-03-30 14:42:49
  NAME      dim_heating1_thermalenergy
  NOTIFYDEV  global
  NR        77
  NTFY_ORDER 50-dim_heating1_thermalenergy
  STATE      7214
  TYPE      ModbusRegister
  eventCount 2
  lastUpdate Sun Mar 30 14:42:49 2025
  nextUpdate Sun Mar 30 14:57:49 2025
  READINGS:
    2025-03-30 13:27:48  IODev          HeatPumpServer
    2025-03-30 14:42:49  RAW            1c2e
    2025-03-30 14:42:49  heatingthermalenergy 0
    2025-03-30 14:42:49  state          7214
  helper:
    addr      3 0 5096
    address    5096
    disableRegisterMapping 0
    lastUpdate 0
    nextUpdate 1743339469.81708
    nread      1
    readCmd    ␃␓�␁
    register  5096
    registerType 3
    unitId    0
    updateIntervall 900
    bm:
      ModbusRegister_Attr:
        cnt        11
        dmx        -1000
        dtot      0
        dtotcnt    0
        mTS        30.03. 13:27:48
        max        5.19752502441406e-05
        tot        0.000191211700439453
        mAr:
          set
          dim_heating1_thermalenergy
          plcDataType
          INT
      ModbusRegister_Define:
        cnt        1
        dmx        -1000
        dtot      0
        dtotcnt    0
        mTS        30.03. 13:27:48
        max        0.000690221786499023
        tot        0.000690221786499023
        mAr:
          HASH(0x21a3b79a048)
          dim_heating1_thermalenergy ModbusRegister 0 5096
      ModbusRegister_Notify:
        cnt        105
        dmx        -1000
        dtot      0
        dtotcnt    0
        mTS        30.03. 13:48:03
        max        4.50611114501953e-05
        tot        0.00079798698425293
        mAr:
          HASH(0x21a3b79a048)
          HASH(0x21a39dcb0b8)
      ModbusRegister_Set:
        cnt        39
        dmx        -1000
        dtot      0
        dtotcnt    0
        mTS        30.03. 13:57:49
        max        0.00841283798217773
        tot        0.212246417999268
        mAr:
          HASH(0x21a3b79a048)
          dim_heating1_thermalenergy
          ?
    cnv:
      a          1
      b          0
      max        32767
      min        -32768
      step      100
Attributes:
  IODev      HeatPumpServer
  event-on-change-reading .*
  plcDataType INT
  registerType Holding
  room      Dimplex
  updateInterval 00:15:00
  userReadings heatingthermalenergy { ReadingsNum("dim_heating3_thermalenergy","state",0)*1.0e+8 + ReadingsNum("dim_heating2_thermalenergy","state",0)*1.0e+4 + ReadingsNum("dim_heating1_thermalenergy","state",0) }
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 17:10:12
Du kannst auf dieses Bild schauen solange Du willst, das Reading welches Du aufaddierst wirst Du dort nie sehen. Du schaust auf die Übersicht modbusregister. Schau doch einfach mal im Device, ob das Reading deinen Vorstellungen entspricht.
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 30 März 2025, 17:53:12
Das heist, mein fhem funktioniert wie es soll und die aufaddierten Werte werden nur  im logfile der Jahresenergie angezeigt. Könnte man im WIKI erwähnen.
Danke für eure Ausführungen und Hilfe.
Jetzt aber noch etwas Neues, Diese Definition;########################################################
##  Logfile Wärmemengen definieren
##  Erstellt........: 06.01.2015
########################################################
define filelog_dim_thermalenergy_year FileLog ./log/filelog_dim_thermalenergy_year-%y.log
                                              dim_heating1_thermalenergy:heatingthermalenergy:.*|
                                              dim_dhw1_thermalenergy:dhwthermalenergy:.*|
                                              dim_heating1_thermalenergy:heatingthermalenergy:.*
  attr filelog_dim_thermalenergy_year room Dimplex
wird nicht angenommen Fehlermeldung regexpression fehlt.
Titel: Aw: dimplex-abfragen
Beitrag von: TomLee am 30 März 2025, 18:34:46
Zitat von: TomLee am 30 März 2025, 16:09:22Die Code-Beispiele im Wiki wurden angepasst. Ergänze die über das + im f18-Style oder über Raw definition (in jedem Device unten zu finden, siehe Import von Code Snippets (https://wiki.fhem.de/wiki/Import_von_Code_Snippets))
Titel: Aw: dimplex-abfragen
Beitrag von: Otto123 am 30 März 2025, 18:42:58
Zitat von: genpop am 30 März 2025, 17:53:12die aufaddierten Werte werden nur  im logfile der Jahresenergie angezeigt.
Nein, die Werte stehen in dem Reading. Du kannst Sie Dir anzeigen lassen wo immer Du willst  ::)
Vielleicht musst Du weiter vorne anfangen? https://wiki.fhem.de/wiki/Erste_Schritte_in_FHEM
Titel: Aw: dimplex-abfragen
Beitrag von: betateilchen am 30 März 2025, 19:09:19
noch jemand Popcorn?
Titel: Aw: dimplex-abfragen
Beitrag von: genpop am 31 März 2025, 08:20:32
Jetzt wurde auch die Definition der Wärmemenge akzeptiert und ich finde die aufaddierten Werte unter den readings!
 Danke und bis zu meinem nächsten Problem ;D
Titel: Aw: dimplex-abfragen
Beitrag von: Prof. Dr. Peter Henning am 01 April 2025, 12:52:13
"_er_ nur _e-Zahlen_ akzeptiert". Soso, e-Zahlen. Schon mal hier gelesen: https://perldoc.perl.org/perlnumber

LG

pah