Weiter zum Inhalt
  • Home
  • Aktuell
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Projekt] ETA Heizung

NEWS

  • Information zum Kontoabgleich und zur Namensänderung
    BluefoxB
    Bluefox
    9
    1
    227

  • Monatsrückblick Juli / August 2026 ist online!
    BluefoxB
    Bluefox
    10
    1
    1.5k

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.5k

[Projekt] ETA Heizung

Geplant Angeheftet Gesperrt Verschoben Entwicklung
90 Beiträge 31 Kommentatoren 27.1k Aufrufe 24 Beobachtet
  • Ä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.
  • S solar-robert

    Würde mich auch intressieren. Kann jemand vielleicht seinen Code-Lösungsschnipsel posten, mit dem man in der Heizung Variablen ändern kann. Also Beispielweise den Heizkreis ein/aus.

    In der Dokumentation von ETA gibt es ja folgendes Beispiel:

    Example 1 Set the deash key to On:

    POST /user/var/112/10021/0/0/12112 HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    value=1803
    

    Allerdings fehlen mir hier leider (noch) die Kenntnisse, wie man soetwas zum laufen bringt :)

    tennoxT
    tennoxT
    tennox
    schrieb am zuletzt editiert von tennox
    #40

    @m4 in meinen eta-mate services gibt's ein Code-Schnipsel wo ich via JS (mit axios) die pellet automatik an/aus schalte:
    https://gitlab.com/txlab/eta-bot/-/blob/486c2bbc2507aa86a38694e22347f351cae08904/src/modules/eta-api.ts#L63

    S 1 Antwort Letzte Antwort
    0
    • tennoxT tennox

      @m4 in meinen eta-mate services gibt's ein Code-Schnipsel wo ich via JS (mit axios) die pellet automatik an/aus schalte:
      https://gitlab.com/txlab/eta-bot/-/blob/486c2bbc2507aa86a38694e22347f351cae08904/src/modules/eta-api.ts#L63

      S
      S
      smarttux
      schrieb am zuletzt editiert von
      #41

      Da ich im Moment überlege, ob meine ganze Peripherie einen Umzug zu ioBroker verträgt, hänge ich auch am ETA Adapter.
      Gibt es den schon komplett fertig? Auf der ioBroker Seite ist er nicht direkt zu finden.
      Ich würde auch gern primär Variablen auslesen, aber auch mal aus der Ferne den Kessel ausschalten, etc.
      Danke

      A 1 Antwort Letzte Antwort
      0
      • S smarttux

        Da ich im Moment überlege, ob meine ganze Peripherie einen Umzug zu ioBroker verträgt, hänge ich auch am ETA Adapter.
        Gibt es den schon komplett fertig? Auf der ioBroker Seite ist er nicht direkt zu finden.
        Ich würde auch gern primär Variablen auslesen, aber auch mal aus der Ferne den Kessel ausschalten, etc.
        Danke

        A
        A
        amandus99
        schrieb am zuletzt editiert von
        #42

        @smarttux
        Mach es über ein Skript. Das funktioniert wunderbar über den iobroker. Kannst damit auch steuernd eingreifen wenn du unbedingt magst

        S 1 Antwort Letzte Antwort
        0
        • R
          R
          Rille06
          schrieb am zuletzt editiert von
          #43

          Moin,
          ich bin zufällig hierrüber gestolpert.
          Hat nichts direkt mit dem Adapter zutun, aber die ETA kann auch ModBus TCP.
          Mit dem ModBus Adapter ist dann lesen/schreiben problemlos möglich.

          G 1 Antwort Letzte Antwort
          0
          • R Rille06

            Moin,
            ich bin zufällig hierrüber gestolpert.
            Hat nichts direkt mit dem Adapter zutun, aber die ETA kann auch ModBus TCP.
            Mit dem ModBus Adapter ist dann lesen/schreiben problemlos möglich.

            G
            G
            gmbh07
            schrieb am zuletzt editiert von
            #44

            @rille06 Hallo, ich habe da mit dem Modus Adapter versucht komme aber nicht weiter, hast du vielleicht eine kleine Übersicht deiner Einstellungen? Es springt bei mir immer wie auf denn Fotos hin und her und ich habe keine Werte.
            Bildschirmfoto 2022-08-02 um 11.06.51.png Bildschirmfoto 2022-08-02 um 11.06.45.png

            K 1 Antwort Letzte Antwort
            0
            • C catnipper

              Hallo Zusammen,

              Ich habe für meine Zwecke einen Adapter zur ETA Heizungsanlage (hier: PU15) geschrieben - wer Lust zu testen kann sich gerne versuchen:

              https://github.com/frankhirsch/ioBroker.etamon

              Bitte beachtet dass der Adapter eine Freischaltung der REST API in Eurem ETA Touch (siehe auch: https://www.meineta.at) benötigt.

              Ausserdem schreibt der Adapter eine Variable in Eure Anlage (HTTP PUT). Ich mache das schon seit Jahren so mit meiner Anlage und es gab nie Probleme - wer aber Bedenken hat sollte im Zweifel die Finger davon lassen!

              Ich denke das Setup mit IP Adresse und Timeout ist selbsterklärend…

              Wenn der Adapter dann läuft wird die komplette Menüstruktur Eurer Anlage in ioBroker überführt.

              Die Laufzeit für den Adapter müsst Ihr bei Euch mal ausprobieren - die Heizungsanlagen sind nicht die schnellsten. Bei mir dauert eine normale Abfrage ca. 13 Sekunden - im Debug Modus können es auch gerne mal 2 Minuten sein.

              Da ich beruflich teilweise stark eingespannt bin, können Antworten eventuell auch mal ein bisschen Dauern :roll:

              <u>Ein Hinweise meinerseits und woran ich in Form von Feedback/Unterstützung interessiert wäre</u>:

              Wenn ich den Adapter auf einer Synology (DS916+) mit dem Docker Image buanet-iobroker nutze, kommt es vor dass das Schreiben der Werte in ioBroker fehlschlägt - teilweise wird der Adapter dann sogar mehrfach gestartet! Sobald ich das ganze auf meinem Laptop (Mac, Node 11.6.0, NPM 6.5.0) laufen lasse funktioniert es einwandfrei. Ich tippe da am ehesten auf Systemprobleme (Performance).

              2249_objects.png

              HerryH
              HerryH
              Herry
              schrieb am zuletzt editiert von Herry
              #45

              @catnipper
              ich habe mich an deinen Adapter versucht und nach ein paar Änderungen läuft er sehr gut. Trotzdem sind noch ein paar "undefinierbare" Fehler vorhanden, was aber komischerweise nicht am Ergebnis zur Erzeugung der Daten beiträgt.
              Ich denke auch, das hat mit dem jeweiligen System und dessen Software zu tun.
              Bei mir läuft das ganze auf einem Raspberry 4, 4 GB Ram problemlos und schnell.

              ETA_VIS.jpg

              Realisiert habe ich das über ioBroker und Vis. Die Darstellung ist sehr einfach gehalten, da der Monitor im Hausgang hängt und für jeden verständlich sein soll.
              Hier noch die Anpassungen am Script:

              Script.jpg

              Zur Visualisierung läuft auf dem Raspberry auch noch Magic Mirror 2 und das sieht dann so aus:

              MM-Display_cplt.jpg

              Vielen Dank für deine großartige Arbeit mit dem Adapter !

              T frischF C 3 Antworten Letzte Antwort
              0
              • T
                T
                tcfigge
                schrieb am zuletzt editiert von
                #46

                Hallo,
                ich benutze schon einige Zeit das Script...
                Läuft sehr gut!
                Seit ich gestern den Javascript Adapter upgedatet habe, bekomme ich folgende Fehlermeldung:

                5.10.2022, 18:55:43.852	[info ]: javascript.1 (22832) Stop script script.js.common.Blockly.Diverse.ETA
                5.10.2022, 18:55:43.864	[info ]: javascript.0 (14977) Stop script script.js.common.Blockly.Diverse.ETA
                5.10.2022, 18:55:43.920	[info ]: javascript.0 (14977) Start javascript script.js.common.Blockly.Diverse.ETA
                5.10.2022, 18:55:44.060	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xpath'
                5.10.2022, 18:55:44.061	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:2:13
                5.10.2022, 18:55:44.062	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                5.10.2022, 18:55:44.089	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xmldom'
                5.10.2022, 18:55:44.090	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:11
                5.10.2022, 18:55:44.091	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                5.10.2022, 18:55:44.119	[info ]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                5.10.2022, 18:55:44.122	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: TypeError: Cannot read properties of undefined (reading 'DOMParser')
                5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:28
                5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                

                Hat jemand eine Idee und kann mir helfen?

                T J 2 Antworten Letzte Antwort
                0
                • T tcfigge

                  Hallo,
                  ich benutze schon einige Zeit das Script...
                  Läuft sehr gut!
                  Seit ich gestern den Javascript Adapter upgedatet habe, bekomme ich folgende Fehlermeldung:

                  5.10.2022, 18:55:43.852	[info ]: javascript.1 (22832) Stop script script.js.common.Blockly.Diverse.ETA
                  5.10.2022, 18:55:43.864	[info ]: javascript.0 (14977) Stop script script.js.common.Blockly.Diverse.ETA
                  5.10.2022, 18:55:43.920	[info ]: javascript.0 (14977) Start javascript script.js.common.Blockly.Diverse.ETA
                  5.10.2022, 18:55:44.060	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xpath'
                  5.10.2022, 18:55:44.061	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:2:13
                  5.10.2022, 18:55:44.062	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                  5.10.2022, 18:55:44.089	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xmldom'
                  5.10.2022, 18:55:44.090	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:11
                  5.10.2022, 18:55:44.091	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                  5.10.2022, 18:55:44.119	[info ]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                  5.10.2022, 18:55:44.122	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: TypeError: Cannot read properties of undefined (reading 'DOMParser')
                  5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:28
                  5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                  

                  Hat jemand eine Idee und kann mir helfen?

                  T
                  T
                  tcfigge
                  schrieb am zuletzt editiert von
                  #47

                  @tcfigge Nach Downgrade auf Javascriptadapter 6.0 läuft es erstmal wieder... ?!?!?

                  frischF 1 Antwort Letzte Antwort
                  0
                  • HerryH Herry

                    @catnipper
                    ich habe mich an deinen Adapter versucht und nach ein paar Änderungen läuft er sehr gut. Trotzdem sind noch ein paar "undefinierbare" Fehler vorhanden, was aber komischerweise nicht am Ergebnis zur Erzeugung der Daten beiträgt.
                    Ich denke auch, das hat mit dem jeweiligen System und dessen Software zu tun.
                    Bei mir läuft das ganze auf einem Raspberry 4, 4 GB Ram problemlos und schnell.

                    ETA_VIS.jpg

                    Realisiert habe ich das über ioBroker und Vis. Die Darstellung ist sehr einfach gehalten, da der Monitor im Hausgang hängt und für jeden verständlich sein soll.
                    Hier noch die Anpassungen am Script:

                    Script.jpg

                    Zur Visualisierung läuft auf dem Raspberry auch noch Magic Mirror 2 und das sieht dann so aus:

                    MM-Display_cplt.jpg

                    Vielen Dank für deine großartige Arbeit mit dem Adapter !

                    T
                    T
                    tcfigge
                    schrieb am zuletzt editiert von
                    #48

                    @herry
                    Hi!
                    Super Vis!!!!
                    Würdest Du die zur Verfügung stellen?
                    Danke!

                    1 Antwort Letzte Antwort
                    0
                    • T tcfigge

                      Hallo,
                      ich benutze schon einige Zeit das Script...
                      Läuft sehr gut!
                      Seit ich gestern den Javascript Adapter upgedatet habe, bekomme ich folgende Fehlermeldung:

                      5.10.2022, 18:55:43.852	[info ]: javascript.1 (22832) Stop script script.js.common.Blockly.Diverse.ETA
                      5.10.2022, 18:55:43.864	[info ]: javascript.0 (14977) Stop script script.js.common.Blockly.Diverse.ETA
                      5.10.2022, 18:55:43.920	[info ]: javascript.0 (14977) Start javascript script.js.common.Blockly.Diverse.ETA
                      5.10.2022, 18:55:44.060	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xpath'
                      5.10.2022, 18:55:44.061	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:2:13
                      5.10.2022, 18:55:44.062	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                      5.10.2022, 18:55:44.089	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: Error: Cannot find module 'xmldom'
                      5.10.2022, 18:55:44.090	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:11
                      5.10.2022, 18:55:44.091	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                      5.10.2022, 18:55:44.119	[info ]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      5.10.2022, 18:55:44.122	[error]: javascript.0 (14977) script.js.common.Blockly.Diverse.ETA: TypeError: Cannot read properties of undefined (reading 'DOMParser')
                      5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:3:28
                      5.10.2022, 18:55:44.122	[error]: javascript.0 (14977)     at script.js.common.Blockly.Diverse.ETA:124:3
                      

                      Hat jemand eine Idee und kann mir helfen?

                      J
                      J
                      JoschiP
                      schrieb am zuletzt editiert von
                      #49

                      Hallo, ich habe das gleiche Problem. Hab am Wochenende mal wieder ein paar Aktualisierungen durchgeführt.
                      Seit dem funktioniert das ETA Script bei mir auch nicht mehr. Scheinbar wurde das Module XMLDOM aus node.js entfernt.
                      Kennt jemand eine alternative?
                      Leider hat das Downgrade auf Javascript Version 6.0 bei mir nicht geholfen
                      Danke

                      1 Antwort Letzte Antwort
                      0
                      • HerryH Herry

                        @catnipper
                        ich habe mich an deinen Adapter versucht und nach ein paar Änderungen läuft er sehr gut. Trotzdem sind noch ein paar "undefinierbare" Fehler vorhanden, was aber komischerweise nicht am Ergebnis zur Erzeugung der Daten beiträgt.
                        Ich denke auch, das hat mit dem jeweiligen System und dessen Software zu tun.
                        Bei mir läuft das ganze auf einem Raspberry 4, 4 GB Ram problemlos und schnell.

                        ETA_VIS.jpg

                        Realisiert habe ich das über ioBroker und Vis. Die Darstellung ist sehr einfach gehalten, da der Monitor im Hausgang hängt und für jeden verständlich sein soll.
                        Hier noch die Anpassungen am Script:

                        Script.jpg

                        Zur Visualisierung läuft auf dem Raspberry auch noch Magic Mirror 2 und das sieht dann so aus:

                        MM-Display_cplt.jpg

                        Vielen Dank für deine großartige Arbeit mit dem Adapter !

                        frischF
                        frischF
                        frisch
                        schrieb am zuletzt editiert von
                        #50

                        @herry HI! Geniale VIS könnte man die bekommen? LG Friedrich

                        1 Antwort Letzte Antwort
                        0
                        • G gmbh07

                          @rille06 Hallo, ich habe da mit dem Modus Adapter versucht komme aber nicht weiter, hast du vielleicht eine kleine Übersicht deiner Einstellungen? Es springt bei mir immer wie auf denn Fotos hin und her und ich habe keine Werte.
                          Bildschirmfoto 2022-08-02 um 11.06.51.png Bildschirmfoto 2022-08-02 um 11.06.45.png

                          K
                          K
                          Kapsville
                          schrieb am zuletzt editiert von
                          #51

                          @gmbh07 said in [Projekt] ETA Heizung:

                          @rille06 Hallo, ich habe da mit dem Modus Adapter versucht komme aber nicht weiter, hast du vielleicht eine kleine Übersicht deiner Einstellungen? Es springt bei mir immer wie auf denn Fotos hin und her und ich habe keine Werte.
                          Bildschirmfoto 2022-08-02 um 11.06.51.png Bildschirmfoto 2022-08-02 um 11.06.45.png

                          Habe auch dieses Problem. @gmbh07 konntest du das Problem in der Zwischenzeit lösen?

                          frischF R 2 Antworten Letzte Antwort
                          0
                          • A amandus99

                            @smarttux
                            Mach es über ein Skript. Das funktioniert wunderbar über den iobroker. Kannst damit auch steuernd eingreifen wenn du unbedingt magst

                            S
                            S
                            solar-robert
                            schrieb am zuletzt editiert von
                            #52

                            @amandus99 said in [Projekt] ETA Heizung:

                            @smarttux
                            Mach es über ein Skript. Das funktioniert wunderbar über den iobroker. Kannst damit auch steuernd eingreifen wenn du unbedingt magst

                            Könntest du bitte dein funktionierendes Skript teilen?
                            Ich bin leider auf noch einen grünen Zweig gekommen, wie ich die Anlage über den ioBroker schalten kann.
                            Also beispielsweise Pumpe/Kessel aus oder VL-Temperatur-Erhöhung.

                            A 1 Antwort Letzte Antwort
                            0
                            • S solar-robert

                              @amandus99 said in [Projekt] ETA Heizung:

                              @smarttux
                              Mach es über ein Skript. Das funktioniert wunderbar über den iobroker. Kannst damit auch steuernd eingreifen wenn du unbedingt magst

                              Könntest du bitte dein funktionierendes Skript teilen?
                              Ich bin leider auf noch einen grünen Zweig gekommen, wie ich die Anlage über den ioBroker schalten kann.
                              Also beispielsweise Pumpe/Kessel aus oder VL-Temperatur-Erhöhung.

                              A
                              A
                              amandus99
                              schrieb am zuletzt editiert von
                              #53

                              @solar-robert

                              klar schau es dir an, habe zB einen Datenpunkt mit dem ich die Zirkulation vom FWM an und ausschalten kann

                              var http = require('http');
                              var xpath = require('xpath');
                              var dom = require('xmldom').DOMParser;
                              
                              var etaIP = 'http://192.168.10.82:8080/user/var';
                              
                              	// 1. URI
                              	// 2. iobroker Object
                              	// 3. read
                              	// 4. write
                              	// 5. name
                              	// 6. type
                              	// 7. unit
                              	// 8. role
                              	// 9. CCU variable (optional)
                              var etaVars = [
                              	 ["/120/10601/0/11327/0",		"eta.Puffer.oben",				    true, false, "Puffer oben",						"string",	"°C",		"value.temperature",    ""]
                                  ,["/120/10601/0/11328/0",		"eta.Puffer.mitte",				    true, false, "Puffer mitte",					"string",	"°C",		"value.temperature",    ""]
                                  ,["/120/10601/0/11329/0",		"eta.Puffer.unten",				    true, false, "Puffer unten",					"string",	"°C",		"value.temperature",    ""]
                                  ,["/120/10601/0/0/12528",		"eta.Puffer.ladezustand",		    true, false, "Puffer Ladezustand",				"number",	"%",		"state",    ""] 
                                  
                                  ,["/120/10101/0/11125/2120",	"eta.HK.vorlauf",		            true, false, "Heizkreis Vorlauf Soll Temp",		"number",	"°C",		"value.temperature",    ""] 
                                  ,["/120/10101/0/11125/2121",	"eta.HK.vorlaufIst",		        true, false, "Heizkreis Vorlauf Ist Temp",		"number",	"°C",		"value.temperature",    ""] 
                                 
                                
                                  ,["/40/10021/0/0/12153",		"eta.kessel.vollast",			    true, false, "Kessel Vollaststunden",			"string",	"",		    "state",                ""]
                              	,["/40/10021/0/0/12016",		"eta.kessel.verbrauch",			    true, false, "Kessel Gesmtverbrauch",			"number",	"kg",		"state",                ""]
                              	,["/40/10021/0/0/12013",		"eta.kessel.aschebox",			    true, false, "Kessel Verbrauch seit Aschebox",	"number",	"kg",		"state",                ""]
                              	,["/40/10021/0/0/12180",		"eta.kessel.druck",				    true, false, "Kessel Druck",					"number",	"bar",		"state",                ""]
                              	,["/40/10021/0/0/12001",		"eta.kessel.soll",				    true, false, "Kessel Soll",						"number",	"°C",		"state",                ""]
                              	,["/40/10021/0/0/12161",		"eta.kessel.ist",				    true, false, "Kessel Ist",						"number",	"°C",		"state",                ""]
                              	,["/40/10021/0/0/12162",		"eta.kessel.abgasgtemp",		    true, false, "Kessel Abgastemperatur",			"number",	"°C",	    "state",                ""]
                              	,["/40/10021/0/0/12165",		"eta.kessel.abgasgeblaese",		    true, false, "Kessel Abgasgebläse",				"number",	"U/min",	"state",                ""]
                              	,["/40/10021/0/0/12164",		"eta.kessel.restsauerstoff",	    true, false, "Kessel Restsauerstoff",			"number",	"%",		"state",                ""]
                              	,["/40/10021/0/0/12080",		"eta.kessel.zustand",			    true, false, "Kessel Zustand",					"string",	"",			"state",                ""]
                                  ,["/40/10021/0/0/12077",		"eta.kessel.angeforderteLeistung",	true, false, "Kessel angeforderte Leistung",	"number",	"kW",		"state",                ""]
                              	
                              	,["/40/10201/0/0/12015",		"eta.lager.silo",				    true, false, "Pellets Silo",					"number",	"kg",		"state",                ""]
                              	,["/40/10021/0/0/12011",		"eta.lager.tag",				    true, false, "Pellets Tagesbehälter",			"number",	"kg",		"state",                ""]
                              	,["/120/10601/0/0/12197",		"eta.system.aussentemperatur",	    true, false, "Aussentemperatur",				"number",	"°C",		"state",                ""]
                              
                                  ,["/79/10531/0/11137/2001",		"eta.FWM.Zirkulation",	            true, false, "Anforderung Zirkulation",			"string",	"",		    "state",                ""]
                                  
                                  ,["/120/10101/0/11125/2001",	"eta.FBH.HKmischerAnforderung",	    true, false, "Anforderung Heizkreismischer",	"string",	"",		    "state",                ""]
                                  ,["/120/10101/0/11125/2120",	"eta.FBH.HKmischerSoll",	        true, false, "Soll Temp Heizkreismischer",	    "number",	"°C",		"value.temperature",    ""]
                                  ,["/120/10101/0/11125/2121",	"eta.FBH.HKmischerIst",	            true, false, "Ist Temp Heizkreismischer",	    "number",	"°C",		"value.temperature",    ""]
                                  ,["/120/10101/0/11125/2002",	"eta.FBH.HKmischerZustand",	        true, false, "Zustand Heizkreismischer",	    "string",	"",		    "state",                ""]
                                  ,["/120/10101/0/11125/2127",	"eta.FBH.HKmischerPosition",	    true, false, "Position Heizkreismischer",	    "number",	"%",	    "value.percent",        ""]
                                  ,["/120/10101/0/11125/2124",	"eta.FBH.Laufzeit",	                true, false, "Laufzeit Heizkreismischer",	    "number",	"s",		"",           ""]
                                  ,["/120/10101/0/11125/0",	    "eta.FBH.HKpumpeAusgang",	        true, false, "Heizkreispumpe Ausgang",	        "number",	"°C",		"value.temperature",    ""]
                                  ,["/120/10101/0/11125/2001",	"eta.FBH.HKpumpeAnforderung",       true, false, "Heizkreispumpe Anforderung",      "string",	"",		    "state",                ""]
                                  
                                  
                              ///79/10531/12175/0/1109 Alternative
                                  
                              ];
                              
                              etaVars.forEach(function(etaVar){
                                  createState(etaVar[1], 0, {
                                      read:  etaVar[2],
                                      write: etaVar[3],
                                      name:  etaVar[4],
                                      type:  etaVar[5],
                                      unit:  etaVar[6],
                                      role:  etaVar[7]
                                  });
                              });
                              
                              schedule("*/5 * * * *", function () {
                                  pollETA();
                              });
                              schedule("0 0 * * *", function () {
                                  checkLager();
                              });
                              
                              pollETA();
                              
                              
                              //var lagerAlt = getState('javascript.0.eta.lager.silo').val;
                              //deleteState("javascript.0.eta.lager.verbrauch");
                              
                              //createState("javascript.0.eta.lager.verbrauch",0,{name:'Lager Tagesverbrauch', type: 'number', unit: 'kg', role:'state'});
                              //createState("javascript.0.eta.lager.alt",LagerAlt,{name:'Lager TempAlt', type: 'number', unit: 'kg', role:'state'});
                              //createState("javascript.0.eta.lager.Resttage",-1,{name:'Lager Anzahl Tage', type: 'number', unit: 'days', role:'state'});
                              //createState("javascript.0.eta.lager.letzterTag",-1,{name:'Lager Letzter Tag mit Pellets', type: 'string', unit: '', role:'state'});
                              
                              //setState("javascript.0.eta.lager.alt", LagerAlt, true/*ack*/);
                              //var LagerNeu = checkLager(LagerAlt);
                              //checkLager();
                              
                              
                              function debugOutput(){
                                  var akt = getState('javascript.0.eta.lager.silo').val;
                                  var verbrauch = getState("javascript.0.eta.lager.verbrauch").val;
                                  var restTage = 0;
                                  restTage = Math.round(akt/verbrauch)
                              
                                  log("## Aktuelle Verbrauswerte ##");
                                  log("----------------------------");
                                  log("Lager akt: " + akt);
                                  log("Lager verbrauch: " + verbrauch);
                                  var ungerundet = akt/verbrauch;
                                  log("ungerundet: " +ungerundet);
                                  log("restTage " + restTage);
                                  var someDate = new Date();
                              
                                  var numberOfDaysToAdd = restTage;
                                  someDate.setDate(someDate.getDate() + numberOfDaysToAdd); 
                                  var endOfPellets = formatDate(someDate, "DD.MM.YYYY");
                                  log("endofPellets: " + endOfPellets);
                              
                                  setState("javascript.0.eta.lager.letzterTag", endOfPellets, true);
                                  setState("javascript.0.eta.lager.Resttage", restTage, true);
                              }
                              
                              //debugOutput();
                              
                              
                              
                              function checkLager(){
                                  var lagerAlt = getState('javascript.0.eta.lager.alt').val;
                                  //var LagerAlt = getState('javascript.0.eta.lager.silo').val;
                                  var akt = getState('javascript.0.eta.lager.silo').val;
                                  log("** Aktuelle Verbrauswerte **");
                                  log("----------------------------");
                                  log("Lager alt: " + lagerAlt);
                                  log("Lager aktuell: " + akt);
                                  var verbrauch = lagerAlt - akt;
                                  //var verbrauch = getState("javascript.0.eta.lager.verbrauch").val;
                              
                                  // edit back after debug
                                  setState("javascript.0.eta.lager.verbrauch", verbrauch, true/*ack*/);
                                  setState("javascript.0.eta.lager.alt", akt, true/*ack*/);
                                  
                                  log("Verbrauch: " + verbrauch);
                                  
                                 
                                  
                                  var restTage = 0;
                                  restTage = Math.round(akt/verbrauch);
                                  var ungerundet = akt/verbrauch;
                                  var someDate = new Date();
                                  var numberOfDaysToAdd = restTage;
                                  someDate.setDate(someDate.getDate() + numberOfDaysToAdd); 
                                  var endOfPellets = formatDate(someDate, "DD.MM.YYYY");
                                  setState("javascript.0.eta.lager.letzterTag", endOfPellets, true);
                                  setState("javascript.0.eta.lager.Resttage", restTage, true);
                                  
                                  log("end of pellets" + endOfPellets);
                                  
                                  lagerAlt = akt;
                                  
                              }
                              
                              //checkLager();
                              
                              function pollETA() {
                                  // log("** Polling ETA Variables");
                              	etaVars.forEach(function(etaVar){
                              		http.get(etaIP + etaVar[0], function (http_res) {
                              
                              			// initialize the container for our data
                              			var data = "";
                              
                              			// this event fires many times, each time collecting another piece of the response
                              			http_res.on("data", function (chunk) {
                              				// append this chunk to our growing `data` var
                              				data += chunk;
                              				// log("** ETA chunk: " + chunk);
                              			});
                              
                              			// this event fires *one* time, after all the `data` events/chunks have been gathered
                              			http_res.on("end", function () {
                              				// log("** ETA data: " + data);
                              
                              				try {
                              					var doc = new dom().parseFromString(data);
                              					var select = xpath.useNamespaces({"eta": "http://www.eta.co.at/rest/v1"});
                              
                              					var strValue    = (select('//eta:value/@strValue',    doc)[0].nodeValue);
                              					var text        = (select('//eta:value/text()',       doc)[0].nodeValue);
                              					var scaleFactor = (select('//eta:value/@scaleFactor', doc)[0].nodeValue);
                              					var unit        = (select('//eta:value/@unit',        doc)[0].nodeValue);
                                                  var value       = "";
                                                  
                              					
                                                  
                              					
                              
                                                  //change Aus to false, An to true for Zirkulation
                                                  if (etaVar[0] == "/79/10531/0/11137/2001"){
                                                      if (strValue == "Aus"){
                                                          strValue = "false";
                                                      }
                                                      else
                                                          strValue = "true";
                                                  }
                                                  if (etaVar[5]=="number") {
                              						value = text * 1.0 / scaleFactor;
                              					} else {
                              						value = strValue;
                              					}
                              
                              
                              					setState(etaVar[1], value, true);
                              
                              				}
                              				catch (e) {
                              					log("ETA: Cannot set data "+ etaVar[2] +":" + e, 'error');
                              				}
                              			});
                              		});
                              	});
                              	
                              
                              }
                              
                              1 Antwort Letzte Antwort
                              0
                              • K Kapsville

                                @gmbh07 said in [Projekt] ETA Heizung:

                                @rille06 Hallo, ich habe da mit dem Modus Adapter versucht komme aber nicht weiter, hast du vielleicht eine kleine Übersicht deiner Einstellungen? Es springt bei mir immer wie auf denn Fotos hin und her und ich habe keine Werte.
                                Bildschirmfoto 2022-08-02 um 11.06.51.png Bildschirmfoto 2022-08-02 um 11.06.45.png

                                Habe auch dieses Problem. @gmbh07 konntest du das Problem in der Zwischenzeit lösen?

                                frischF
                                frischF
                                frisch
                                schrieb am zuletzt editiert von
                                #54

                                @kapsville
                                Hi hab auch dieses Problem...
                                Gibt es eine Lösung?
                                LG
                                Friedrich

                                1 Antwort Letzte Antwort
                                0
                                • T tcfigge

                                  @tcfigge Nach Downgrade auf Javascriptadapter 6.0 läuft es erstmal wieder... ?!?!?

                                  frischF
                                  frischF
                                  frisch
                                  schrieb am zuletzt editiert von
                                  #55

                                  @tcfigge
                                  Hi ich komme nur auf 6.0.1 zurück. Gibt es eine Möglichkeit auf 6.0 zu kommen bzw. 5.x? Vielen Dank für eure Hilfe..
                                  LG Friedrich

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • frischF frisch

                                    @tcfigge
                                    Hi ich komme nur auf 6.0.1 zurück. Gibt es eine Möglichkeit auf 6.0 zu kommen bzw. 5.x? Vielen Dank für eure Hilfe..
                                    LG Friedrich

                                    T
                                    T
                                    tcfigge
                                    schrieb am zuletzt editiert von
                                    #56

                                    @frisch
                                    Hi!
                                    Ich habe das über die Expertenfunktion in der Adapterinstallation gemacht...
                                    Da gab es die 6.0.0 noch. :man-shrugging:

                                    Ist das Problem wohl schon bekannt und auf dem Weg der Lösung?

                                    frischF 1 Antwort Letzte Antwort
                                    0
                                    • T tcfigge

                                      @frisch
                                      Hi!
                                      Ich habe das über die Expertenfunktion in der Adapterinstallation gemacht...
                                      Da gab es die 6.0.0 noch. :man-shrugging:

                                      Ist das Problem wohl schon bekannt und auf dem Weg der Lösung?

                                      frischF
                                      frischF
                                      frisch
                                      schrieb am zuletzt editiert von
                                      #57

                                      @tcfigge
                                      Danke für die Info. Ich hab gestern ein paar Module installiert..
                                      npm install date-format, npm install node-fetch@3.0.0, npm install xmldom, npm install xpath,
                                      diese dann irgendwie eingetragen
                                      11b35b1a-a5f9-4775-ae05-833cb71870b0-image.png

                                      Jetzt bekomme ich die Werte.
                                      Das Script meldet aber noch ein paar Fehlermeldungen (aber es läuft)...

                                      PS: bin blutiger Anfänger...

                                      1 Antwort Letzte Antwort
                                      0
                                      • KH OstnerK
                                        KH OstnerK
                                        KH Ostner
                                        schrieb am zuletzt editiert von
                                        #58

                                        @amandus99
                                        Hallo, gibt es auch eine Möglichkeit eine einzelne Pumpe aus und einzuschalten über ein Skript.
                                        Wenn ich den Wert unter Objekte ändere, dass dieser dann auch an die ETA Heizung übertragen wird.
                                        Beispiel: "Kollektorpumpe 1" von 0% auf 100%

                                        Werde leider aus deinem Skript nicht Schlau wie ich das anwenden kann :man-shrugging:

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • KH OstnerK KH Ostner

                                          @amandus99
                                          Hallo, gibt es auch eine Möglichkeit eine einzelne Pumpe aus und einzuschalten über ein Skript.
                                          Wenn ich den Wert unter Objekte ändere, dass dieser dann auch an die ETA Heizung übertragen wird.
                                          Beispiel: "Kollektorpumpe 1" von 0% auf 100%

                                          Werde leider aus deinem Skript nicht Schlau wie ich das anwenden kann :man-shrugging:

                                          M
                                          M
                                          merlinfive
                                          schrieb am zuletzt editiert von
                                          #59

                                          Ich habe auch mal das Script genommen und bekomme zwar Werte aber habe auch reichlich Fehlermeldungen

                                          3e300e89-2c56-44ff-934f-04be49d2cad5-image.png

                                          auch stimmen einige Infos nicht z.B. Ein [heizen]
                                          4697c7b1-1527-4022-9863-962136ac9e98-image.png

                                          ich lese die Werte parallel mit dem parser aus dort sind sie richtig
                                          dc784e10-4079-4f06-a1ee-1cc0a272616c-image.png

                                          any hints ?

                                          C 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          279

                                          Online

                                          33.1k

                                          Benutzende

                                          83.7k

                                          Themen

                                          1.4m

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

                                          • Du hast noch kein Konto? Registrieren

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