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. JavaScript
  5. [Gelöst] Auf Sonnenstand reagieren mit beschreibbarer Variable

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Gelöst] Auf Sonnenstand reagieren mit beschreibbarer Variable

Scheduled Pinned Locked Moved JavaScript
31 Posts 3 Posters 2.4k Views 1 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.
  • HomoranH Homoran

    @paul53 sagte in [Hilfe] Auf Sonnenstand reagieren mit beschreibbarer Variable:

    Ändere es bitte auch in der Doku (s.o), da sonst sicherlich weitere Neulinge darüber stolpern.

    Gerne.

    Hast du mal das komplette Skript?
    Nach der Änderung meckert es jetzt noch mehr.

    14:16:27.777	warn	javascript.0 at Sonnenstand_berechnen (script.js.Wetter_und_Klima.Sonnenstand:30:7)
    14:16:27.777	warn	javascript.0 at script.js.Wetter_und_Klima.Sonnenstand:38:2
    14:16:27.777	warn	javascript.0 at Sonnenstand_berechnen (script.js.Wetter_und_Klima.Sonnenstand:31:7)
    14:16:27.777	warn	javascript.0 at script.js.Wetter_und_Klima.Sonnenstand:38:2
    

    EDIT:
    Mein Fehler. Habe die Zeilen komplett ohne Prüfung übernommen.
    Der Pfad stimmte so natürlich nicht

    HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #11

    @paul53
    Du hast das Skript in Global?

    Soll das so sein?

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    W 1 Reply Last reply
    0
    • HomoranH Homoran

      @paul53
      Du hast das Skript in Global?

      Soll das so sein?

      W Offline
      W Offline
      webseb79
      wrote on last edited by
      #12

      @Homoran
      Nein, das ist nur meine Bezeichnung.

      HomoranH 1 Reply Last reply
      0
      • W webseb79

        @Homoran
        Nein, das ist nur meine Bezeichnung.

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by
        #13

        @webseb79
        Danke!
        ich ändere es gerade in der Doku

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Reply Last reply
        0
        • HomoranH Homoran

          @paul53 sagte in [Hilfe] Auf Sonnenstand reagieren mit beschreibbarer Variable:

          Ändere es bitte auch in der Doku (s.o), da sonst sicherlich weitere Neulinge darüber stolpern.

          Gerne.

          Hast du mal das komplette Skript?
          Nach der Änderung meckert es jetzt noch mehr.

          14:16:27.777	warn	javascript.0 at Sonnenstand_berechnen (script.js.Wetter_und_Klima.Sonnenstand:30:7)
          14:16:27.777	warn	javascript.0 at script.js.Wetter_und_Klima.Sonnenstand:38:2
          14:16:27.777	warn	javascript.0 at Sonnenstand_berechnen (script.js.Wetter_und_Klima.Sonnenstand:31:7)
          14:16:27.777	warn	javascript.0 at script.js.Wetter_und_Klima.Sonnenstand:38:2
          

          EDIT:
          Mein Fehler. Habe die Zeilen komplett ohne Prüfung übernommen.
          Der Pfad stimmte so natürlich nicht

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #14

          @Homoran sagte:

          Hast du mal das komplette Skript?

          const suncalc = require('suncalc');
          const result = getObject("system.adapter.javascript.0");
          const lat = result.native.latitude;
          const long = result.native.longitude;
          const idEle = 'Sonnenstand.Elevation';
          const idAzi = 'Sonnenstand.Azimut';
           
          createState(idEle, 0, {type: 'number', unit: '°'});
          createState(idAzi, 0, {type: 'number', unit: '°'});
           
          function Sonnenstand_berechnen () {
              var now = new Date();
              var sunpos = suncalc.getPosition(now, lat, long);
              var h = sunpos.altitude * 180 / Math.PI;
              var a = sunpos.azimuth * 180 / Math.PI + 180;
              setState(idEle, Math.round(10 * h) / 10, true);
              setState(idAzi, Math.round(a), true);
          }
          
          schedule("* * * * *", Sonnenstand_berechnen); // jede Minute
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          HomoranH 1 Reply Last reply
          0
          • paul53P paul53

            @Homoran sagte:

            Hast du mal das komplette Skript?

            const suncalc = require('suncalc');
            const result = getObject("system.adapter.javascript.0");
            const lat = result.native.latitude;
            const long = result.native.longitude;
            const idEle = 'Sonnenstand.Elevation';
            const idAzi = 'Sonnenstand.Azimut';
             
            createState(idEle, 0, {type: 'number', unit: '°'});
            createState(idAzi, 0, {type: 'number', unit: '°'});
             
            function Sonnenstand_berechnen () {
                var now = new Date();
                var sunpos = suncalc.getPosition(now, lat, long);
                var h = sunpos.altitude * 180 / Math.PI;
                var a = sunpos.azimuth * 180 / Math.PI + 180;
                setState(idEle, Math.round(10 * h) / 10, true);
                setState(idAzi, Math.round(a), true);
            }
            
            schedule("* * * * *", Sonnenstand_berechnen); // jede Minute
            
            HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #15

            @paul53
            Danke!

            Das hast du ja mal wieder massiv verschlankt ;-)

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            paul53P 1 Reply Last reply
            0
            • HomoranH Homoran

              @paul53
              Danke!

              Das hast du ja mal wieder massiv verschlankt ;-)

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #16

              @Homoran sagte:

              Das hast du ja mal wieder massiv verschlankt

              Nein, nur die Logs entfernt, dafür aber Konstanten als solche deklariert und den Datenpunkttyp "number" mitgegeben.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • W webseb79

                @paul53
                Jetzt drehe ich mich im Kreis.

                Also vom Sonnenstands Script beide Variablen in String und meine beschreibbare Variable in String schaltet das Licht ein.
                Da meckert aber das Sonnenstands Script wegen "Number".
                Stelle ich auf Number um ist das Sonnenstandsscript in Ordnung aber mein Licht schaltet nicht.
                Meine beschreibbare Variable auf "Number" geändert und trotzdem kein einschalten

                Ich verzweifle gerade.

                Sebastian

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #17

                @webseb79 sagte:

                Meine beschreibbare Variable auf "Number" geändert und trotzdem kein einschalten

                Stimmt der Datentyp ?

                log('Typ Grenzwert: ' + typeof gwElevation);
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                W 1 Reply Last reply
                0
                • paul53P paul53

                  @webseb79 sagte:

                  Meine beschreibbare Variable auf "Number" geändert und trotzdem kein einschalten

                  Stimmt der Datentyp ?

                  log('Typ Grenzwert: ' + typeof gwElevation);
                  
                  W Offline
                  W Offline
                  webseb79
                  wrote on last edited by
                  #18

                  @paul53

                  Jetzt ist Grenzwert Typ "Number" und Elevation auch Typ "Number"

                  paul53P 1 Reply Last reply
                  0
                  • W webseb79

                    @paul53

                    Jetzt ist Grenzwert Typ "Number" und Elevation auch Typ "Number"

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #19

                    @webseb79 Dann sollte es funktionieren. Wie sieht das komplette Skript jetzt aus ?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    W 1 Reply Last reply
                    0
                    • paul53P paul53

                      @webseb79 Dann sollte es funktionieren. Wie sieht das komplette Skript jetzt aus ?

                      W Offline
                      W Offline
                      webseb79
                      wrote on last edited by webseb79
                      #20

                      @paul53

                      createState('javascript.0.Zeiten.Treppenlicht.Elevation', -0.5 , {type:"number", role:"javascript"});
                      
                      var idt3 = 'javascript.0.Zeiten.Treppenlicht.Elevation';
                      
                      var idElevation = getState(idt3).val;
                      
                      
                      
                      on({
                          id: "javascript.0.Global.Sonnenstand.Elevation"/*Global.Sonnenstand.Elevation*/,
                          change: "ne",
                          valLe: idElevation,  
                          oldValGt: idElevation,   
                          logic: "and"
                      }, function (obj) {
                         Treppenlicht_an_Sonnenuntergang();
                      });
                      
                      function Treppenlicht_an_Sonnenuntergang() {
                      
                          if      (getState("radar.0.G-Tag-Claudia.here"/*G-Tag-Claudia.here*/).val === false 
                              &&   getState("radar.0.G-Tag-Sebastian.here"/*G-Tag-Sebastian.here*/).val === false ) 
                                  
                                  { return; }
                          
                          if      (getState("knx.0.Licht.Licht-Status.OG-Schlafzimmer-Treppenleuchte-Schalten-Status"/*OG-Schlafzimmer-Treppenleuchte-Schalten-Status*/).val === 1) 
                                  
                                  { return; }
                          
                                  event("Schlafzimmer...Treppenbeleuchtung zum Sonnenuntergang eingeschalten","Allgemein","white");
                                  setState ("knx.0.Licht.Licht-Schalten.OG-Schlafzimmer-Treppenleuchte-Schalten"/*OG-Schlafzimmer-Treppenleuchte-Schalten*/, 1);
                      }
                      

                      Wie schon erwähnt ... Typ String und alles lief.

                      Sebastian

                      paul53P 1 Reply Last reply
                      0
                      • W webseb79

                        @paul53

                        createState('javascript.0.Zeiten.Treppenlicht.Elevation', -0.5 , {type:"number", role:"javascript"});
                        
                        var idt3 = 'javascript.0.Zeiten.Treppenlicht.Elevation';
                        
                        var idElevation = getState(idt3).val;
                        
                        
                        
                        on({
                            id: "javascript.0.Global.Sonnenstand.Elevation"/*Global.Sonnenstand.Elevation*/,
                            change: "ne",
                            valLe: idElevation,  
                            oldValGt: idElevation,   
                            logic: "and"
                        }, function (obj) {
                           Treppenlicht_an_Sonnenuntergang();
                        });
                        
                        function Treppenlicht_an_Sonnenuntergang() {
                        
                            if      (getState("radar.0.G-Tag-Claudia.here"/*G-Tag-Claudia.here*/).val === false 
                                &&   getState("radar.0.G-Tag-Sebastian.here"/*G-Tag-Sebastian.here*/).val === false ) 
                                    
                                    { return; }
                            
                            if      (getState("knx.0.Licht.Licht-Status.OG-Schlafzimmer-Treppenleuchte-Schalten-Status"/*OG-Schlafzimmer-Treppenleuchte-Schalten-Status*/).val === 1) 
                                    
                                    { return; }
                            
                                    event("Schlafzimmer...Treppenbeleuchtung zum Sonnenuntergang eingeschalten","Allgemein","white");
                                    setState ("knx.0.Licht.Licht-Schalten.OG-Schlafzimmer-Treppenleuchte-Schalten"/*OG-Schlafzimmer-Treppenleuchte-Schalten*/, 1);
                        }
                        

                        Wie schon erwähnt ... Typ String und alles lief.

                        Sebastian

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #21

                        @webseb79 sagte:

                        Wie schon erwähnt ... Typ String und alles lief.

                        Ein Stringvergleich (im Trigger) dürfte Probleme machen (bei negativen Werten).

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        W 1 Reply Last reply
                        0
                        • paul53P paul53

                          @webseb79 sagte:

                          Wie schon erwähnt ... Typ String und alles lief.

                          Ein Stringvergleich (im Trigger) dürfte Probleme machen (bei negativen Werten).

                          W Offline
                          W Offline
                          webseb79
                          wrote on last edited by
                          #22

                          @paul53
                          Zu dem Zeitpunkt war der Sonnenstand ja positiv...also kannst du rechthaben.
                          Das Script läuft ja schon einige Zeit, nur 2 Dinge wurden verändert

                              valLe: -0.5,  
                              oldValGt: -0.5, 
                          auf
                          
                              valLe: idElevation,  
                              oldValGt: idElevation, 
                          

                          Wie kann ich die feste vergebene Zahl nun flexibel über Vis steuern?

                          paul53P 1 Reply Last reply
                          0
                          • W webseb79

                            @paul53
                            Zu dem Zeitpunkt war der Sonnenstand ja positiv...also kannst du rechthaben.
                            Das Script läuft ja schon einige Zeit, nur 2 Dinge wurden verändert

                                valLe: -0.5,  
                                oldValGt: -0.5, 
                            auf
                            
                                valLe: idElevation,  
                                oldValGt: idElevation, 
                            

                            Wie kann ich die feste vergebene Zahl nun flexibel über Vis steuern?

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by
                            #23

                            @webseb79 sagte:

                            Wie kann ich die feste vergebene Zahl nun flexibel über Vis steuern?

                            Zusätzlich:

                            on(idt3, function(dp) {
                               idElevation = dp.state.val;
                            });
                            

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            W 1 Reply Last reply
                            0
                            • paul53P paul53

                              @webseb79 sagte:

                              Wie kann ich die feste vergebene Zahl nun flexibel über Vis steuern?

                              Zusätzlich:

                              on(idt3, function(dp) {
                                 idElevation = dp.state.val;
                              });
                              
                              W Offline
                              W Offline
                              webseb79
                              wrote on last edited by
                              #24

                              @paul53

                              Da bin ich jetzt überfragt wohin das noch soll.
                              Deine on - Anweisung sagt doch nur das wenn sich idt3 ändert dieser Wert in idElevation geschoben wird , oder?
                              Ich triggere doch auf den ständig veränderten Sonnenstand.

                              Sebastian

                              paul53P 1 Reply Last reply
                              0
                              • W webseb79

                                @paul53

                                Da bin ich jetzt überfragt wohin das noch soll.
                                Deine on - Anweisung sagt doch nur das wenn sich idt3 ändert dieser Wert in idElevation geschoben wird , oder?
                                Ich triggere doch auf den ständig veränderten Sonnenstand.

                                Sebastian

                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #25

                                @webseb79 sagte:

                                das wenn sich idt3 ändert dieser Wert in idElevation geschoben wird , oder?

                                Richtig. Das genau wolltest Du doch: Wenn der Wert in Vis geändert wird, kommt diese Änderung auch im Skript an, ohne dass das Skript neu gestartet werden muss.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                W 1 Reply Last reply
                                0
                                • paul53P paul53

                                  @webseb79 sagte:

                                  das wenn sich idt3 ändert dieser Wert in idElevation geschoben wird , oder?

                                  Richtig. Das genau wolltest Du doch: Wenn der Wert in Vis geändert wird, kommt diese Änderung auch im Skript an, ohne dass das Skript neu gestartet werden muss.

                                  W Offline
                                  W Offline
                                  webseb79
                                  wrote on last edited by
                                  #26

                                  @paul53

                                  Deine letzte Anweisung

                                  on(idt3, function(dp) {
                                  
                                     idElevation = dp.state.val;
                                  
                                  });
                                  

                                  hatte ich vorhin noch nicht und dort ging es doch schon wie ich es wollte , halt nur mit dem Datentyp "String" als Variable von Vis kommend und vergleichend vom Sonnenstandsscript die Variable kommend auch als "String".
                                  Nur dann kam doch die Meldung vom Sonnenstandsscript das es ein Datentyp "Number" verlangt.

                                  paul53P 1 Reply Last reply
                                  0
                                  • W webseb79

                                    @paul53

                                    Deine letzte Anweisung

                                    on(idt3, function(dp) {
                                    
                                       idElevation = dp.state.val;
                                    
                                    });
                                    

                                    hatte ich vorhin noch nicht und dort ging es doch schon wie ich es wollte , halt nur mit dem Datentyp "String" als Variable von Vis kommend und vergleichend vom Sonnenstandsscript die Variable kommend auch als "String".
                                    Nur dann kam doch die Meldung vom Sonnenstandsscript das es ein Datentyp "Number" verlangt.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by
                                    #27

                                    @webseb79 sagte:

                                    hatte ich vorhin noch nicht und dort ging es doch schon wie ich es wollte

                                    Ohne den Trigger wird der Wert nur bei Skriptstart aktualisiert und bleibt dann konstant, egal was in Vis geändert wird.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    W 1 Reply Last reply
                                    0
                                    • paul53P paul53

                                      @webseb79 sagte:

                                      hatte ich vorhin noch nicht und dort ging es doch schon wie ich es wollte

                                      Ohne den Trigger wird der Wert nur bei Skriptstart aktualisiert und bleibt dann konstant, egal was in Vis geändert wird.

                                      W Offline
                                      W Offline
                                      webseb79
                                      wrote on last edited by
                                      #28

                                      @paul53
                                      Ok ... zum laufen bekomme ich das nicht.
                                      Gibt es eine andere Variante um zum Ziel zu kommen?
                                      Eine angelegte Variable in Instanz.0 durch Vis beschreibbar vergleicht den Elevation Wert des Sonnenstandes und löst eine Funktion aus beim unterschreiten als 1.Beispiel und beim Überschreiten als 2.Beispiel.
                                      Hast du da eine Idee Paul53

                                      Danke Sebastian

                                      1 Reply Last reply
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        wrote on last edited by
                                        #29

                                        Vorschlag:

                                        const idGrenzwert = 'javascript.0.Zeiten.Treppenlicht.Elevation';
                                        const idElevation = "javascript.0.Global.Sonnenstand.Elevation"/*Global.Sonnenstand.Elevation*/;
                                        
                                        createState(idGrenzwert, -0.5, {type: 'number', unit: '°'});
                                        
                                        var gwElevation = parseFloat(getState(idGrenzwert).val);
                                        on(idGrenzwert, function(dp) {
                                           gwElevation = parseFloat(dp.state.val);
                                        });
                                        
                                        on(idElevation, function(dp) {
                                           if(dp.state.val <= gwElevation && dp.oldState.val > gwElevation) {
                                              // Aktion bei Unterschreiten Grenzwert
                                           }
                                           if(dp.state.val >= gwElevation && dp.oldState.val < gwElevation) {
                                              // Aktion bei Überschreiten Grenzwert
                                           }
                                        });
                                        

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        W 1 Reply Last reply
                                        0
                                        • paul53P paul53

                                          Vorschlag:

                                          const idGrenzwert = 'javascript.0.Zeiten.Treppenlicht.Elevation';
                                          const idElevation = "javascript.0.Global.Sonnenstand.Elevation"/*Global.Sonnenstand.Elevation*/;
                                          
                                          createState(idGrenzwert, -0.5, {type: 'number', unit: '°'});
                                          
                                          var gwElevation = parseFloat(getState(idGrenzwert).val);
                                          on(idGrenzwert, function(dp) {
                                             gwElevation = parseFloat(dp.state.val);
                                          });
                                          
                                          on(idElevation, function(dp) {
                                             if(dp.state.val <= gwElevation && dp.oldState.val > gwElevation) {
                                                // Aktion bei Unterschreiten Grenzwert
                                             }
                                             if(dp.state.val >= gwElevation && dp.oldState.val < gwElevation) {
                                                // Aktion bei Überschreiten Grenzwert
                                             }
                                          });
                                          
                                          W Offline
                                          W Offline
                                          webseb79
                                          wrote on last edited by
                                          #30

                                          @paul53

                                          Vielen Dank Paul53 !
                                          Ich glaube wir hätten die ganze Sache schon viel früher lösen können mit deinem Vorschlag.
                                          Ich muss auch sagen das du richtig gut im Stoff stehst was Javascript angeht.
                                          Ich lese ja ziemlich viel hier mit Tag täglich und du bist eigentlich bei vielen Lösungen mit present.
                                          Mach weiter so.

                                          Danke

                                          Sebastian

                                          paul53P 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

                                          265

                                          Online

                                          32.7k

                                          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