Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplateheatingclimate
1.1k Posts 115 Posters 414.3k Views 61 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    looxer01
    wrote on last edited by
    #230

    Hi,

    ein delay laesst sich einstellen im Bereich der HM-Thermostate.

    Eigentlich ist ein Delay nicht programmiert für Nicht-HM.

    Ich muss mir das im Coding ansehen. Geht aber erst am WE.

    vG Looxer

    1 Reply Last reply
    0
    • Q Offline
      Q Offline
      quorle
      wrote on last edited by
      #231

      So Leute, ich wollte mich einmal recht herzlich bei euch für die super Unterstützung bedanken :)

      Bei mir läuft es seit dem ich mir den HM-MOD-RPI besorgt habe ohne Probleme und das Script erkennt die Sensoren wunderbar.

      Jedoch hätte ich vielleicht, bzw. suche ich eine Erweiterung des Scriptes.

      Ich würde gerne meine Temperaturen in den Einzelnen Räumen durch TFA Sensoren messen lassen. ( Testweise habe ich einen mal in die CCU mittels CUxD aufgenommen, der auch seine Werte anständig liefert ). In io.Broker habe ich den Sensor auch schon eingebunden. Jedoch fehlt mir jetzt ein Script, womit ich die Temperatur Regeln lasse.

      Im Klartext:

      Die Temperatur wird mittels dem TFA Sensor gelesen. Die Voreingestellte "Wohlfühltemperaturen" gebe ich im "Heizungsthermostatsteuerung 2.0" Script vor. Jetzt soll das Neue Script nach diesen Werten Regeln und den errechneten Wert ( Sollwertvorgabe ) widerrum an das "Heizungsthermostatsteuerung 2.0" Script Schicken das ja dann den Rest erledigt.

      Gibt es sowas denn schon, oder hat sowas jemand am laufen?

      1 Reply Last reply
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #232

        @quorle:

        Die Temperatur wird mittels dem TFA Sensor gelesen. Die Voreingestellte "Wohlfühltemperaturen" gebe ich im "Heizungsthermostatsteuerung 2.0" Script vor. Jetzt soll das Neue Script nach diesen Werten Regeln und den errechneten Wert ( Sollwertvorgabe ) widerrum an das "Heizungsthermostatsteuerung 2.0" Script Schicken das ja dann den Rest erledigt. `

        Hi,

        also ganz verstehe ich das nicht was du vor hast.

        Nach meiner Interpretation:

        • Der TFA Sensor soll die Ist Temperatur im zu reglenden Raum messen

        • Ein zweites Script soll den Sollwert aus dem HT Script nehmen und dann nach einer eigenen Logik eine eigene SollTemp ermitteln (aufgrund der Ist Temp des TFA Sensors)

        • Dabei soll die HT-Script Logik in Takt bleiben um z.B situationsbedingt (z.B. An/Abwesenheit) einzugreifen.

        Habe ich das richtig verstanden ?

        Das Script von Appollon77 macht so was ähnliches. (erster post). Da werden SollTemps ermittelt und an das HT Script übergeben.

        Die Logik der SollTemp Ermittlung in diesem Script geht nach Aufheizzeiten, die für die jeweiligen Räumen benötigt werden)

        Mir ist allerdings nicht klar nach welchen Kriterien du denn die SollTemp ermitteln willst ?

        vG Looxer

        1 Reply Last reply
        0
        • L Offline
          L Offline
          looxer01
          wrote on last edited by
          #233

          @PicNic:

          Wenn ich das Fenster nun schließe (im Log um 12:23:07 Uhr), dann wird das das vom Skript erkannt, die Temperatur wird aber nicht wieder auf die ursprüngliche angehoben.

          Das Skript läuft dann in Dauerschleife, weil es irgendeine Form von Delay erkannt hat. `
          Hi,

          da war ein Fehler in der Zuweisung für "NichtHM-Geräte".

          Bitte tausche einmal folgenden Code aus. Feedback wäre super. Dann baue ich es für die nächste Version ein.

          ! ```
          for (var b in NoneHMTab) { roomName = NoneHMTab[b][0]; if (roomName !== "initial" && RoomListUsage(roomName)) { id = NoneHMTab[b][1] + '.' + NoneHMTab[b][2] + '.' + NoneHMTab[b][3]; var NoneHMObj = getObject(id); if (NoneHMObj && NoneHMObj.common && NoneHMObj.common.name) { FullName = NoneHMObj.common.name; } else { FullName = "n/a"; } devtype = "NoneHM"; if (debug ) {log("Routine getdevice fuer " + roomName, "info");} ! CreateStates(roomName, devtype); // Lege die states an ! roomNoSpace = roomName.replace(/\s/g, "_"); // 0 = room 1 = id 2 = devtype 3 = FullName 4 ID Extract 5 = Type des Geraetes 6 = DP SollTemp 7 = Manu/Auto 8 = Steuerung zentral 9 = DP Ist-Temperatur 10 = DP MANU Check 11=Ventil Offen 12= Delay nach Verschluss zu ControlTab[y] = [roomNoSpace, id, devtype, FullName, NoneHMTab[b][2], 'HT', NoneHMTab[b][3], false, false, false, false, NoneHMTab[b][4], 0 ]; y++; // subscription für Aenderung auf Aenderung der Raumtemperatur des Thermostates zu reagieren on({id: id, change: 'ne'}, function(obj) { //if (obj.state.val !== obj.oldState.val) { // Nur bei Aenderungen ThermostatChange(obj.id); //} // End - react on change }); // ende on id log("Routine GetDevices fuer NoneHM Thermostate " + roomName +" - " + NoneHMTab[b], "info"); rooms[roomName] = true; } // endif roomName war nicht initial } // endfor Nicht Homematic Geraete
          ! vG Looxer[/b][/b][/b][/b][/b][/b][/b]

          1 Reply Last reply
          0
          • Q Offline
            Q Offline
            quorle
            wrote on last edited by
            #234

            > > quorle hat geschrieben:

            Die Temperatur wird mittels dem TFA Sensor gelesen. Die Voreingestellte "Wohlfühltemperaturen" gebe ich im "Heizungsthermostatsteuerung 2.0" Script vor. Jetzt soll das Neue Script nach diesen Werten Regeln und den errechneten Wert ( Sollwertvorgabe ) widerrum an das "Heizungsthermostatsteuerung 2.0" Script Schicken das ja dann den Rest erledigt. `

            Hi,

            also ganz verstehe ich das nicht was du vor hast.

            Nach meiner Interpretation:

            • Der TFA Sensor soll die Ist Temperatur im zu reglenden Raum messen

            • Ein zweites Script soll den Sollwert aus dem HT Script nehmen und dann nach einer eigenen Logik eine eigene SollTemp ermitteln (aufgrund der Ist Temp des TFA Sensors)

            • Dabei soll die HT-Script Logik in Takt bleiben um z.B situationsbedingt (z.B. An/Abwesenheit) einzugreifen.

            Habe ich das richtig verstanden ?

            Das Script von Appollon77 macht so was ähnliches. (erster post). Da werden SollTemps ermittelt und an das HT Script übergeben.

            Die Logik der SollTemp Ermittlung in diesem Script geht nach Aufheizzeiten, die für die jeweiligen Räumen benötigt werden)

            Mir ist allerdings nicht klar nach welchen Kriterien du denn die SollTemp ermitteln willst ?

            vG Looxer `

            Ja, du hast es richtig verstanden. Jedoch soll/kann die ermittelte Solltemp wieder an HT übergeben werden, da dieses ja die Temp dann in den Thermostat schreibt.

            Bei mir in der Arbeit werden durch spezielle Regler Temperaturen in Räumen geregelt. Diese haben eine eigene Logit und werden Parametriert/Programmiert. Aber mit einer Simatic S7 Steuereunf kann man dies ebenfalls bewerkstelligen. Und nun würde ich so eine Temperaturregelung im Haus haben ;)

            Gibt es vielleicht etwas, was einem PI Regler oder einem Dreipunktregler nahe kommt?

            Ich weis, der Aufwand so was zu programmieren wird wahrscheinlich imens sein, oder?

            Aber leider habe ich keine Erfahrungen im Programmieren von Java, ich kann nur etwas Simatic Steuerungen und Frequenzumrichter :)

            vG

            1 Reply Last reply
            0
            • L Offline
              L Offline
              looxer01
              wrote on last edited by
              #235

              Hi,

              schau dir das mal an:

              http://forum.iobroker.net/viewtopic.php … er#p100766

              Allerdings kommst du ohne Programmierung damit nicht hin, wobei aber die Script Schnitel vorliegen sollten.

              wie schon geschrieben, die Steuerung einer FBH mit Zusatzscripten hat apollon77 realisert.

              vG Looxer

              1 Reply Last reply
              0
              • P Offline
                P Offline
                PicNic
                wrote on last edited by
                #236

                @looxer01:

                @PicNic:

                Wenn ich das Fenster nun schließe (im Log um 12:23:07 Uhr), dann wird das das vom Skript erkannt, die Temperatur wird aber nicht wieder auf die ursprüngliche angehoben.

                Das Skript läuft dann in Dauerschleife, weil es irgendeine Form von Delay erkannt hat. `
                Hi,

                da war ein Fehler in der Zuweisung für "NichtHM-Geräte".

                Bitte tausche einmal folgenden Code aus. Feedback wäre super. Dann baue ich es für die nächste Version ein.

                ! `for (var b in NoneHMTab) { roomName = NoneHMTab[b][0]; if (roomName !== "initial" && RoomListUsage(roomName)) { id = NoneHMTab[b][1] + '.' + NoneHMTab[b][2] + '.' + NoneHMTab[b][3]; var NoneHMObj = getObject(id); if (NoneHMObj && NoneHMObj.common && NoneHMObj.common.name) { FullName = NoneHMObj.common.name; } else { FullName = "n/a"; } devtype = "NoneHM"; if (debug ) {log("Routine getdevice fuer " + roomName, "info");} ! CreateStates(roomName, devtype); // Lege die states an ! roomNoSpace = roomName.replace(/\s/g, "_"); // 0 = room 1 = id 2 = devtype 3 = FullName 4 ID Extract 5 = Type des Geraetes 6 = DP SollTemp 7 = Manu/Auto 8 = Steuerung zentral 9 = DP Ist-Temperatur 10 = DP MANU Check 11=Ventil Offen 12= Delay nach Verschluss zu ControlTab[y] = [roomNoSpace, id, devtype, FullName, NoneHMTab[b][2], 'HT', NoneHMTab[b][3], false, false, false, false, NoneHMTab[b][4], 0 ]; y++; // subscription für Aenderung auf Aenderung der Raumtemperatur des Thermostates zu reagieren on({id: id, change: 'ne'}, function(obj) { //if (obj.state.val !== obj.oldState.val) { // Nur bei Aenderungen ThermostatChange(obj.id); //} // End - react on change }); // ende on id log("Routine GetDevices fuer NoneHM Thermostate " + roomName +" - " + NoneHMTab[b], "info"); rooms[roomName] = true; } // endif roomName war nicht initial } // endfor Nicht Homematic Geraete` ! vG Looxer ! Hey Looxer, ! Vielen Dank. Wenn ich morgen Abend wieder daheim bin probiere ich es direkt aus und Säge dann Bescheid. ! Viele Grüße ! PicNic[/b][/b][/b][/b][/b][/b][/b] `

                1 Reply Last reply
                0
                • R Offline
                  R Offline
                  RobS
                  wrote on last edited by
                  #237

                  Hi Looxer,

                  erstmal vielen Dank für dein Skript. Habe es seit ein paar Wochen mit Homematic Wandthermostaten, Heizkörperthermostaten und Fensterkontakten erfolgreich im Dienst und bin rundum begeistert!

                  An diesem Wochenende habe ich mithilfe Apollons Skript die Fußbodenheizung mit in Homematic und iobroker aufgenommen.

                  Ich steuere die FBH-Ventile mittels Homematic Wired 12/7er Aktoren und den Funk-Wandthermostaten.

                  Nun werden die Wired-Aktoren von deinem Skript natürlich nicht als Heizthermostate erkannt und somit keine Datenpunkte für die entsprechenden Räume erstellt.

                  Ist es möglich die Wired-Aktoren dennoch in dein Skript zu integrieren?

                  Grüße, Rob

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    looxer01
                    wrote on last edited by
                    #238

                    @RobS:

                    Ich steuere die FBH-Ventile mittels Homematic Wired 12/7er Aktoren und den Funk-Wandthermostaten.

                    Nun werden die Wired-Aktoren von deinem Skript natürlich nicht als Heizthermostate erkannt und somit keine Datenpunkte für die entsprechenden Räume erstellt.

                    Ist es möglich die Wired-Aktoren dennoch in dein Skript zu integrieren? `

                    Hi,

                    Das Script ist nicht abhängig von den Spezifikation der Thermostate. Alles wird über die Steuertabellen eingestellt.

                    Das heisst, dass du die Geräte in die Liste eintragen musst (immer zuerst Wandthermostate und dann erste die abhängigen Thermostate)

                    Sollte eigentlich kein Problem sein. Die wired Geräte müssen natürlich entsprechend Räumen und Gewerk zugeorndet sein.

                    Versuche das mal bitte. Rückmeldung wäre klasse.

                    vG Looxer

                    ! var ThermostatTypeTab = []; // 0.RPC-Pfad 1.GeraeteType 2\. Beschreibung, 3\. Type 4.DP-SollTemp 5.nicht verwendet ID 6.DP MANU/AUTO Schaltung 7.Steuerung DV 8\. IstTemp 9-Check-MANU-Mode 10-Ventilstellung wenn nicht Heizperiode 11\. Delay nach Verschluss zu ThermostatTypeTab[0] = ['hm-rpc.0.', 'HM-TC-IT-WM-W-EU', 'Wandthermostat (neu)' ,'WT', '2.SET_TEMPERATURE' , false, '2.MANU_MODE', true, '1.TEMPERATURE', '2.CONTROL_MODE', 12, 0]; ThermostatTypeTab[1] = ['hm-rpc.0.', 'HM-CC-TC' , 'Wandthermostat (alt)' ,'WT', '2.SETPOINT' , false, false, false, '1.TEMPERATURE', false, 12, 2]; ThermostatTypeTab[2] = ['hm-rpc.0.', 'HM-CC-RT-DN' , 'Heizkoerperthermostat(neu)' ,'HT', '4.SET_TEMPERATURE' , false, '4.MANU_MODE', true, '4.ACTUAL_TEMPERATURE', '4.CONTROL_MODE', 12, 0]; ThermostatTypeTab[3] = ['hm-rpc.1.', 'HmIP-eTRV' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; ThermostatTypeTab[4] = ['hm-rpc.1.', 'HmIP-WTH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; ThermostatTypeTab[5] = ['hm-rpc.1.', 'HmIP-WTH-2' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; ThermostatTypeTab[6] = ['hm-rpc.1.', 'HmIP-STH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; ThermostatTypeTab[7] = ['hm-rpc.1.', 'HmIP-STHD' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; ThermostatTypeTab[8] = ['hm-rpc.1.', 'HmIP-eTRV-2' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0]; !

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      RobS
                      wrote on last edited by
                      #239

                      Danke für die schnelle Antwort.

                      Weiß allerdings nicht so ganz, was ich zu einzutragen habe. Da ich pro Ausgang nur die vier Ausgänge "INHIBIT", "INSTALL_TEST", "STATE" und "WORKING" bekomme.

                      ThermostatTypeTab[9]  = ['hm-rpc.0.',  'HMW-IO-12-Sw-7-DR' , 'Wired_Aktor'              ,'WA',   '2.SET_TEMPERATURE',         false,        '2.MANU_MODE',              false,                 '4.ACTUAL_TEMPERATURE',      '4.CONTROL_MODE',           12,                                            0];
                      
                      

                      … so habe ich bisher noch keine Datenpunkte bekommen. Hatte auch versucht überall "false," einzutragen, aber das ging auch nicht.

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        looxer01
                        wrote on last edited by
                        #240

                        Hi,

                        kannst du mal die Datenpunkte zur Verfügung stellen ?

                        am Besten durch download.

                        nach deiner Definition muss der Datenpunkt eine Definition "2.SET_TEMPERATURE" haben. Sonst findet das Script nichts.

                        Andererseits. Wozu brauchst du eigentlich die wired geräte im Script ? Du hast doch ein Wandthermostat, das steuert ?

                        vG Looxer

                        1 Reply Last reply
                        0
                        • R Offline
                          R Offline
                          RobS
                          wrote on last edited by
                          #241

                          @looxer01:

                          Andererseits. Wozu brauchst du eigentlich die wired geräte im Script ? Du hast doch ein Wandthermostat, das steuert ?

                          vG Looxer `

                          Da hast du natürlich recht. Nur werden von dem Wandthermostaten auch keine Datenpunkte erstellt.

                          Wie kann ich denn Datenpunkte zum Download zur Verfügung stellen?

                          1 Reply Last reply
                          0
                          • L Offline
                            L Offline
                            looxer01
                            wrote on last edited by
                            #242

                            @RobS:

                            Wie kann ich denn Datenpunkte zum Download zur Verfügung stellen? `
                            Du gehst in die Objektliste

                            Wählst die Objektstruktur zum herunterladen aus (z.B. eines dieser Wandthermostate)

                            Oben links in der Reihe (das rechte Icon) druecken.

                            Dann wird eine Datei mit der gewählten Objektstruktur heruntergeladen.

                            vG Looxer

                            1 Reply Last reply
                            0
                            • R Offline
                              R Offline
                              RobS
                              wrote on last edited by
                              #243

                              Ok, so sieht dann also die Objektstruktur eines Kanals vom Wired-Aktor aus:

                              ! {"hm-rpc.0.OEQ0161430.13":{"_id":"hm-rpc.0.OEQ0161430.13","type":"channel","common":{"name":"FBH_Wohnzimmer_Kamin","role":"switch","icon":"/icons/30_hmw-io-12-sw7-dr_thumb.png"},"native":{"ADDRESS":"OEQ0161430:13","AES_ACTIVE":0,"DIRECTION":2,"FLAGS":1,"INDEX":13,"LINK_SOURCE_ROLES":"","LINK_TARGET_ROLES":"SWITCH","PARAMSETS":["LINK","MASTER","VALUES"],"PARENT":"OEQ0161430","PARENT_TYPE":"HMW-IO-12-Sw7-DR","TYPE":"SWITCH","VERSION":11},"from":"system.adapter.hm-rega.0","ts":1518371848896,"acl":{"object":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"hm-rpc.0.OEQ0161430.13.INHIBIT":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":true,"role":"state.inhibit","name":"FBH_Wohnzimmer_Kamin.INHIBIT"},"native":{"CONTROL":"NONE","DEFAULT":false,"FLAGS":1,"ID":"INHIBIT","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":1,"TYPE":"BOOL","UNIT":""},"from":"system.adapter.hm-rega.0","ts":1518371848890,"_id":"hm-rpc.0.OEQ0161430.13.INHIBIT","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"hm-rpc.0.OEQ0161430.13.INSTALL_TEST":{"type":"state","common":{"def":false,"type":"boolean","read":false,"write":true,"role":"indicator","name":"FBH_Wohnzimmer_Kamin.INSTALL_TEST"},"native":{"DEFAULT":false,"FLAGS":3,"ID":"INSTALL_TEST","MAX":true,"MIN":false,"OPERATIONS":2,"TAB_ORDER":2,"TYPE":"ACTION","UNIT":""},"from":"system.adapter.hm-rega.0","ts":1518371848885,"_id":"hm-rpc.0.OEQ0161430.13.INSTALL_TEST","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"hm-rpc.0.OEQ0161430.13.STATE":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":true,"role":"state","name":"FBH_Wohnzimmer_Kamin.STATE"},"native":{"CONTROL":"SWITCH.STATE","DEFAULT":false,"FLAGS":1,"ID":"STATE","MAX":true,"MIN":false,"OPERATIONS":7,"TAB_ORDER":0,"TYPE":"BOOL","UNIT":""},"from":"system.adapter.hm-rega.0","ts":1518371848880,"_id":"hm-rpc.0.OEQ0161430.13.STATE","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"hm-rpc.0.OEQ0161430.13.WORKING":{"type":"state","common":{"def":false,"type":"boolean","read":true,"write":false,"role":"indicator.working","name":"FBH_Wohnzimmer_Kamin.WORKING"},"native":{"DEFAULT":false,"FLAGS":3,"ID":"WORKING","MAX":true,"MIN":false,"OPERATIONS":5,"TAB_ORDER":3,"TYPE":"BOOL","UNIT":""},"from":"system.adapter.hm-rega.0","ts":1518371848876,"_id":"hm-rpc.0.OEQ0161430.13.WORKING","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}}}

                              leider hab ich jetzt wohl etwas zu viel rumgespielt und bekomme die Fehlermeldung:

                              javascript.0	2018-02-11 22:25:22.866	error	TypeError: Cannot read property 'common' of undefined
                              javascript.0	2018-02-11 22:25:22.866	error	^
                              javascript.0	2018-02-11 22:25:22.865	error	members: (objects[enums[i]].common) ? objects[enums[i]].common.members : [],
                              javascript.0	2018-02-11 22:25:22.865	error	script.js.Heizungssteuerung.Heizthermostatsteuerung_2_0: c:\iobroker\node_modules\iobroker.javascript\javas
                              

                              werd dann das erstmal wieder in Ordnung bringen müssen und mich dann Morgen oder die Tage daranmachen.

                              Werde auf jeden Fall berichten.

                              Danke erstmal für deine Hilfe!

                              Grüße, Rob

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                looxer01
                                wrote on last edited by
                                #244

                                @RobS:

                                Ok, so sieht dann also die Objektstruktur eines Kanals vom Wired-Aktor aus: `
                                ok, also ich sehe keine SollTemperatur. Es gibt nur den Kanal 13. Fehlen da noch Kanäle ?

                                Keine Ahnung wie die Dinger funktionieren…

                                305_wt-wired.jpg

                                PS

                                Die Fehlermeldungen deuten auf ein Problem mit den Aufzählungen hin.

                                1 Reply Last reply
                                0
                                • R Offline
                                  R Offline
                                  RobS
                                  wrote on last edited by
                                  #245

                                  Hi Looxer,

                                  das Neuanlegen der Aufzählungen, wie weiter oben im Thread beschrieben, hat sowohl die Fehlermeldung als auch meine Problem der nichtangelegten Datenpunkte beseitigt. Und du hattest natürlich recht, die Datenpunkte der Wiredaktoren brauche ich gar nicht für dein Skript und deine View.

                                  Aktuell funktioniert alles einwandfrei.

                                  Nochmal vielen Dank und höchstes Lob und Anerkennung für deine Entwicklung!

                                  Zur Erklärung der 12/7 Wired-Aktoren:

                                  Die Kanäle 1-12 sind Eingänge, die ich für die FBH nicht brauche. Die vier Datenpunkte, die ich dir geschickt habe sind vom ersten Ausgang. Nutze 5 der 7 Ausgänge für 5 FBH-Ventile. Sobald .STATE auf true geht, öffnet sich das jeweilige Ventil, bei false schließt es wieder. Also ganz oder gar nicht.

                                  Die Skriptumsetzung habe ich in dem Fall Apollon zu verdanken!

                                  http://forum.iobroker.net/viewtopic.php … denheizung

                                  Als nächstes steht nun an das Voraussteuerungsskript von Apollon zu implementieren, um eure beiden Skripte zu verknüpfen und die Trägheit der FBH noch besser zu kompensieren (Hab das zumindest so verstanden ;-) )

                                  Beste Grüße,

                                  Rob

                                  1 Reply Last reply
                                  0
                                  • P Offline
                                    P Offline
                                    PicNic
                                    wrote on last edited by
                                    #246

                                    @looxer01:

                                    @PicNic:

                                    Wenn ich das Fenster nun schließe (im Log um 12:23:07 Uhr), dann wird das das vom Skript erkannt, die Temperatur wird aber nicht wieder auf die ursprüngliche angehoben.

                                    Das Skript läuft dann in Dauerschleife, weil es irgendeine Form von Delay erkannt hat. `
                                    Hi,

                                    da war ein Fehler in der Zuweisung für "NichtHM-Geräte".

                                    Bitte tausche einmal folgenden Code aus. Feedback wäre super. Dann baue ich es für die nächste Version ein.

                                    vG Looxer `

                                    Hi Looxer,

                                    läuft! :-) … vielen Dank. Hab das Skript nun aktiv für alle Thermostate. Sollten noch einmal irgendwelche Merkwürdigkeiten auftreten gebe ich sofort Bescheid.

                                    Vielen Dank für deinen Support!

                                    Viele Grüße

                                    PicNic

                                    1 Reply Last reply
                                    0
                                    • B Offline
                                      B Offline
                                      Brati
                                      wrote on last edited by
                                      #247

                                      Hallo,

                                      ich würde gerne die CCU Heizungsscripte durch dieses hier ersetzen. Hintergrund ist die bessere Möglichkeit Änderungen vorzunehmen.

                                      Jetzt basieren die Events hier auf iCal. Abwesenheit, Feiertag und Urlaub laufen aber sehr gut über Variablen auf der CUU.

                                      Muss ich einfach nur die Pfade auf die Rega Werte anpassen? z.B.

                                      var StateUrlaubAbwesenheit  ="rega.0.0815";    // Temperaturabsenkung wenn laengerer Urlaub eingetragen ist
                                      

                                      Grüße

                                      Brati

                                      CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        wrote on last edited by
                                        #248

                                        @Brati:

                                        uss ich einfach nur die Pfade auf die Rega Werte anpassen? z.B. `
                                        Hi,

                                        Die benannten Variablen sind im Script als spezielle states bezeichnet.

                                        Die Subscriptions beruhen auf den User-Einstellungen (deshalb speziell)

                                        • Feiertag

                                        • Anwesenheit

                                        • ICAL

                                        getestet habe ich es zwar nicht, sollte aber gehen.

                                        Die Codestelle ist hier, falls interessant:

                                        ! ````
                                        log("Heizungsscript verarbeitung benutzt Trigger und Events", "info");

                                                var subscribeIdList = [
                                                    StateFeiertagHeuteAdapter,
                                                    StateAnwesenheitFunction,
                                                    StateHeizperiode
                                                ];
                                                if (UseFeiertagskalender === false) {
                                                    subscribeIdList.push(ICALPath + "."+ EventG_Feiertag);
                                                }
                                                if (UseEventsGlobalParameter === true) {
                                                    subscribeIdList.push(ICALPath + "."+ EventG_Party);
                                                    subscribeIdList.push(ICALPath + "."+ EventG_UrlaubAbwesend);
                                                    subscribeIdList.push(ICALPath + "."+ EventG_UrlaubAnwesend);
                                                    subscribeIdList.push(ICALPath + "."+ EventG_Gaeste);
                                                }
                                                // Auf Änderungen einiger spezieller States reagieren
                                                on({id: subscribeIdList, change: 'ne'}, function(state) {
                                                    if (debug) {log("Trigger nach Änderung für State " + state.id, "info");}
                                                    TriggerUpdate();
                                                });
                                        

                                        ! ````

                                        Teste bitte mal. Rückmeldungen sind immer welcome :)

                                        vG Looxer

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          Brati
                                          wrote on last edited by
                                          #249

                                          Hmm,

                                          so ganz blicke ich da noch nicht durch und habe auch folgendes Problem: Bei mir läuft ja die Variable Anwesenheit true = anwesend, false = abwesend und das Script reagiert ja auf Keiner_Da = true = abwesend.

                                          Vielleicht ist es einfacher die Events in States auszulagern und per extra Script auf das Ändern der Variablen zu reagieren, also Anwesenheit = false schaltet dann javascript.0.Heizung.Keiner_Da auf true.

                                          Na ich probiere es mal auf diesem Wege.

                                          Grüße

                                          Brati

                                          CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe