Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Visualisierung einer Viessmann Hybridheizung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Visualisierung einer Viessmann Hybridheizung

Geplant Angeheftet Gesperrt Verschoben Visualisierung
54 Beiträge 4 Kommentatoren 5.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • icebearI icebear

    @legro

    genauso sieht es bei mir ja auch aus , von der Struktur her, aber ausser bei meanTmp trägt das Script da nix ein.

    Und bei meanTmp hat er auch erst etwas eingetragen als ich die von @MartyBr gepostete Struktur reinkopiert hab.

    Hier mal der Wert vom DP meanTmp

    [
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": -1.13,
        "mean": 0,
        "max": 2
      },
      {
        "min": -0.77,
        "mean": 3.14,
        "max": 5.04
      },
      {
        "min": 2.23,
        "mean": 2.72,
        "max": 3.12
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      },
      {
        "min": 0,
        "mean": 0,
        "max": 0
      }
    ]
    

    Da sieht man ja das das wunderbar läuft.

    Wie muß den der Wert z.B. für den DP primHeizen aussehen?

    L Abwesend
    L Abwesend
    legro
    schrieb am zuletzt editiert von legro
    #22

    @icebear

    Zu meanTemp und meanTmp habe ich oben ja schon geschrieben, das die erste Tabelle in der aktuellen Version nicht mehr benötigt wird. Übrigens musst du - am besten zu Beginn eines Jahres derzeit noch - alle Tabellen für die laufenden Monate vorab anlegen und mit [] initialisieren.

    Wenn du dies alles gemacht hast und dennoch nichts in die Tabellen geschrieben wird, solltest du als nächstes kontrollieren, ob die Trigger überhaupt ausgelöst werden. Da leider kein Debugger zur Verfügung steht, ist das Ganze wohl nur durch Ausgaben in die sog. Console mit console.log möglich.

    In dem Skript (s. erster Beitrag), das die Temperaturwerte in meanTmp schreibt, sind die Zeilen 32 und 33 (s. ersten Beitrag) dafür verantwortlich, dass die Werte für min, max geschrieben werden.

    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

    1 Antwort Letzte Antwort
    0
    • icebearI icebear

      @legro

      genauso sieht es bei mir ja auch aus , von der Struktur her, aber ausser bei meanTmp trägt das Script da nix ein.

      Und bei meanTmp hat er auch erst etwas eingetragen als ich die von @MartyBr gepostete Struktur reinkopiert hab.

      Hier mal der Wert vom DP meanTmp

      [
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": -1.13,
          "mean": 0,
          "max": 2
        },
        {
          "min": -0.77,
          "mean": 3.14,
          "max": 5.04
        },
        {
          "min": 2.23,
          "mean": 2.72,
          "max": 3.12
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        },
        {
          "min": 0,
          "mean": 0,
          "max": 0
        }
      ]
      

      Da sieht man ja das das wunderbar läuft.

      Wie muß den der Wert z.B. für den DP primHeizen aussehen?

      L Abwesend
      L Abwesend
      legro
      schrieb am zuletzt editiert von legro
      #23

      @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

      Wie muß den der Wert z.B. für den DP primHeizen aussehen?

      Wie schon mehrmals gesagt: Du legst ein leeres Array an und initialisiert es mit [], dann füllt das oben angegebenen Skript dieses mit den gewünschten Werten. Du musst keine leeren (etwa vorweg mit 0 initialisierte) Werte für die einzelnen Tage reinschreiben. JavaScript erledigt das alles für dich.

      Ein Beispiel ..

      let arr = []
      arr[3] = 4
      
      log(arr) //liefert: [null, null, null, 4]
      
      arr[1] = 6
      log(arr) //liefert: [null, 6, null, 4]
      

      Das Befüllen des Arrays meanTmp, .. scheint ja mittlerweile prächtig zu funktionierten.🙂

      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

      icebearI 1 Antwort Letzte Antwort
      0
      • L legro

        @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

        Wie muß den der Wert z.B. für den DP primHeizen aussehen?

        Wie schon mehrmals gesagt: Du legst ein leeres Array an und initialisiert es mit [], dann füllt das oben angegebenen Skript dieses mit den gewünschten Werten. Du musst keine leeren (etwa vorweg mit 0 initialisierte) Werte für die einzelnen Tage reinschreiben. JavaScript erledigt das alles für dich.

        Ein Beispiel ..

        let arr = []
        arr[3] = 4
        
        log(arr) //liefert: [null, null, null, 4]
        
        arr[1] = 6
        log(arr) //liefert: [null, 6, null, 4]
        

        Das Befüllen des Arrays meanTmp, .. scheint ja mittlerweile prächtig zu funktionierten.🙂

        icebearI Online
        icebearI Online
        icebear
        schrieb am zuletzt editiert von icebear
        #24

        @legro

        Hm, ich glaub ich bin raus.
        Ich habe mittlerweile alle DP's zweimal neu angelegt, die Scripte neu angelegt und alles überprüft und den Thread hier mindestens 20x durchgelesen, ich komm nich dahinter warum er nix in die DP's Bzw. Array's schreibt.

        Es verändert sich einfach garnix wenn das Script läuft, keine Fehlermeldung kein garnix. Wenn ich wenigstens eine Fehlermeldung bekommen würde, dann könnte man ja schauen wo es hängt.

        Macht das Script denn auch irgendwas, wenn ich bei

        schedule({hour: 0, minute: 0}, function () {
            delTrigger() // alte Trigger löschen
            setPartsDate()
            setTimeout(setTrigger, 2000) // um 2s verzögert alle Trigger neu einrichten
        })
        

        anstatt hour: 0, minute: 0 z.B. hour: 14, minute: 5 eintrage oder bringt das garnix und ich muß immer warten bis es 00:00 Uhr ist und ich seh dann erst am nächsten Tag ob was passiert ist.

        Wenn ich am Ende des ersten Triggers ein

        console.log(eventEinspeisung) im Script hinzufüge, dann kommt das im Log:

        script.js.Energie_Strom.WP.Flexcharts.COP: { pattern: { id: '0_userdata.0.Energie.Statistik.Database.Tag.Einspeisung.${d}', change: 'gt', q: 0 }, callback: [Function: callback], name: 'script.js.Energie_Strom.WP.Flexcharts.COP', patternCompareFunctions: [ [Function (anonymous)], [Function (anonymous)], [Function (anonymous)], logic: 'and' ]}
        

        Fehlt mir vielleicht irgendein javascript modul?

        L 1 Antwort Letzte Antwort
        0
        • icebearI icebear

          @legro

          Hm, ich glaub ich bin raus.
          Ich habe mittlerweile alle DP's zweimal neu angelegt, die Scripte neu angelegt und alles überprüft und den Thread hier mindestens 20x durchgelesen, ich komm nich dahinter warum er nix in die DP's Bzw. Array's schreibt.

          Es verändert sich einfach garnix wenn das Script läuft, keine Fehlermeldung kein garnix. Wenn ich wenigstens eine Fehlermeldung bekommen würde, dann könnte man ja schauen wo es hängt.

          Macht das Script denn auch irgendwas, wenn ich bei

          schedule({hour: 0, minute: 0}, function () {
              delTrigger() // alte Trigger löschen
              setPartsDate()
              setTimeout(setTrigger, 2000) // um 2s verzögert alle Trigger neu einrichten
          })
          

          anstatt hour: 0, minute: 0 z.B. hour: 14, minute: 5 eintrage oder bringt das garnix und ich muß immer warten bis es 00:00 Uhr ist und ich seh dann erst am nächsten Tag ob was passiert ist.

          Wenn ich am Ende des ersten Triggers ein

          console.log(eventEinspeisung) im Script hinzufüge, dann kommt das im Log:

          script.js.Energie_Strom.WP.Flexcharts.COP: { pattern: { id: '0_userdata.0.Energie.Statistik.Database.Tag.Einspeisung.${d}', change: 'gt', q: 0 }, callback: [Function: callback], name: 'script.js.Energie_Strom.WP.Flexcharts.COP', patternCompareFunctions: [ [Function (anonymous)], [Function (anonymous)], [Function (anonymous)], logic: 'and' ]}
          

          Fehlt mir vielleicht irgendein javascript modul?

          L Abwesend
          L Abwesend
          legro
          schrieb am zuletzt editiert von
          #25

          @icebear

          Der scheduler bewirkt zunächst einmal gar nichts, was du sehen könntest.

          Meine Empfehlung war, dass du in einem der Trigger einen Kontrolltext ausgeben lässt à la „Trigger xy ausgelöst“.

          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

          icebearI 1 Antwort Letzte Antwort
          0
          • L legro

            @icebear

            Der scheduler bewirkt zunächst einmal gar nichts, was du sehen könntest.

            Meine Empfehlung war, dass du in einem der Trigger einen Kontrolltext ausgeben lässt à la „Trigger xy ausgelöst“.

            icebearI Online
            icebearI Online
            icebear
            schrieb am zuletzt editiert von
            #26

            @legro

            Wenn du mir jetzt noch sagst an welcher Stelle ich was eingeben soll.
            Also klar, console.log(xxxxx) aber an welcher Stelle muß das genau hin.

            L 2 Antworten Letzte Antwort
            0
            • icebearI icebear

              @legro

              Wenn du mir jetzt noch sagst an welcher Stelle ich was eingeben soll.
              Also klar, console.log(xxxxx) aber an welcher Stelle muß das genau hin.

              L Abwesend
              L Abwesend
              legro
              schrieb am zuletzt editiert von legro
              #27

              @icebear

              In den Zeilen 44 - 84 in diesem Beitrag findest du die definierten Trigger. Such dir jenen aus, der möglicgst oft ausgelöst wird. Viel Erfolg.

              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

              1 Antwort Letzte Antwort
              0
              • icebearI icebear

                @legro

                Wenn du mir jetzt noch sagst an welcher Stelle ich was eingeben soll.
                Also klar, console.log(xxxxx) aber an welcher Stelle muß das genau hin.

                L Abwesend
                L Abwesend
                legro
                schrieb am zuletzt editiert von
                #28

                @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                @legro

                Wenn du mir jetzt noch sagst ..

                Hast du aufgegeben? 😟

                Zugegeben, aller Anfang ist schwer, aber am Ende lohnt es sich. Wenn du die Sache mit den Temperaturen hinbekommen hast, wird es dir auch bei dem Rest gelingen.

                Also, wenn du Fragen hast, nur her damit.🙂

                Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                M icebearI 2 Antworten Letzte Antwort
                0
                • L legro

                  @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                  @legro

                  Wenn du mir jetzt noch sagst ..

                  Hast du aufgegeben? 😟

                  Zugegeben, aller Anfang ist schwer, aber am Ende lohnt es sich. Wenn du die Sache mit den Temperaturen hinbekommen hast, wird es dir auch bei dem Rest gelingen.

                  Also, wenn du Fragen hast, nur her damit.🙂

                  M Offline
                  M Offline
                  MartyBr
                  schrieb am zuletzt editiert von
                  #29

                  @legro
                  Hallo @legro , ich konnte dein Projekt erfolgreich umsetzen. Ich benutze noch das ältere Script, welches meanTmp und meanTemp in die Monatstabellen einträgt. So kann ich einfacher auf die Durchschnittstemperaturen zugreifen. Auch wenn diese in meanTmp enthalten sind.
                  Tolles Projekt und gute Doku 👍

                  Gruß
                  Martin


                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                  Raspeberry mit USB Leseköpfen für Smartmeter
                  Homematic und Homematic IP

                  L 1 Antwort Letzte Antwort
                  1
                  • M MartyBr

                    @legro
                    Hallo @legro , ich konnte dein Projekt erfolgreich umsetzen. Ich benutze noch das ältere Script, welches meanTmp und meanTemp in die Monatstabellen einträgt. So kann ich einfacher auf die Durchschnittstemperaturen zugreifen. Auch wenn diese in meanTmp enthalten sind.
                    Tolles Projekt und gute Doku 👍

                    L Abwesend
                    L Abwesend
                    legro
                    schrieb am zuletzt editiert von
                    #30

                    @martybr

                    Vielen Dank für die Blumen!😊

                    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                    M 1 Antwort Letzte Antwort
                    0
                    • L legro

                      @martybr

                      Vielen Dank für die Blumen!😊

                      M Offline
                      M Offline
                      MartyBr
                      schrieb am zuletzt editiert von
                      #31

                      @legro 👍

                      Gruß
                      Martin


                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                      Raspeberry mit USB Leseköpfen für Smartmeter
                      Homematic und Homematic IP

                      1 Antwort Letzte Antwort
                      0
                      • L legro

                        @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                        @legro

                        Wenn du mir jetzt noch sagst ..

                        Hast du aufgegeben? 😟

                        Zugegeben, aller Anfang ist schwer, aber am Ende lohnt es sich. Wenn du die Sache mit den Temperaturen hinbekommen hast, wird es dir auch bei dem Rest gelingen.

                        Also, wenn du Fragen hast, nur her damit.🙂

                        icebearI Online
                        icebearI Online
                        icebear
                        schrieb am zuletzt editiert von icebear
                        #32

                        @legro said in Visualisierung einer Viessmann Hybridheizung:

                        Hast du aufgegeben?

                        Ich bin kurz davor, auch wenn das normalerweise nicht meine Art ist.😞

                        Ich bekomm es einfach nich hin, und ich verstehe nicht warum.
                        Bis jetzt hab ich irgendwie alle Scripte usw. zum laufen gebracht, aber an den Triggern, da verzweifel ich.

                        Ich glaub ich hab jetzt schon das forum, über die Suche, und Google leergesaugt aber es will einfach nich laufen.

                        Egal welche DP's ich da eintrage es passiert einfach nix bis gar nix.

                        Mein IOB ist eigentlich komplett auf dem neuesten Stand bis auf das letzte javascript-Adapter update.

                        Fehlt bei mir vielleicht irgendein npm-module im javascript adapter?

                        1 Antwort Letzte Antwort
                        0
                        • L Abwesend
                          L Abwesend
                          legro
                          schrieb am zuletzt editiert von
                          #33

                          @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                          Ich bin kurz davor, auch wenn das normalerweise nicht meine Art ist.😞

                          Ja, die Sache mit den Triggern hat mich auch ganz schön gefordert. War das Einrichten der Trigger kein Problem, so geriet ich bei deren Verwaltung ganz schön ins Schwitzen. So hatte ich anfangs (noch) keine Idee, wie man die Sache mit dem Tageswechsel hinbekommt.

                          Aber, wie du siehst, ist die Lösung recht übersichtlich und kompakt geraten.

                          Ohne dass du versuchst nachzuvollziehen, wie das Skipt hierzu arbeitet, ist es natürlich schwierig, es gezielt auf die eigenen Verhältnisse anzupassen. Mein Vorschlag: Gehe es Zeile für Zeile durch. Wenn‘s an einer Stelle klemmt: nachfragen!🙂

                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                          icebearI 1 Antwort Letzte Antwort
                          0
                          • L legro

                            @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                            Ich bin kurz davor, auch wenn das normalerweise nicht meine Art ist.😞

                            Ja, die Sache mit den Triggern hat mich auch ganz schön gefordert. War das Einrichten der Trigger kein Problem, so geriet ich bei deren Verwaltung ganz schön ins Schwitzen. So hatte ich anfangs (noch) keine Idee, wie man die Sache mit dem Tageswechsel hinbekommt.

                            Aber, wie du siehst, ist die Lösung recht übersichtlich und kompakt geraten.

                            Ohne dass du versuchst nachzuvollziehen, wie das Skipt hierzu arbeitet, ist es natürlich schwierig, es gezielt auf die eigenen Verhältnisse anzupassen. Mein Vorschlag: Gehe es Zeile für Zeile durch. Wenn‘s an einer Stelle klemmt: nachfragen!🙂

                            icebearI Online
                            icebearI Online
                            icebear
                            schrieb am zuletzt editiert von
                            #34

                            @legro said in Visualisierung einer Viessmann Hybridheizung:

                            Vorschlag: Gehe es Zeile für Zeile durch. Wenn‘s an einer Stelle klemmt: nachfragen!

                            So, ich bin glaub ich einen Schritt weiter 🤔 der Part der als erstes kommt bei den Triggern, also

                                //Gas
                                eventWP = on({id: 'modbus.0.inputRegisters.30073_Import_Energy', change: 'gt'}, function() {
                                    let tmpWP = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP`).val)
                                    let tmpWPKWh = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP_KWh`).val)
                             
                                    tmpWP[Number(partsDatum.tag)-1] = Number((getState(`modbus.0.inputRegisters.30053_Total_System_Power`).val).toFixed(3))
                                    tmpWPKWh[Number(Number(partsDatum.tag)-1)] = Number((getState(`modbus.0.inputRegisters.30073_Import_Energy`).val * Umrechnungsfaktor * Zustandszahl).toFixed(1))
                             
                                    setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP`,JSON.stringify(tmpWP),true)
                                    setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP_KWh`,JSON.stringify(tmpWPKWh),true)
                                })
                            

                            der schreibt jetzt auch was in die DP'S, siehe hier:

                            [
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              52.73
                            ]
                            

                            und

                            [
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              null,
                              3909.9
                            ]
                            

                            aber halt nur der Part die anderen noch nicht.

                            Jetzt hab ich nochmal eine Frage, wo kommen den bei dir die Daten her?

                            Sind das DP's die einen Monatswert speichern und täglich fortlaufend aktualisiert werden, bis zum Ende des Monats und dann wieder auf '0' gesetzt werden?

                            Oder sind das DP's die den Tageswert aufzeichnen und dann am Tagesende zurückgesetzt werden und einen Monatswert aktualisieren?

                            L 1 Antwort Letzte Antwort
                            0
                            • icebearI icebear

                              @legro said in Visualisierung einer Viessmann Hybridheizung:

                              Vorschlag: Gehe es Zeile für Zeile durch. Wenn‘s an einer Stelle klemmt: nachfragen!

                              So, ich bin glaub ich einen Schritt weiter 🤔 der Part der als erstes kommt bei den Triggern, also

                                  //Gas
                                  eventWP = on({id: 'modbus.0.inputRegisters.30073_Import_Energy', change: 'gt'}, function() {
                                      let tmpWP = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP`).val)
                                      let tmpWPKWh = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP_KWh`).val)
                               
                                      tmpWP[Number(partsDatum.tag)-1] = Number((getState(`modbus.0.inputRegisters.30053_Total_System_Power`).val).toFixed(3))
                                      tmpWPKWh[Number(Number(partsDatum.tag)-1)] = Number((getState(`modbus.0.inputRegisters.30073_Import_Energy`).val * Umrechnungsfaktor * Zustandszahl).toFixed(1))
                               
                                      setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP`,JSON.stringify(tmpWP),true)
                                      setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.WP_KWh`,JSON.stringify(tmpWPKWh),true)
                                  })
                              

                              der schreibt jetzt auch was in die DP'S, siehe hier:

                              [
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                52.73
                              ]
                              

                              und

                              [
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                3909.9
                              ]
                              

                              aber halt nur der Part die anderen noch nicht.

                              Jetzt hab ich nochmal eine Frage, wo kommen den bei dir die Daten her?

                              Sind das DP's die einen Monatswert speichern und täglich fortlaufend aktualisiert werden, bis zum Ende des Monats und dann wieder auf '0' gesetzt werden?

                              Oder sind das DP's die den Tageswert aufzeichnen und dann am Tagesende zurückgesetzt werden und einen Monatswert aktualisieren?

                              L Abwesend
                              L Abwesend
                              legro
                              schrieb am zuletzt editiert von legro
                              #35

                              @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                              Es scheint ja voranzugehen👍

                              Jetzt hab ich nochmal eine Frage, wo kommen den bei dir die Daten her?

                                  //genHeizen
                                  eventGH = on({id: `e3oncan.0.Vitocal.tree.1315_GeneratedCentralHeatingOutputMonthMatrix.CurrentMonth.${d}`, change: 'gt'}, () => {
                                      let tmpGH = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.genHeizen`).val)
                                      tmpGH[Number(partsDatum.tag)-1] = getState(`e3oncan.0.Vitocal.tree.1315_GeneratedCentralHeatingOutputMonthMatrix.CurrentMonth.${d}`).val
                                      setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.genHeizen`,JSON.stringify(tmpGH),true)
                                  })
                              

                              Die erste Zeile in obigem Codefragement beantwortet dir doch die Frage. Ich lese den Datenpunkt 1315 aus dem tree im e3oncan-Adapter aus. Der zugehörige Teil des Objektbaums schaut an dieser Stelle so aus .

                              fbc361e3-c60c-46d0-baa7-d557b86d4770-image.png

                              Sind das DP's die einen Monatswert speichern und täglich fortlaufend aktualisiert werden, bis zum Ende des Monats und dann wieder auf '0' gesetzt werden?

                              Die Wärmepumpe legt für den laufenden Monat für jeden Tag ein Verzeichnis an, das mit 01, 02, 03, 04, .. bezeichnet wird. Der Datenpunkt des aktuellen Tages dient sowohl als Auslöser für den Trigger als auch als Datenquelle. Die in dem String eingebettete Variable ${d} referenziert dabei den aktuellen Tag.

                              Wenn die anderen Trigger nicht funktionieren, dann stimmt etwas mit der Datenpunktadresse nicht oder der verwendete Datenpunkt ändert sich nicht.

                              Welche Wärmepumpe hast du? Wie ich sehe verwendest du MODBUS als Datenquelle. Viessmann Wärmepumpe habe doch gar keinen Modbus - oder liege ich falsch?

                              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                              icebearI 1 Antwort Letzte Antwort
                              0
                              • L legro

                                @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                                Es scheint ja voranzugehen👍

                                Jetzt hab ich nochmal eine Frage, wo kommen den bei dir die Daten her?

                                    //genHeizen
                                    eventGH = on({id: `e3oncan.0.Vitocal.tree.1315_GeneratedCentralHeatingOutputMonthMatrix.CurrentMonth.${d}`, change: 'gt'}, () => {
                                        let tmpGH = JSON.parse(getState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.genHeizen`).val)
                                        tmpGH[Number(partsDatum.tag)-1] = getState(`e3oncan.0.Vitocal.tree.1315_GeneratedCentralHeatingOutputMonthMatrix.CurrentMonth.${d}`).val
                                        setState(`0_userdata.0.Heizung.MonatsTabellen.${partsDatum.jahr}.${partsDatum.monat}.genHeizen`,JSON.stringify(tmpGH),true)
                                    })
                                

                                Die erste Zeile in obigem Codefragement beantwortet dir doch die Frage. Ich lese den Datenpunkt 1315 aus dem tree im e3oncan-Adapter aus. Der zugehörige Teil des Objektbaums schaut an dieser Stelle so aus .

                                fbc361e3-c60c-46d0-baa7-d557b86d4770-image.png

                                Sind das DP's die einen Monatswert speichern und täglich fortlaufend aktualisiert werden, bis zum Ende des Monats und dann wieder auf '0' gesetzt werden?

                                Die Wärmepumpe legt für den laufenden Monat für jeden Tag ein Verzeichnis an, das mit 01, 02, 03, 04, .. bezeichnet wird. Der Datenpunkt des aktuellen Tages dient sowohl als Auslöser für den Trigger als auch als Datenquelle. Die in dem String eingebettete Variable ${d} referenziert dabei den aktuellen Tag.

                                Wenn die anderen Trigger nicht funktionieren, dann stimmt etwas mit der Datenpunktadresse nicht oder der verwendete Datenpunkt ändert sich nicht.

                                Welche Wärmepumpe hast du? Wie ich sehe verwendest du MODBUS als Datenquelle. Viessmann Wärmepumpe habe doch gar keinen Modbus - oder liege ich falsch?

                                icebearI Online
                                icebearI Online
                                icebear
                                schrieb am zuletzt editiert von
                                #36

                                @legro said in Visualisierung einer Viessmann Hybridheizung:

                                Die in dem String eingebettete Variable ${d} referenziert dabei den aktuellen Tag.
                                Wenn die anderen Trigger nicht funktionieren, dann stimmt etwas mit der Datenpunkadresse nicht oder der verwendete Datenpunkt ändert sich nicht.

                                Jetzt haben wir glaub ich des Rätsels Lösung gefunden.
                                Da ich ja versucht habe dein Script auf meine Vaillant aroTHERM zu adaptieren, wird das wohl so nicht funktionieren.
                                Der Vaillant Adapter legt für den Tag und für den Monat einen Ordner an in dem der Wert für den Laufenden Tag oder Monat immer wieder aktualisiert wird. Am nächsten Tag oder Monat kommt dann wieder ein neuer Ordner usw. wobei der Ordner data01 immer der aktuelle ist

                                So wie hier:

                                vaillant.png

                                das kann ja dann so wie das Script geschrieben ist nicht funktionieren, wenn ich jetzt richtig verstanden hab

                                L 1 Antwort Letzte Antwort
                                0
                                • icebearI icebear

                                  @legro said in Visualisierung einer Viessmann Hybridheizung:

                                  Die in dem String eingebettete Variable ${d} referenziert dabei den aktuellen Tag.
                                  Wenn die anderen Trigger nicht funktionieren, dann stimmt etwas mit der Datenpunkadresse nicht oder der verwendete Datenpunkt ändert sich nicht.

                                  Jetzt haben wir glaub ich des Rätsels Lösung gefunden.
                                  Da ich ja versucht habe dein Script auf meine Vaillant aroTHERM zu adaptieren, wird das wohl so nicht funktionieren.
                                  Der Vaillant Adapter legt für den Tag und für den Monat einen Ordner an in dem der Wert für den Laufenden Tag oder Monat immer wieder aktualisiert wird. Am nächsten Tag oder Monat kommt dann wieder ein neuer Ordner usw. wobei der Ordner data01 immer der aktuelle ist

                                  So wie hier:

                                  vaillant.png

                                  das kann ja dann so wie das Script geschrieben ist nicht funktionieren, wenn ich jetzt richtig verstanden hab

                                  L Abwesend
                                  L Abwesend
                                  legro
                                  schrieb am zuletzt editiert von legro
                                  #37

                                  @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                                  das kann ja dann so wie das Script geschrieben ist nicht funktionieren, wenn ich jetzt richtig verstanden hab

                                  Wenn ich dich richtig verstehe, stehen die aktuellen Werte des laufenden Tages stets im Datenpunkt data01. Dann wird‘s doch sogar einfacher, da du die Akrobatik Tag für Tag auf ein anderes Verzeichnis zu triggern gar nicht nötig hast.☺

                                  Allerdings finde ich die Datumsangaben etwas seltsam und verwirrend: Jahr.Tag.?? Üblich in Linux wäre doch wohl Jahr-Monat-TagThh:mm:ss

                                  Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                  Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                  icebearI 1 Antwort Letzte Antwort
                                  0
                                  • L legro

                                    @icebear sagte in Visualisierung einer Viessmann Hybridheizung:

                                    das kann ja dann so wie das Script geschrieben ist nicht funktionieren, wenn ich jetzt richtig verstanden hab

                                    Wenn ich dich richtig verstehe, stehen die aktuellen Werte des laufenden Tages stets im Datenpunkt data01. Dann wird‘s doch sogar einfacher, da du die Akrobatik Tag für Tag auf ein anderes Verzeichnis zu triggern gar nicht nötig hast.☺

                                    Allerdings finde ich die Datumsangaben etwas seltsam und verwirrend: Jahr.Tag.?? Üblich in Linux wäre doch wohl Jahr-Monat-TagThh:mm:ss

                                    icebearI Online
                                    icebearI Online
                                    icebear
                                    schrieb am zuletzt editiert von icebear
                                    #38

                                    @legro said in Visualisierung einer Viessmann Hybridheizung:

                                    Wenn ich dich richtig verstehe, stehen die aktuellen Werte des laufenden Tages stets im Datenpunkt data01

                                    Genau so ist es ! Hier siehst du wie es täglich geschrieben wird:

                                    heating_day.png

                                    Da siehst du halt Heute = data01 Verbrauch = 10.907KWh
                                    Gestern = data02 Verbrauch = 12,789 KWH

                                    Ja die Datumsangabe ist etwas seltsam.

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • icebearI icebear

                                      @legro said in Visualisierung einer Viessmann Hybridheizung:

                                      Wenn ich dich richtig verstehe, stehen die aktuellen Werte des laufenden Tages stets im Datenpunkt data01

                                      Genau so ist es ! Hier siehst du wie es täglich geschrieben wird:

                                      heating_day.png

                                      Da siehst du halt Heute = data01 Verbrauch = 10.907KWh
                                      Gestern = data02 Verbrauch = 12,789 KWH

                                      Ja die Datumsangabe ist etwas seltsam.

                                      L Abwesend
                                      L Abwesend
                                      legro
                                      schrieb am zuletzt editiert von legro
                                      #39

                                      @icebear

                                      Dann musst du stets auf ..data01.value triggern. Du hast‘s gut.🙂 Ab 00:00 Uhr musst du bloß die Speicheradresse ändern.

                                      Im zweiten Bild sieht man, dass doch die übliche Notation für Datum und Zeit verwendet wird.

                                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                      icebearI 1 Antwort Letzte Antwort
                                      0
                                      • L legro

                                        @icebear

                                        Dann musst du stets auf ..data01.value triggern. Du hast‘s gut.🙂 Ab 00:00 Uhr musst du bloß die Speicheradresse ändern.

                                        Im zweiten Bild sieht man, dass doch die übliche Notation für Datum und Zeit verwendet wird.

                                        icebearI Online
                                        icebearI Online
                                        icebear
                                        schrieb am zuletzt editiert von icebear
                                        #40

                                        @legro said in Visualisierung einer Viessmann Hybridheizung:

                                        Ab 00:00 Uhr musst du bloß die Speicheradresse ändern.

                                        Äh, Bahnhof?

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • icebearI icebear

                                          @legro said in Visualisierung einer Viessmann Hybridheizung:

                                          Ab 00:00 Uhr musst du bloß die Speicheradresse ändern.

                                          Äh, Bahnhof?

                                          L Abwesend
                                          L Abwesend
                                          legro
                                          schrieb am zuletzt editiert von legro
                                          #41

                                          @icebear

                                          Der Datenpunkt im Objektbaum innerhalb der Monatstabellen wechselt doch täglich. Siehe Zeile 6 oben im Codefragment!

                                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                          icebearI 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          616

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe