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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung - Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                    • W
                      webseb79 last edited by

                      upps..

                      Wandthermostat = HM-TC-IT-WM-W-EU

                      Heizkörper = HM-CC-RT-DN

                      Fensterkontakt = HM-Sec-RHS und HM-SEC-SC-2

                      Gruß Sebastian

                      1 Reply Last reply Reply Quote 0
                      • J
                        JesusC last edited by

                        Hallo zusammen,

                        ich habe mich heute einmal daran versucht, das angegebene Script incl. Vis zu implementieren. Da ist noch ziemlicher iobroker-Neuling bin muss ich gestehen, dass ich mich in diverse Sachen noch einarbeiten muss. Ich hab das Script unter "Skripte" als globales Script hinterlegt, die in der Doku vorgeschlagenen Anpassungen vorgenommen und das Script gestartet. Das Log meldet mir lediglich:

                        javascript.0 2017-09-12 09:46:15.264 info received all objects

                        javascript.0 2017-09-12 09:46:14.732 info received all states

                        javascript.0 2017-09-12 09:46:14.014 info requesting all objects

                        javascript.0 2017-09-12 09:46:13.998 info requesting all states

                        javascript.0 2017-09-12 09:46:13.982 info starting. Version 3.4.0 in C:/ioBroker/node_modules/iobroker.javascript, node: v4.5.0

                        Einträge unter Aufzählungen (rooms und functions) stimmen mit meiner CCU2 überein. Wand- und Heizungsthermostate, sowie Verschluss-Kontakte sind in den entsprechenden Gewerken.

                        Hab im Script das debugging aktiviert, trotzdem keine weiteren Einträge im iobroker-Log. Oder tauchen die debugging-Einträge nur im extern gespeicherten Log auf, sofern man dieses definiert?

                        Grüße

                        jC

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

                          Moin, sollte das script nicht besser unter "common" stehen? Bei mir ist das so und es läuft ohne Probleme. Da sind aber die Experten eher gefragt. 😉

                          1 Reply Last reply Reply Quote 0
                          • J
                            JesusC last edited by

                            Probieren geht über studieren. Nun erhalte ich immerhin eine Fehlermeldung.

                            10:27:28.434 [error] javascript.0 script.js.common.HzThSt_V076: TypeError: Cannot read property 'native' of null

                            10:27:28.434 [error] javascript.0 at script.js.common.HzThSt_V076:424:43

                            das wäre dann: devtype = getObject(idExtract).native.TYPE;

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

                              Hi,

                              das sollte nicht passieren. Poste doch mal den Einstellungsbereich des Scriptes.

                              vG Looxer

                              1 Reply Last reply Reply Quote 0
                              • J
                                JesusC last edited by

                                Die Usereinstellungen im Script?

                                ! //–----------------------------------------------------------------------------
                                ! // Beginn USER Einstellungen
                                ! //------------------------------------------------------------------------------
                                ! //
                                ! // Gewerke - wichtige Einstellung, da nur die Geraete eingelesen werden, die im Gewerk vorhanden sind
                                ! //Das Gewerk muss alle Thermostate bzw Sensoren enhalten
                                ! var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.
                                ! var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.
                                ! // Alle x Minuten wird gecheckt ob die SollTemp angepasst werden muss - Empfehlung 5
                                ! var cron = 5;
                                ! // Raumliste - empfohlen zu benutzen fuer kleine Systeme
                                ! // UseRoomList heisst, dass die nur hier gelisteten Raeume angelegt und abgearbeitet werden - somit werden nicht sofort alle Datenpunkte aller Räume angelegt (ca. 100 pro Raum und Profil)
                                ! // dies dient hauptsaechlich zur Anlage der Daten - So koennen Raum fuer Raum alle States angelegt wrden
                                ! // Das sollte genutzt werden mit langsamen Rechnern wie Raspi mit SD karte
                                ! var UseRoomList = false; // Wenn testmodus werden nur die Angegebenen Raeume abgearbeitet
                                ! var RoomList = [];
                                ! RoomList[0] = ['Schlafzimmer']; // Liste der Raeume die gesteuert werden soll zum Testen
                                ! RoomList[1] = ['Elternbad'];
                                ! RoomList[2] = ['Wohnzimmer'];
                                ! RoomList[3] = ['Kueche'];
                                ! RoomList[4] = ['Raum4'];
                                ! RoomList[5] = ['Raum5'];
                                ! RoomList[6] = ['Raum6'];
                                ! RoomList[7] = ['Raum7'];
                                ! RoomList[8] = ['Raum8'];
                                ! RoomList[9] = ['Raum9'];
                                ! // Anzahl der Profile. i.d.R. sollten maximal 3 Profile genuegen - Profile werden z.B. fuer Events aus ICAL verwendet
                                ! var MaxProfile = 1; // Maximal genutzte Profile pro Raum (gering halten ) Zahl zwischen 1 und 9
                                ! // Das ist die Temperatur, die eingestellt wird, wenn erkannt wird, dass ein Verschluss eines Raumes geoeffnet ist (z.B bei nicht direktverknuepften Geraeten)
                                ! var VerschlussAbsenkungsGrenze = 12;
                                ! // erweitertetes Logging im ioBroker log bei true
                                ! var debug = false;
                                ! // Logging in externe Datei - Achtung der Pfad muss fuer MS-Windows bzw IOS angepasst werden
                                ! var LogFlag = false; // logging enabled
                                ! var LogPath = "/opt/iobroker/iobroker-data/HeizungsthermostatLOG.csv"; // Pfad und Dateiname des externen Logs
                                ! var OnlyChanges = true; // bei true wird nur geloggt wennn eine neue Solltemperatur geschrieben wird
                                ! // ICAL Einstellungen (erst nach Ersteinstellung Aktivieren)
                                ! // Wenn keine Events genutzt werden, dann alles auf false setzen
                                ! // die Events muessen entsprechend in ICAL angelegt werden, sonst gibt es Warnmeldungen im Log
                                ! // Die Eventnamen koennen angepasst werden. Bitte die Logkik von ICAL unbeding beachten. (siehe Doku im Kapitel ICAL)
                                ! var UseEventsGlobalParameter = false; // mit diesen Events koennen Urlaub Party etc geplant werden - Empfehlung erst im zweiten Schritt aktivieren
                                ! var UseEventsGlobalProfilSelect = false; // Events mit denen das Profil umgeschaltet werden kann - fuer alle Raeume - Empfehlung erst im zweiten Schritt aktivieren
                                ! var UseEventsRaumProfilSelect = false; // Events mit denen das Profil fuer einzelne Raeume umgeschaltet werden kann - Empfehlung erst im zweiten Schritt aktivieren
                                ! var EventG_UrlaubAbwesend = "Urlaub_Abwesend"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! var EventG_UrlaubAnwesend = "Urlaub_Anwesend"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! var EventG_Party = "Party"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! var EventG_Gaeste = "Gaeste"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! var EventG_Abwesend = "Keiner_DA"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! var EventG_Feiertag = "Feiertag"; // dieses Event muss in ICAL angelegt werden wenn UseEventsGlobalParameter = true ist
                                ! // Die folgenden EVENT Texte muessen in ICAL angelegt werden. Sobald die Texte im google Kalender
                                ! // aktiv sind wird das Event fuer die Heizungsthermostatsteuerung ausgewertet.
                                ! // Achtung die Zeichen <> und der Text innerhalb dieser Klammer duerfen nicht geaendert werden
                                ! // siehe Dokumentation fuer mehr infos
                                ! var UseEventG_Profil = "Global_Profil_<profilnummer>"; // Events mit denen das Profil umgeschaltet werden kann - muss in ICAL angelegt werden wenn UseEventP_Profil = true ist
                                ! var UseEventR_Profil = "<raumname>Profil<profilnummer>"; // Events mit denen das Raumprofil umgeschaltet werden kann - muss in ICAL angelegt werden wenn UseEventsRaumProfilSelect = true ist
                                ! // Integration zur Anwesenheitsermittlung -
                                ! var UseAnwesenheitserkennung = false; // wenn true, dann wird die o.g. Anwesenheitsvariable genutzt - Empfehlung erst im zweiten Schritt aktivieren
                                ! var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
                                ! // Integration zum Feiertagskalender -
                                ! var UseFeiertagskalender = false; // wenn der Kalender genutzt wird bitte auf true setzen - Empfehlung: Feiertagsadapter installieren und auf true setzen
                                ! var StateFeiertagHeuteAdapter = "feiertage.0.heute.boolean"; //wenn UseFeiertagskalender, dann wird dieser Pfad verwendet</profilnummer></raumname></profilnummer>

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

                                  Hi,

                                  Wenn du code postest, dann waere es wegen der Lesbarkeit gut, wenn due die Funktionen "spoiler" und innerhalb spoiler "Code" nutzt.

                                  Sieht dann so aus wie hier:

                                  ! // // Gewerke - wichtige Einstellung, da nur die Geraete eingelesen werden, die im Gewerk vorhanden sind //Das Gewerk muss alle Thermostate bzw Sensoren enhalten var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein. var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein. !

                                  Hast du deine Gewerke genauso bezeichnet ? Die heissen bei mir zwar so aber auch bei dir ?

                                  vG Looxer

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    JesusC last edited by

                                    Macht Sinn (also der Spoilertag). Ja, die Gewerke haben die default-Homematic-Bezeichnungen.

                                    Edit:

                                    Was mir eben aufgefallen ist: einige Geräte/Mitglieder der Raum- bzw. Gewerkeliste unter Aufzählungen haben andere Bezeichnungen als innerhalb der CCU2. Z.B. Verschluss "HM-Sec-SC-2 MEQXXXXXXX:1" heißt in der Aufzählungsliste im entsprechenden Gewerk "(2)hm-rpc.2.MEQXXXXXXX.1". Sofern die Bezeichnung übernommen wird im Script, würden die zusätzlichen Klammern der Sache eine Strich durch die Rechnung machen?

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

                                      Also, es gib zwei Stellen wo dieser Code genutzt wird (bei dem der Fehler auftritt)

                                      • einlesen der Thermostate

                                      • einlesen der Sensoren

                                      bau mal folgende Zeile ein:

                                      Original code:

                                                  fullname = getObject(id).common.name;
                                                  devtype = getObject(idExtract).native.TYPE;
                                      
                                      

                                      Neuer Code - nur fuer den Heizungsteil unter // jetzt Thermostate einlesen

                                      fullname = getObject(id).common.name;
                                      log("fullname " + fullname + " ID " + idExtract + " Raum " + roomName + " Gewerk " + HeizungGewerk,"info")
                                      devtype = getObject(idExtract).native.TYPE;
                                      
                                      

                                      …und poste das Ergebnis.

                                      Zweiter Schritt ist das auch für die Sensoren zu machen, falls du welche nutzt.

                                      Da heisst die variable aber nicht HeizungGewerk sondern SensorGewerk

                                      und muss dann unter // Verschluss sensoren einlesen und subscription buchen eingestellt werden.

                                      Hintergrund: Ich vermute, dass was mit den Räumen / Gewerken nicht stimmt. Falls das so sein sollte, dann muesstest

                                      due die Gewerke und Räume einmal Löschen und komplett neu generieren lassen. aber erstmal abwarten.

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        JesusC last edited by

                                        "javascript.0 2017-09-12 10:54:10.581 warn Object "hm-rpc.0.MEQ1581663" does not exist"

                                        Gut, müsste ja auch rpc.2 sein. 🙂 Wo passe ich das an?

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

                                          @JesusC:

                                          Edit:

                                          Was mir eben aufgefallen ist: einige Geräte/Mitglieder der Raum- bzw. Gewerkeliste unter Aufzählungen haben andere Bezeichnungen als innerhalb der CCU2. Z.B. Verschluss "HM-Sec-SC-2 MEQXXXXXXX:1" heißt in der Aufzählungsliste im entsprechenden Gewerk "(2)hm-rpc.2.MEQXXXXXXX.1". Sofern die Bezeichnung übernommen wird im Script, würden die zusätzlichen Klammern der Sache eine Strich durch die Rechnung machen? `

                                          da haben sich unsere posts ueberschnitten und du bestaetigst meine Vermutung. Da schielen CCU und iobrokerwie es aussieht.

                                          Wenn du keine manuellen Gewerke/Räume hast, dann lösche die aus der iobroker und synchronisiere die REGA neu.

                                          vG Looxer

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            JesusC last edited by

                                            Leider schon versucht. Auch beim neu einlesen übernimmt der iobroker die o.a. Bezeichnungen. Hab im Script nun mal für var ThermostatTypeTab = []; und var SensorTypeTab = []; den Eintrag "['hm-rpc.0.'," auf "['hm-rpc.2.'," geändert. Trotzdem mahnt das Script noch den o.a. Fehler an. Wird das Script irgendwo gecached?

                                            Edit:

                                            Nach nem iobroker-Neustart lief das Script mit angepasstem Adapter nun sauber durch. Denke ich zumindest. Ich bastle mal weiter. 🙂 Vielen Dank!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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