Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      PicNic last edited by

      @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 Reply Quote 0
      • R
        RobS last edited by

        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 Reply Quote 0
        • L
          looxer01 last edited by

          @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 Reply Quote 0
          • R
            RobS last edited by

            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 Reply Quote 0
            • L
              looxer01 last edited by

              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 Reply Quote 0
              • R
                RobS last edited by

                @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 Reply Quote 0
                • L
                  looxer01 last edited by

                  @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 Reply Quote 0
                  • R
                    RobS last edited by

                    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 Reply Quote 0
                    • L
                      looxer01 last edited by

                      @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 Reply Quote 0
                      • R
                        RobS last edited by

                        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 Reply Quote 0
                        • P
                          PicNic last edited by

                          @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 Reply Quote 0
                          • B
                            Brati last edited by

                            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

                            1 Reply Last reply Reply Quote 0
                            • L
                              looxer01 last edited by

                              @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 Reply Quote 0
                              • B
                                Brati last edited by

                                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

                                1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 last edited by

                                  @Brati:

                                  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. `
                                  ja, das liegt daran, dass du dir die ICAL Events ansiehst.

                                  Nimm dieses hier: var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa";

                                  Wenn der Status auf TRUE steht, dann ist anwesend.

                                  Bei ICAL kannst du sowohl anwesend also auch abesend setzen. und bei abwesend = TRUE ist halt nicht anwesend.

                                  Du brauchst keine eigenen Zwischenstates zu setzen

                                  vG Looxer

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    looxer01 last edited by

                                    @Brati:

                                    o ganz blicke ich da noch nicht durch u `
                                    noch ein Punkt wie sich die ICAL An- und Abwesenheit verhält.

                                    Das Konzept ist so gedacht:

                                    Manche haben gar keine Abwesenheitserkennung und können komplett über Kalender steuern.

                                    Manche habe eine Abesenheitserkennung und können zusätzlich mit dem Kalender steuern.

                                    Im Falle von Konflikten entscheidet die Overrule-Tabelle was verwendet wird.

                                    Die Reihenfolge kann eingestellt werden. Vorgegeben ist, dass bei automatischer Abwesenheitserkennung diese zuerst zieht (Absenkung)

                                    ich gestehe aber, dass ich das Event: EventG_Abwesend gar nicht programmiert haben. Das heisst, das Event hat keine Wirkung.

                                    Habe ich bei mir auf der Liste stehen.

                                    vG Looxer

                                    OverruleTabelle:

                                    verruleTab[0] = ["Abwesenheit"];      // Bei Abwesenheit wird die Temperatur der entsprechend Eisntellung abgesenkt
                                    OverruleTab[1] = ["UrlaubAnwesend"];   // Urlaubsanwesenheit / beeinflusst nicht direkt die Solltemp - ist aber wichtig fuer die Schedule Findung
                                    OverruleTab[2] = ["UrlaubAbwesend"];   // Urlaubsabwesenheit -
                                    OverruleTab[3] = ["Gaeste"];           // Temperatur Anhebung
                                    OverruleTab[4] = ["Party"];            // Partyabsenkung
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      haitak last edited by

                                      Hallo esrt mal zusammen,

                                      bin neu hier und versuche das schöne Script hier zum laufen zu bekommen, aber leider bekomme ich beim Ausführen dieses

                                      Scrpts folgende errors zu gesicht. Das System ist ein CENTOS 7 und iobroker ist als benutzer angelgt worden, also keine root rechte. Die Gewerke in der CCU sind richtig und auch gefüllt. Für jegliche Hilfe würde ich mich freuen.

                                      undefined2018-02-13 18:25:10.278 - info: javascript.0 Start javascript script.js.common.Heizung

                                      2018-02-13 18:25:10.295 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Wohnzimmer wird jetzt ueberprueft

                                      2018-02-13 18:25:10.326 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Küche wird jetzt ueberprueft

                                      2018-02-13 18:25:10.335 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Schlafzimmer wird jetzt ueberprueft

                                      2018-02-13 18:25:10.344 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Büro wird jetzt ueberprueft

                                      2018-02-13 18:25:10.352 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Badezimmer wird jetzt ueberprueft

                                      2018-02-13 18:25:10.362 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum roomTerrace wird jetzt ueberprueft

                                      2018-02-13 18:25:10.370 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Flur wird jetzt ueberprueft

                                      2018-02-13 18:25:10.388 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum Kueche wird jetzt ueberprueft

                                      2018-02-13 18:25:10.401 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum [object Object] wird jetzt ueberprueft

                                      2018-02-13 18:25:10.405 - error: javascript.0 script.js.common.Heizung: script.js.common.Heizung:571

                                      2018-02-13 18:25:10.405 - error: javascript.0 roomNoSpace = roomName.replace(/\s/g, "_");

                                      2018-02-13 18:25:10.405 - error: javascript.0 ^

                                      2018-02-13 18:25:10.405 - error: javascript.0 TypeError: roomName.replace is not a function

                                      2018-02-13 18:25:10.406 - error: javascript.0 at getDevices (script.js.common.Heizung:571:32)

                                      2018-02-13 18:25:10.406 - error: javascript.0 at initializeData (script.js.common.Heizung:344:5)

                                      2018-02-13 18:25:10.406 - error: javascript.0 at script.js.common.Heizung:337:1

                                      2018-02-13 18:25:10.406 - error: javascript.0 at ContextifyScript.Script.runInContext (vm.js:35:29)

                                      2018-02-13 18:25:13.010 - info: javascript.0 Stop script script.js.common.Heizung

                                      LG

                                      haitak

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        looxer01 last edited by

                                        Hi und willkommen im Club,

                                        der entscheidende Hinweis ist dieser

                                        2018-02-13 18:25:10.405 - error: javascript.0 TypeError: roomName.replace is not a function
                                        
                                        

                                        Deine Räume machen das Problem.

                                        Ein weiterer Hinweis ist dieser:

                                        2018-02-13 18:25:10.362 - info: javascript.0 script.js.common.Heizung: Gibt es ein zugeordnetes Gerät für den Raum roomTerrace wird jetzt ueberprueft
                                        
                                        

                                        Da scheint es noch das Translation Problem aus der CCU zu geben.

                                        Schau mal in die Aufzählungen (ioBroker - admin) Dort sind vermutlich englisch sprachliche Räume gelistet

                                        Zur Lösung müsstest du folgendes machen:

                                        • CCU Raumliste und nicht uebersetzte Räume umbenennen (in der CCU erscheinen diese allerdings übersetzt) in z.B. Terrasse01

                                        • Dann wieder zurück umbenennen also in diesem Beispiel: Terrasse

                                        • dann in iobroker die Adapter HM-Rega und HM-RPC stoppen

                                        • HM REGA starten und 2 Minuten warten

                                        • HM-RPC starten

                                        oder du startest iobroker nach dem Umbenennen neu - geht natürlich auch.

                                        Ich hoffe also, dass einer der nicht übersetzten Räume ein Thermostat hat.

                                        vG Looxer

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          haitak last edited by

                                          Danke looxer01,

                                          habe dein Rat befolgt. Da existierte wirklich ein Raum mit englischen Namen.

                                          Bekomme aber jetzt diese Meldung noch:

                                          undefined2018-02-13 19:23:45.875 - info: javascript.0 Stop script script.js.common.Heizung

                                          2018-02-13 19:23:45.944 - info: javascript.0 Start javascript script.js.common.Heizung

                                          2018-02-13 19:23:45.954 - error: javascript.0 script.js.common.Heizung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207

                                          2018-02-13 19:23:45.955 - error: javascript.0 members: (objects[enums_[i]].common) ? objects[enums_[i]].common.members : [],

                                          2018-02-13 19:23:45.955 - error: javascript.0 ^

                                          2018-02-13 19:23:45.955 - error: javascript.0 TypeError: Cannot read property 'common' of undefined

                                          2018-02-13 19:23:51.839 - info: javascript.0 Stop script script.js.common.Heizung

                                          Danke noch mal für die schnelle Hilfe!

                                          haitak__

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 last edited by

                                            @haitak:

                                            ndefined2018-02-13 19:23:45.875 - info: javascript.0 Stop script script.js.common.Heizung

                                            2018-02-13 19:23:45.944 - info: javascript.0 Start javascript script.js.common.Heizung

                                            2018-02-13 19:23:45.954 - error: javascript.0 script.js.common.Heizung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207

                                            2018-02-13 19:23:45.955 - error: javascript.0 members: (objects[enums_[i]].common) ? objects[enums_[i]].common.members : [],

                                            2018-02-13 19:23:45.955 - error: javascript.0 ^

                                            2018-02-13 19:23:45.955 - error: javascript.0 TypeError: Cannot read property 'common' of undefined

                                            2018-02-13 19:23:51.839 - info: javascript.0 Stop script script.js.common.Heizung__ ` __Hi,

                                            da gibt es immer noch ein Problem mit den Aufzählungen. (enums)

                                            Was manchmal hilft ist das komplette löschen aus ioBroker und dann ioBroker neu starten.

                                            Natürlich müssen die Zuweisungen in der CCU gemacht sein. Vermutlich siehst du in der Objektliste aber, dass die Thermostate nicht zugewiesen sind.

                                            Entweder stimmt was mit der CCU Zuweissung nicht (z.B. Kanal1 der CCU und Zuweisung zu Raum und Gewerk) oder was mit dem synch nicht

                                            (dann hilft löschen und neu starten)

                                            vG Looxer__

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            climate heating javascript template
                                            115
                                            1127
                                            332935
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo