Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Heizungsthermostatsteuerung - Script

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

      Hi,

      es gibt eine neue Version mit folgenden Aenderungen:

      // Version 0.75 15.04.2017 - UserExit - Hinzugefügt

      //…..................... - undefined Zustand Source_CurrentSollTemp abgefangen in writelog

      //........................ - Sensoren 'HM-Sec-RHS und 'HM-Sec-SC-2 aufgenommen

      1. Ich hoffe den Fehler von Superdad damit erstmal geloest zu haben. Da er bei mir aber nicht auftritt wäre ich für feedback dankbar

      2. Es gibt eine neue Funktion: Es gibt die Möglichkeit über UserExits und externe Trigger die SollTemperatur der Thermostate zu beeinflussen

      3. Zwei neue Fenstersensoren hinzugefügt. Bitte Testen.

      vG Looxer

      1 Reply Last reply Reply Quote 0
      • S
        Superdad last edited by

        Ich habe mal noch ein paar Fragen zum View.

        1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?

        Oder nur das, was gerade aktiv sein soll?

        Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an?

        2. Ist für jedes Thermostat ein eigener View anzulegen?

        3. Wo sind denn die Profile hinterlegt, die man auswählen kann?

        Oder wie lege ich Profile an und speichere diese dann ab?

        So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.

        Oder verstehe ich da was falsch?

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

          Hi,

          @Superdad:

          1. Muss ich bei "Globale Heizparameter" alles anhaken was jemals genutzt werden soll?

          Oder nur das, was gerade aktiv sein soll?

          Wenn ich also z.Bsp. Urlaub habe, dann hake ich Urlaub anwesend an? `

          Die Globalen Parameter dienen dazu grundsätzlich mitzuteilen, ob eine bestimmte Situation eingetreten ist.

          Gehen wir sie mal durch:

          1. Heizperiode ist die Ausnahme. Keine Heizung wird gesteuert, wenn der Parameter ausgeschaltet ist

          2. Feiertag Heute. Es wird die Feiertagszeile aus dem aktiven Profil gewählt

          3. Anwesend: Es wird die Abwesenheitsabsenkung von der geplanten Solltemperatur substrahiert. Bei Null passiert eben nix

          3. Party: Es wird die Party-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix

          4. Party: Es wird die Gaeste-Anhebung zu der geplanten Solltemperatur addiert. Bei Null im Profil passiert nix

          5. Urlaub Anwesend. Es wird die Feiertagszeile aus dem aktiven Profil gewählt, wenn das Profil "Urlaub Anwesend wie Feiertag" getickt hat

          6. Urlaub Abwesend: Es wird die Urlaub-Absenkungen von der geplanten Solltemperatur substrahiert. Bei Null im Profil passiert nix

          @Superdad:

          2. Ist für jedes Thermostat ein eigener View anzulegen? `
          Nein- auf keinen Fall. Nur per Raum und per Profil. Mehr als ein Profil wird aber nur benötigt, wenn ich situativ eine komplett andere Steuerung benötige. Beispiel sind Schichtpläne, die jede Woche anders aussehen können. Es gibt bis zu 9 Profile

          @Superdad:

          3. Wo sind denn die Profile hinterlegt, die man auswählen kann?

          Oder wie lege ich Profile an und speichere diese dann ab?

          So das ich dann z.Bsp. Profil 2 auswähle und die Tabelle im "Heizplan" füllt sich dann.

          Oder verstehe ich da was falsch? `

          Die Profile werden automatisch angelegt. Die Views dazu musst du allerdings selber anlegen wie beschrieben.

          Allerdings musst du jedes Profil im Editor bearbeiten. z.B. Replace "Profil-1" durch "Profil-2". Damit hast du eine View für Profil 2

          wenn du Profil 2 auswählst, dann wird der Temperaturplan aus dem Profil-2 verwendet.

          Ich hoffe, dass das die Fragen klärt ?

          vG Looxer

          1 Reply Last reply Reply Quote 0
          • W
            webseb79 last edited by

            Guten Abend looxer,

            die eingepflegten Fenstersensoren funktionieren tadellos.

            Ich bin nun auch durch dein Script soweit durch mit allen Ideen und Abläufen wie ich mir das vorstelle was ein Thermostatscript so können muß.

            Ich kann nur sagen das es eine sehr gute Arbeit von Dir ist….DANKE dafür !

            Gruß Sebastian

            1 Reply Last reply Reply Quote 0
            • C
              Conquest last edited by

              Hallo Looxer,

              ich wollte mir mal deine View anschauen aber leider bekomme ich beim importieren eine Fehlermeldung. Vielleicht liegt es auch an meinem Editor. Kannst du mir für Ubuntu einen empfehlen da es dort ja kein notepad++ gibt? Im Anhang findest du die Fehlermeldung.

              Vielleicht kann mir ja jemand weiterhelfen.

              Gruß Torsten

              470_bildschirmfoto_vom_2017-04-18_15-53-53.png

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

                also, Probleme mit Editoren gibt es wohl eher unter Windows. Von daher glaube ich nicht, dass es daran liegt.

                Trotzdem mal dieser link: http://kushellig.de/linux-ubuntu-text-editoren/

                Mir ist es beim pasten auch hin und wieder passiert, dass ich irgendein Zeichen über die Tastatur mit eingegeben habe.

                Sonst fällt mir da im Moment auch nix ein. Ich habe überhaupt keine grafische Linux Oberfläche zur Verfügung.

                Vielleicht kann noch jemand mit ähnlicher Konstellation was beitragen ?

                vG Looxer

                1 Reply Last reply Reply Quote 0
                • C
                  Conquest last edited by

                  Danke hat jetzt funktioniert hab Kate als Editor genommen. Sieht echt Klasse aus was du da auf die Beine gestellt hast genau sowas hatte ich gesucht.

                  Gruß Torsten

                  1 Reply Last reply Reply Quote 0
                  • K
                    krissi last edited by

                    Hi, kannst Du mir da eventuell auf die Sprünge helfen wie Du das genau gemacht hast? 😉

                    @nobse:

                    Hallo

                    habe bei mir das Feiertagsscript installiert und var UseFeiertagskalender = true; gesetzt.

                    feiertage.0.heute.boolean ist true

                    Es wird aber nicht die Einstellung für Feiertag verwendet sondern die für Freitag.

                    Ist das bei euch auch so? `

                    1 Reply Last reply Reply Quote 0
                    • N
                      nobse last edited by

                      Hallo

                      also du must das Feiertags Module installiert haben.

                      Dann kannst du im Heizungsscript die Variable UseFeiertagskalender auf true setzen. Das findest du ca. in Zeile 118.

                      Dann nimmt das Heizungsscript zur Steuerung die Feiertage aus dem Feiertags Modul.

                      Hoffe das ist das was du wissen wolltest.

                      Gruß Norbert

                      1 Reply Last reply Reply Quote 0
                      • K
                        krissi last edited by

                        Moin Norbert. Ich denke du meinst den Adapter "Feiertage"? Ich probier das nachher mal aus. Ich meld mich dann. Danke! 🙂

                        1 Reply Last reply Reply Quote 0
                        • K
                          krissi last edited by

                          Ich hab das jetzt mal eingebaut. Bin ich gespannt ob das Montag (01.05.) funzt! 🙂

                          kleiner Nachtrag. geht! 😄

                          1 Reply Last reply Reply Quote 0
                          • W
                            webseb79 last edited by

                            Hallo Looxer,

                            habe dein Script jetzt eine Zeit lang laufen und wollte durch die warmen Tage meine Heizung ausschalten und habe die Heizperiode auf false gestellt durch ein Schalter in der Visu.

                            Dann kam die Fehlermeldung:

                            host.cubox-i	2017-05-17 16:55:00.457	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                            host.cubox-i	2017-05-17 16:55:00.423	info	instance system.adapter.weatherunderground.0 started with pid 14908
                            javascript.0	2017-05-17 16:55:00.322	error	ReferenceError: z is not defined at LoopDevices (script.js.Heizung.Heizplan:724:44) at LoopRooms (script.js.Heizung.Heizplan:678:13) at Object. (script.js.Heizung.Heizplan:416:1
                            javascript.0	2017-05-17 16:55:00.321	error	uncaught exception: z is not defined
                            

                            Kannst du dir das mal anschauen?

                            Der Fehler lässt den javascript Adapter komplett abstürzen und neu starten.

                            Als zweite Frage:

                            kannst du das Script so modifizieren das ich kein ValueList Widget nehme für die Sollwerttemperatur sondern ein Input Widget mit direkter Vorgabe von z.B. 17°C.

                            Jetzt wird ja nur als Text die Gradzahl mir angezeigt , aber im Script kommen ja Zahlen von 0-37.

                            Danke im voraus

                            Sebastian

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

                              @webseb79:

                              und habe die Heizperiode auf false gestellt durch ein Schalter in der Visu.

                              Dann kam die Fehlermeldung: `

                              Einen Fehler hatte ich noch nicht bemerkt aber der Punkt steht auf meiner Liste. 😉

                              Schau ich mir an.

                              @webseb79:

                              kannst du das Script so modifizieren das ich kein ValueList Widget nehme für die Sollwerttemperatur sondern ein Input Widget mit direkter Vorgabe von z.B. 17°C. `

                              Das ist schon eingebaut aber noch nicht getestet. In den Experteneinstellungen gibt es eine Variable:

                              // Bei Verwendung des Widgets Select-value List werden die Temperaturen nicht als Grad gespeichert

                              var VerwendungSelectValue = true;

                              wenn du die auf false setzt sollten alle Temperaturangaben ohne SelectValue laufen. Das gilt aber wirklich für alle und nicht nur für die Solltemperatur.

                              vG Looxer

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

                                @webseb79:

                                wollte durch die warmen Tage meine Heizung ausschalten und habe die Heizperiode auf false gestellt durch ein Schalter in der Visu.

                                Dann kam die Fehlermeldung: `

                                ich habe die Version 0.76 hochgeladen. Könntest du testen und feedback geben ?

                                vielen Dank

                                Looxer

                                1 Reply Last reply Reply Quote 0
                                • W
                                  webseb79 last edited by

                                  Hallo looxer,

                                  die Abschaltung der Heizperiode funktioniert…Danke.

                                  Die Umstellung der SelectValue funktioniert auch , hatte an dem Punkt vorher schonmal rumprobiert aber es hat nicht geklappt , darum dann auch meine Frage.

                                  Ich mußte wirklich alle SelectValue aus meinen Views löschen und die Datenpunkte unter javascript.0 löschen und das Script neu starten damit alles neu angelegt wird , danach nimmt er die Temperaturen wie gewollt.

                                  Eine Warnung kommt noch.

                                  In Zeile 1351 legst du einen Datenpunkt "View_Manually_Adjusted" an mit "false" und "boolean".

                                  Ich habe das in "0" und "number" geändert und die Warnung kommt nicht mehr.

                                  Kannst nochmal drüber schauen , vielleicht ist es so ok wie ich das geändert habe und du ändert das beim nächsten Scriptstand mit.

                                  Danke und Gruß

                                  Sebastian

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

                                    @webseb79:

                                    Kannst nochmal drüber schauen , vielleicht ist es so ok wie ich das geändert habe und du ändert das beim nächsten Scriptstand mit. `
                                    ja stimmt, danke. kommt mit der nächsten Version

                                    Noch eine Bitte. Ich wäre interessiert deine View zu sehen. Könntest du die hier zur Verfügung stellen ? - ggf auch per PN

                                    Danke dir

                                    Looxer

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      webseb79 last edited by

                                      Die Views sind noch im Aufbau , wenn sie fertig sind schicke ich sie dir oder stelle sie in diesen Thread.

                                      Ist eigentlich eine Grundview vom Raum und von dort aus ein Dialog mit den Sollwerteinstellungen.

                                      Im Dialog hab ich ein Valuelist für die einzelnen Tage mit der ich die Sollwerte und Zeiten Sichtbar schalte oder nicht.

                                      Gruß

                                      Sebastian

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        webseb79 last edited by

                                        Hallo looxer,

                                        habe die var VerwendungSelectValue = false jetzt in Verwendung.

                                        Leider kommen Fehlermedungen

                                        javascript.0	2017-05-19 14:54:07.522	info	script.js.Heizung.Heizplan: Routine ThermostatChange: Thermostat hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        hm-rpc.0	2017-05-19 14:54:01.054	info	setValue ["LEQ0998929:2","SET_TEMPERATURE",{"explicitDouble":"19"}] FLOAT
                                        javascript.0	2017-05-19 14:54:01.019	info	script.js.Heizung.Heizplan: Ende Abarbeitung fuer Raum Schlafzimmer
                                        javascript.0	2017-05-19 14:54:01.019	warn	Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.Source_Last_Temp: "string". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2017-05-19 14:54:01.018	warn	Wrong type of hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE: "string". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2017-05-19 14:52:05.024	info	script.js.Heizung.Heizplan: Routine ThermostatChange: Thermostat hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        javascript.0	2017-05-19 14:52:01.015	info	script.js.Heizung.Heizplan: Ende Abarbeitung fuer Raum Schlafzimmer
                                        javascript.0	2017-05-19 14:52:01.014	warn	Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.Source_Last_Temp: "string". Please fix, while deprecated and will not work in next versions.
                                        host.cubox-i	2017-05-19 14:50:07.250	info	instance system.adapter.weatherunderground.0 terminated with code 0 (OK)
                                        weatherunderground.0	2017-05-19 14:50:03.900	info	starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.weatherunderground, node: v4.8.3
                                        hm-rpc.0	2017-05-19 14:50:01.108	info	setValue ["LEQ0998929:2","SET_TEMPERATURE",{"explicitDouble":"19"}] FLOAT
                                        javascript.0	2017-05-19 14:50:01.026	info	script.js.Heizung.Heizplan: Ende Abarbeitung fuer Raum Schlafzimmer
                                        javascript.0	2017-05-19 14:50:01.026	warn	Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.Source_Last_Temp: "string". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2017-05-19 14:50:01.024	warn	Wrong type of hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE: "string". Please fix, while deprecated and will not work in next versions.
                                        host.cubox-i	2017-05-19 14:50:00.393	info	instance system.adapter.weatherunderground.0 started with pid 26587
                                        javascript.0	2017-05-19 14:48:01.012	info	script.js.Heizung.Heizplan: Ende Abarbeitung fuer Raum Schlafzimmer
                                        javascript.0	2017-05-19 14:47:17.022	warn	Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2017-05-19 14:47:17.015	info	script.js.Heizung.Heizplan: Routine ThermostatChange: Thermostat hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                                        hm-rpc.0	2017-05-19 14:46:01.039	info	setValue ["LEQ0998929:2","SET_TEMPERATURE",{"explicitDouble":"19"}] FLOAT
                                        javascript.0	2017-05-19 14:46:01.004	info	script.js.Heizung.Heizplan: Ende Abarbeitung fuer Raum Schlafzimmer
                                        javascript.0	2017-05-19 14:46:01.003	warn	Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.Source_Last_Temp: "string". Please fix, while deprecated and will not work in next versions.
                                        javascript.0	2017-05-19 14:46:01.002	warn	Wrong type of hm-rpc.0.LEQ0998929.2.SET_TEMPERATURE: "string". Please fix, while deprecated and will not work in next versions.
                                        

                                        Ich stelle mit jqui input eine 19°C ein ohne Komma und kein String als Haken anwählbar.

                                        Alle 2 Minuten wird das Script abgearbeitet, vorher wird aber auf die alte Temperatur wieder zurückgestellt und es kommt die Zeitangabe, als wenn ich manuell eine Solltemperatur vorgebe.

                                        Auch der Datentyp "String" am Set Temperature macht mich stutzig…dort ist der Datentyp "Zahl" vorgegeben.

                                        Gruß

                                        Sebastian

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

                                          @webseb79:

                                          habe die var VerwendungSelectValue = false jetzt in Verwendung.

                                          Leider kommen Fehlermedungen `

                                          ich hatte es noch nicht getestet.

                                          Dann muss ich mir ein Beispiel aufbauen und mal sehen was da passiert.

                                          kurze Frage: warum willst du de select values Widgets nicht verwenden ?

                                          vG Looxer

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            webseb79 last edited by

                                            Hallo looxer,

                                            ich arbeite in meiner Visualisierung nur mit den Input Widget , Input Date und Input Datetime und wollte die Linie weiter fahren.

                                            Aber manchmal muß man auch mal umsteigen wenn es nicht anders geht.

                                            In punkto Hardware nutze ich

                                            Wandthermostat

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            608
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            34
                                            313
                                            77521
                                            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