Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Vorlage] Heizungsthermostatsteuerung 2.1 - Script

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplateheatingclimate
1.1k Posts 115 Posters 414.8k Views 61 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    looxer01
    wrote on last edited by
    #714

    @frostnatt:

    Es haben tatsächlich die Subscriptions gefehlt.

    Leider geht es so nicht, da UseEventG_Profil mit dem folgenden Inhalt initialisiert ist `
    ups, sorry. War wie gesagt eine Trockenübung.

    Ich glaube, dass ich deinen Code übernehmen kann :D

    plus noch für die Raumprofile.

    Danke dir.

    vG Looxer

    1 Reply Last reply
    0
    • F Offline
      F Offline
      frostnatt
      wrote on last edited by
      #715

      @looxer01:

      @frostnatt:

      Es haben tatsächlich die Subscriptions gefehlt.

      Leider geht es so nicht, da UseEventG_Profil mit dem folgenden Inhalt initialisiert ist `
      ups, sorry. War wie gesagt eine Trockenübung.

      Ich glaube, dass ich deinen Code übernehmen kann :D

      plus noch für die Raumprofile.

      Danke dir.

      vG Looxer `

      Gerne! Ist übrigens ein Copy-Paste von deinem Code + ein bisschen Anpassung. :roll:

      An die Subscriptions für die Raumprofile habe ich mich nicht getraut, da es hier darauf geachtet werden muss, ob Raumliste benutzt wird oder Räume von Enums ausgelesen werden etc…

      Ne andere Frage:

      Kann man die Globalen Profile irgendwie priorisieren? Macht das Sinn aus deiner Sicht?

      Ich habe Folgendes vor:

      Global_Profil_1 soll als Standartprofil benutzt werden. Es wird im Kalender als ganztägiges Erreignis eingetragen.

      Global_Profil_2 soll beispielsweise zum Vorheizen benutzt werden. Man könnte hier natürlich die Solltemperatur manuell anpassen. ich würde es aber gerne mittels Eintrag im Kalender lösen, da ich mit der App "Kurzbefehle" bequem die Ankunftszeit abfragen kann und im Kalender ein entsprechendes Zeitfenster z.B.

      Von

      1 Std. vor der Ankunft

      Bis

      30min nach der Ankunft

      eintragen - und das nur mit einem einzigen Tastendruck.

      Es erfolgt aber keine Umschaltung wenn beide Erreignisse im Kalender aktiv sind. In diesem Fall wäre die Sache mit der optionalen Priorisierung angebracht.

      Grüße,

      Max

      1 Reply Last reply
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #716

        @frostnatt:

        Kann man die Globalen Profile irgendwie priorisieren? Macht das Sinn aus deiner Sicht?

        Ich habe Folgendes vor:

        Global_Profil_1 soll als Standartprofil benutzt werden. Es wird im Kalender als ganztägiges Erreignis eingetragen.

        Global_Profil_2 soll beispielsweise zum Vorheizen benutzt werden. Man könnte hier natürlich die Solltemperatur manuell anpassen. ich würde es aber gerne mittels Eintrag im Kalender lösen, da ich mit der App "Kurzbefehle" bequem die Ankunftszeit abfragen kann und im Kalender ein entsprechendes Zeitfenster z.B.

        Von

        1 Std. vor der Ankunft

        Bis

        30min nach der Ankunft

        eintragen - und das nur mit einem einzigen Tastendruck.

        Es erfolgt aber keine Umschaltung wenn beide Erreignisse im Kalender aktiv sind. In diesem Fall wäre die Sache mit der optionalen Priorisierung angebracht. `

        Hi,

        also, es gibt eine zentrale Stelle, um das aktive Profil zu ermitteln.

        In dieser Funktion gib es ein StückCoding für das Globale Profil.

        Hast du ggf Lust dir das anzuschauen und ggf was einzubauen.

        Um es generell tauglich zu machen müsste aber noch eine Tabelle für die Einstellungen hinzugefügt werden

        irgendwie so

        var UseGlobalParamPrio= false; // fuer den Fall, dass es mehrere aktive ICAL GobalProfile gibt

        var GlobalParaPrio= [];

        GlobalParaPrio[0] = ['1'] = 1; // Höchste Prio =1

        GlobalParaPrio[1] = ['2'] = 3;

        GlobalParaPrio[2] = ['3'] = 2;

        Stelle im Coding:

            // Globales Profil ist prio2
            if (UseEventsGlobalProfilSelect === true) {
              for (i = 1; i <= MaxProfile; i++) {
                ProfilName = UseEventG_Profil;
                ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                if (getState(ICALPath + "." + ProfilName).val) {
                    setOwnState(pathprofile+".AktivesEventProfil", i);
                    Source_Profil = i;
                    Source_ICALEvent = ProfilName;
                    return i;
                }
              } // ende for i
            } // ende if globalProfilSelect</profilnummer> 
        

        vG Looxer

        1 Reply Last reply
        0
        • F Offline
          F Offline
          frostnatt
          wrote on last edited by
          #717

          Hi Looxer,

          ich habe die Funktion "Finde Aktives Raumprofil" um die Priorisierung der Globalen Profile erweitert (oder besser gesagt versucht zu erweitern :? )

          Hier die Variable zum Aktivieren der Funktionalität und die Prio-Tabelle.

          var UseEventsGlobalProfilPrio = true;     //Priorisierung der globalen Profile, wenn mehrere gleichzeitig aktiv sind
          var GlobalProfilPrioTab = [];
          GlobalProfilPrioTab[0] = 2;                //höchste Prio
          GlobalProfilPrioTab[1] = 1;
          
          

          Hier die Funktion.

          / Funktion Finde Aktives Raumprofil
          //-----------------------------------------------------------------------------------------------------
          function ActiveProfile (room,Profil) {
              var pathprofile = path + "." + room;
              var ProfilName;
              var ActiveGlobalProfileList = [];	//Liste der aktiven globalen Profile
              var ProfileFoundFlag = false;		//Flag zum Abbrechen der weiteren Profilermittlung
              if (MaxProfile === 1) {
                  Profil = 1;
                  Source_Profil = 1;
                  return Profil;
              }
          
              // Erst Raumprofil checken - prio1
              if (UseEventsRaumProfilSelect === true) {
                  for (i = 1; i <= MaxProfile; i++) {
                      ProfilName = UseEventR_Profil;
                      ProfilName = UseEventR_Profil.replace("<raumname>", room);
                      ProfilName = ProfilName.replace("<profilnummer>", i);
                      if (getState(ICALPath + "." + ProfilName).val) {
                          setOwnState(pathprofile + ".AktivesEventProfil", i);
                          Source_Profil = i;
                          Source_ICALEvent = ProfilName;
                          return i;
                      }
                  } // ende for i
              } // ende if globalProfilSelect
          
              // Globales Profil ist prio2
              if (UseEventsGlobalProfilSelect === true) {
                  for (i = 1; i <= MaxProfile; i++) {
                      ProfilName = UseEventG_Profil;
                      ProfilName = UseEventG_Profil.replace("<profilnummer>", i);
                      if (getState(ICALPath + "." + ProfilName).val) {
                          if (!UseEventsGlobalProfilPrio){	//Regulärer Fall, Priorisierung nicht aktiv
                              ProfileFoundFlag = true;
                              break;
                          }else {
                              if (i === GlobalProfilPrioTab[0]){	//Priorisierung aktiv, das aktuelle Profil hat höchste Prio
                                  ProfileFoundFlag = true;
                                  break;
                              }else {
                                  ActiveGlobalProfileList.push(i);	//Baue Liste zur späteren Ermittlung des Profils
                              }
                          } 
                      }
                  } // ende for (i = 1; i <= MaxProfile; i++)
                  if (ProfileFoundFlag){		//Ermittlung des Profils ist fertig
                      setOwnState(pathprofile+".AktivesEventProfil", i);
                      Source_Profil = i;
                      Source_ICALEvent = ProfilName;
                      return i;
                  }else {	//Suche nach dem Profil mit der höchsten Prio in der Liste
                      for(var i_prio = 0; i_prio <= GlobalProfilPrioTab.length - 1; i_prio++){
                          for (var i_profile = 0;  i_profile <= ActiveGlobalProfileList.length - 1; i_profile++){
                              if (ActiveGlobalProfileList[i_profile] === GlobalProfilPrioTab[i_prio]){	//Das Profil ist ermittelt!
                                  setOwnState(pathprofile+".AktivesEventProfil", ActiveGlobalProfileList[i_profile]);
                                  Source_Profil = ActiveGlobalProfileList[i_profile];
                                  Source_ICALEvent = UseEventG_Profil.replace("<profilnummer>", ActiveGlobalProfileList[i_profile]);
                                  return ActiveGlobalProfileList[i_profile];
                              }//ende if
                          }//ende for i_profile
                      }//ende for i_prio
                  }//ende else
          
              }// ende if globalProfilSelect
          
              if (getState(pathprofile + ".AktivesEventProfil").val !== 0) {  // falls vorher ein Eventprofil aktiv war jetzt deaktivieren
                  setOwnState(pathprofile + ".AktivesEventProfil", 0);
              }
          
              // Wenn kein anderes Profil vorliegt dann gilt das manuell eingstellte Profil
              Profil = getState(pathprofile + ".AktivesRaumProfil").val;
              if (Profil > 9 || Profil < 1) {
                  Profil = 1;
              }
              Source_Profil = Profil;
              return Profil;
          }</profilnummer></profilnummer></profilnummer></raumname> 
          

          Die Logik müsste überschaubar sein, auch wenn die Lesbarkeit des Codes nicht die beste ist (ich bin kein ITler).

          Es passiert leider nichts, die Profile werden nicht aktiviert. Ich habe versucht zu debuggen (wie ich halt kann :oops: )und muste feststellen dass AktivesEventProfil-Datenpunkt nicht beschrieben wird.

          Könntest du bei Gelegenheit den Code überfliegen? Vielleich fällt dir irgendwas ein…

          Grüße,

          Max

          1 Reply Last reply
          0
          • AxelF1977A Offline
            AxelF1977A Offline
            AxelF1977
            wrote on last edited by
            #718

            @looxer01,

            danke nochmal für Deine Hilfe heute. Das Script läuft nun, wie es soll, wie ich es mir wünsche, und wie Du es erdacht hast. Ich weiß nun auch warum die Datenpunkte leer waren, weil ich sie gelöscht hatte, im View. Ich wollte keine Daten sehen, wenn die Werte vom Vortag übernommen werden, durch den Hacken. Also war es meine Schuld. Ich wollte die cleane Optik. Ich habe jetzt aber einen Weg gefunden, das die Werte ausgeblendet werden, wenn der Hacken bei "wie Vortag" aktiv ist. Ich lasse jetzt einfach Widgets drüber legen, sobald der Hacken aktiv ist.

            Danke nochmal!
            4249_003.jpg
            4249_004.jpg

            ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

            1 Reply Last reply
            0
            • K Offline
              K Offline
              Kugelkopf
              wrote on last edited by
              #719

              Kurze Info:

              Das Skript scheint nicht kompatibel zu sein mit der neusten Version von ioBroker Javascript in Verison 4.0.1.

              1 Reply Last reply
              0
              • Beliar_666B Offline
                Beliar_666B Offline
                Beliar_666
                wrote on last edited by
                #720

                Wie bekomme ich denn zusätzliche Datenpunkte für ein weiteres Zimmer ins Java? Ich will jetzt quasi einen weiteren Raum hinzufügen, aber die Datenpunkte werden nicht erstellt.

                1 Reply Last reply
                0
                • ChaotC Offline
                  ChaotC Offline
                  Chaot
                  wrote on last edited by
                  #721

                  @Kugelkopf:

                  Kurze Info:

                  Das Skript scheint nicht kompatibel zu sein mit der neusten Version von ioBroker Javascript in Verison 4.0.1. `

                  Wie kommst du darauf oder wie macht sich das bemerkbar?

                  Ich habe bisher kein Problem.

                  ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    looxer01
                    wrote on last edited by
                    #722

                    @Chaot:

                    @Kugelkopf:

                    Kurze Info:

                    Das Skript scheint nicht kompatibel zu sein mit der neusten Version von ioBroker Javascript in Verison 4.0.1. `

                    Wie kommst du darauf oder wie macht sich das bemerkbar?

                    Ich habe bisher kein Problem. `

                    es gibt ein Problem mit den FS Funktionen. Dazu habe ich ein issue in Github aufgemacht:

                    https://github.com/ioBroker/ioBroker.ja … issues/213

                    Es gibt 2 workarounds dazu:

                    1. Deaktiverung des externen loggings

                    2. Auskommentierung des folgenden Codes

                    //        if (!fs.existsSync(LogPath)) {
                    //            log("Routine writelog: Logfile nicht gefunden - wird angelegt", "info");
                    //            var headerLine= "Datum;Uhrzeit;Raum;Geraete-ID;SollTemp gesetzt;Profil;Global-Parameter;Event;Manuelle Temp;Schedule-Point;Bemerkung";
                    //            fs.appendFileSync(LogPath, headerLine + "\n");       // Fuege Satz in Datei ein
                    //        }
                    
                    

                    vG Looxer

                    1 Reply Last reply
                    0
                    • ChaotC Offline
                      ChaotC Offline
                      Chaot
                      wrote on last edited by
                      #723

                      Ok,

                      da ich kein externes logging nutze scheint mich das dann nicht zu betreffen.

                      Aber als kleinen Hinweis noch:

                      Nach dem JS Update war das System extremst langsam. Nach einem Neustart war es deutlich besser.

                      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                      1 Reply Last reply
                      0
                      • AxelF1977A Offline
                        AxelF1977A Offline
                        AxelF1977
                        wrote on last edited by
                        #724

                        @Kugelkopf:

                        Kurze Info:

                        Das Skript scheint nicht kompatibel zu sein mit der neusten Version von ioBroker Javascript in Verison 4.0.1. `

                        Habe den neuen Javascript Adapter auch in Verison 4.0.1. installiert, keine Fehler bisher

                        ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                        1 Reply Last reply
                        0
                        • K Offline
                          K Offline
                          Kugelkopf
                          wrote on last edited by
                          #725

                          @looxer01:

                          @Chaot:

                          @Kugelkopf:

                          Kurze Info:

                          Das Skript scheint nicht kompatibel zu sein mit der neusten Version von ioBroker Javascript in Verison 4.0.1. `

                          Wie kommst du darauf oder wie macht sich das bemerkbar?

                          Ich habe bisher kein Problem. `

                          es gibt ein Problem mit den FS Funktionen. Dazu habe ich ein issue in Github aufgemacht:

                          https://github.com/ioBroker/ioBroker.ja … issues/213

                          Es gibt 2 workarounds dazu:

                          1. Deaktiverung des externen loggings

                          2. Auskommentierung des folgenden Codes

                          //        if (!fs.existsSync(LogPath)) {
                          //            log("Routine writelog: Logfile nicht gefunden - wird angelegt", "info");
                          //            var headerLine= "Datum;Uhrzeit;Raum;Geraete-ID;SollTemp gesetzt;Profil;Global-Parameter;Event;Manuelle Temp;Schedule-Point;Bemerkung";
                          //            fs.appendFileSync(LogPath, headerLine + "\n");       // Fuege Satz in Datei ein
                          //        }
                          
                          

                          vG Looxer `

                          Jap! Stimmt! Wenn externes Logging ausgeschaltet ist gibt es keine Fehler mehr! Sorry für meinen vorschnellen Post! Ich dachte nur, ich warne euch bevor es möglicherweise bei dem ein oder anderen zu Problemen führt!

                          Danke für die Hilfe!

                          1 Reply Last reply
                          0
                          • Beliar_666B Offline
                            Beliar_666B Offline
                            Beliar_666
                            wrote on last edited by
                            #726

                            Dein Post war super. Denn ich hatte die Probleme auch.

                            1 Reply Last reply
                            0
                            • L Offline
                              L Offline
                              looxer01
                              wrote on last edited by
                              #727

                              @Kugelkopf:

                              ap! Stimmt! Wenn externes Logging ausgeschaltet ist gibt es keine Fehler mehr! Sorry für meinen vorschnellen Post! Ich dachte nur, ich warne euch bevor es möglicherweise bei dem ein oder anderen zu Problemen führt! `
                              Hi,

                              nun habe ich eine Lösung für das Problem womit das externe Logging auch wieder funktioniert - wie vorher.

                              Folgender Code muss ausgetauscht werden:

                              //        if (!fs.existsSync(LogPath)) {
                              //            log("Routine writelog: Logfile nicht gefunden - wird angelegt", "info");
                              //            var headerLine= "Datum;Uhrzeit;Raum;Geraete-ID;SollTemp gesetzt;Profil;Global-Parameter;Event;Manuelle Temp;Schedule-Point;Bemerkung";
                              //            fs.appendFileSync(LogPath, headerLine + "\n");       // Fuege Satz in Datei ein
                              //        }
                              
                              

                              neuer Code:

                              fs.readFile(LogPath, 'utf8', function(err,data){
                                  if (!err){
                                      // File existiert
                                      fs.appendFileSync(LogPath, logdate + ";" + logtime + ";" + room + ";" + id + ";" + Form_CurrentSollTemp + ";" + Source_Profil + ";" + Source_GlobalParameter + ";" + Source_ICALEvent + ";" + Form_Source_ManualAdjustment + ";" + Source_SchedulePoint + ";" + Text + "\n");  // Fuege Satz in Datei ein
                                  }else{
                                      log("Routine writelog: Logfile nicht gefunden - wird angelegt", "info");
                                      var headerLine= "Datum;Uhrzeit;Raum;Geraete-ID;SollTemp gesetzt;Profil;Global-Parameter;Event;Manuelle Temp;Schedule-Point;Bemerkung";
                                      fs.appendFileSync(LogPath, headerLine + "\n");       // Fuege Satz in Datei ein
                                  }
                              });
                              
                              

                              Kommt in die nächste Version

                              vG Looxer

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                looxer01
                                wrote on last edited by
                                #728

                                @Beliar_666:

                                Wie bekomme ich denn zusätzliche Datenpunkte für ein weiteres Zimmer ins Java? Ich will jetzt quasi einen weiteren Raum hinzufügen, aber die Datenpunkte werden nicht erstellt. `
                                Hi,

                                gerade gesehen, dass das auch noch offen ist (gibt ja noch einiges)

                                Hast du dein Problem lösen können ? Wenn nicht, dann brauche ich am Besten deine Einstellungen.

                                vG looxer

                                1 Reply Last reply
                                0
                                • G Offline
                                  G Offline
                                  Georgius
                                  wrote on last edited by
                                  #729

                                  Ich habe den Script jetzt nicht durchgelesen (kann ja eigentlich kein JS). Greift die Steuerung direkt auf Ventilöffnung des Heizungsventiles zu oder steuert es nur die Solltemperatur?

                                  1 Reply Last reply
                                  0
                                  • L Offline
                                    L Offline
                                    looxer01
                                    wrote on last edited by
                                    #730

                                    @Georgius:

                                    Ich habe den Script jetzt nicht durchgelesen (kann ja eigentlich kein JS). Greift die Steuerung direkt auf Ventilöffnung des Heizungsventiles zu oder steuert es nur die Solltemperatur? `
                                    das script steuert nicht die Ventile. Das bleibt der internen Logik der Thermostate überlassen. Das script steuert die SollTemp und soll zur Automatisierung beitragen.

                                    Es gibt noch eine Erweiterung von apollon77 für eine vorausschauende Steuerung (wie lange dauert es bis die Zieltemp je Raum erreicht ist)

                                    Aber auch hierbei ist die SollTemperatur das Steuerinstrument - mit zeitlichem Vorlauf.

                                    vG Looxer

                                    1 Reply Last reply
                                    0
                                    • G Offline
                                      G Offline
                                      Georgius
                                      wrote on last edited by
                                      #731

                                      Danke, dann werd ich mich selbst mal spielen.

                                      1 Reply Last reply
                                      0
                                      • smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        wrote on last edited by
                                        #732

                                        Hallo, lässt sich mit dem script auch das Wandthermosthat 230V mit Relais HmiP-BWTH steuern, welches nicht in dem Script aufgeführt ist?

                                        1 Reply Last reply
                                        0
                                        • L Offline
                                          L Offline
                                          looxer01
                                          wrote on last edited by
                                          #733

                                          @smartboart:

                                          Hallo, lässt sich mit dem script auch das Wandthermosthat 230V mit Relais HmiP-BWTH steuern, welches nicht in dem Script aufgeführt ist? `
                                          Hi,

                                          also, wenn ich das richtig sehe, dann steuert, das HmiP-BWTH über einen Ausgang Fussbodenheizungen.

                                          Die Logik (Traegheit) wird über das Thermostat ermittelt und verwertet (Die Ventile werden vermutlich über EIN/AUS über das Thermostat gesteuert)

                                          Wichtig ist aber, dass das Thermostat über SollTemp Vorgaben eingetellt wird. Damit ist auch das Script verwendbar.

                                          Es ist einfach den Thermostat Type hinzuzufügen. Bringe ich auch gerne selber mit ein.

                                          Ich denke mal folgende Einstellung wäre ok:

                                          ThermostatTypeTab[10]  = ['hm-rpc.1.',   'HmiP-BWTH'     , 'Heizkoerperthermostat(HMIP)','IPWT', '1.SET_POINT_TEMPERATURE',   true,        '1.CONTROL_MODE',           false,                 '1.ACTUAL_TEMPERATURE',      '1.CONTROL_MODE',           12,                                            0];
                                          
                                          

                                          Die Datenpunkte stimmen vermutlich, muesstest du aber überprüfen.

                                          Sag Bescheid, ob das so stimmt, dann erweitere ich die Tabelle für die nächste Version (wobei du nicht warten musst)

                                          vG Looxer

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          633

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe