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

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

Community Forum

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

NEWS

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

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

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

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplateheatingclimate
1.1k Beiträge 115 Kommentatoren 396.9k Aufrufe 61 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Q Offline
    Q Offline
    quorle
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      looxer01
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • L Offline
        L Offline
        looxer01
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • Q Offline
          Q Offline
          quorle
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              PicNic
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                RobS
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  looxer01
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    RobS
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      looxer01
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        RobS
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • L Offline
                          L Offline
                          looxer01
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            RobS
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • L Offline
                              L Offline
                              looxer01
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                RobS
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  PicNic
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    Brati
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • L Offline
                                      L Offline
                                      looxer01
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • B Offline
                                        B Offline
                                        Brati
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • L Offline
                                          L Offline
                                          looxer01
                                          schrieb am zuletzt editiert von
                                          #250

                                          @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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          447

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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