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

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

    • 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.
    • 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
                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            427
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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