Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Synology Surveillance Station API

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Synology Surveillance Station API

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @mehrwiedu last edited by dslraser

      @mehrwiedu
      also bei mir hat der generierte Link aus dem Skript von Apollon77 für Livstream schon mal funktioniert, ist aber schon länger her.
      Ich nutze den im Moment gar nicht, interessiert mich nur.

      PS:
      (der Link für Schnappschüsse funktioniert immer noch genau so)

      hollywoot 1 Reply Last reply Reply Quote 0
      • R
        Ragnar @hollywoot last edited by

        "Mit welchem Benutzer führst du ioBroker aus?
        Guck doch mal nach den Rechten. Oder ändere den Pfad in ein /home/ Verzeichnis wo dein User definitiv Schreibrechte besitzt... Wobei das bei /tmp/ auch der Fall sein sollte."
        @hollywoot :
        Ähh, sorry für die doofe Frage? Meinst Du den User, der im admin-Adapter auftaucht? Das ist der admin...
        Habe ich Dich richtig verstanden?

        1 Reply Last reply Reply Quote 0
        • hollywoot
          hollywoot @dslraser last edited by

          @dslraser
          Jo, der Snapshot funktioniert wunderbar.
          Das Livebild würde mich echt reizen...

          @Ragnar
          Ich meine den User, der ioBroker ausführt. Wo läuft dein ioBroker drauf? Synology? Raspberry? BananaPi?
          Linux? Windows?
          Im Falle von Linux würde ich mich mit dem "Besitzer" von ioBroker mal in der Shell einloggen und versuchen eine Datei in /tmp/ anzulegen. Sollte es nicht gehen, braucht dein User wohl Schreibrechte (chmod +w /tmp)

          1 Reply Last reply Reply Quote 0
          • R
            Ragnar last edited by

            @hollywoot
            iobroker läuft auf einem raspi, also linux.
            Ich bekomme den Besitzer des iobroker mit ps aux | grep -i iobroker, richtig?

            Hier der ouput:

            pi@raspberrypi:~ $ ps aux | grep -i iobroker
            iobroker  8857  3.6  8.0 160172 76800 ?        Ssl  18:26   5:20 iobroker.js-con                             troller
            iobroker  8869  0.4  6.4 144884 60820 ?        Sl   18:26   0:43 io.admin.0
            iobroker  8879  0.0  3.3 118216 32216 ?        Sl   18:26   0:07 io.discovery.0
            iobroker  8889  0.2  5.6 132404 53528 ?        Sl   18:26   0:21 io.hm-rega.0
            iobroker  8899  0.1  4.4 132516 42156 ?        Sl   18:26   0:10 io.cloud.0
            iobroker  8909  0.0  3.7 130144 35232 ?        Sl   18:27   0:08 io.web.0
            iobroker  8919  0.1  4.2 121096 40592 ?        Sl   18:27   0:12 io.hm-rpc.0
            iobroker  8929  0.2  5.8 141856 55612 ?        Sl   18:27   0:18 io.telegram.0
            iobroker  8939  0.0  3.3 118240 31872 ?        Sl   18:27   0:07 io.text2command                             .0
            iobroker  8949  0.0  3.5 119880 33544 ?        Sl   18:27   0:07 io.backitup.0
            iobroker  8959  0.1  5.2 133908 50212 ?        Sl   18:27   0:16 io.history.0
            pi        9717  0.0  0.0   4372   544 pts/0    S+   20:55   0:00 grep --color=au                             to -i iobroker
            
            

            Wenn ich mich als user "pi" anmelde, kann ich problemlos eine Datei erstellen.
            Weiterhin schreibt der backitup-Adapter die Sicherungen auch in /tmp/, daran wird's wohl also doch nicht liegen, oder?

            1 Reply Last reply Reply Quote 0
            • R
              Ragnar last edited by

              Ich hab's. Ich Horst.
              iobroker läuft bei mir auf 2 raspis im multihost modus. Telegram auf dem master, die js-Instanzen laufen auf dem slave.
              Ihr ahnt es schon: die Datei snap.jpg wurde jedes Mal planmäßig von der Syno abgeholt und unter /tmp auf dem Slave gespeichert. Der Telegram-Adapter sucht auf dem Master unter /tmp, findet aber naturgemäß keine Datei.

              Habe nun ein fach eine js-Instanz auf dem Master hinzugefügt. Et voilà, alles läuft wie es soll.
              Das erklärt auch eine Vielzahl von Problemen der letzten Wochen, warum diverse Skripts bei mir nicht liefen. :schäm:
              Danke für Euren Support.

              1 Reply Last reply Reply Quote 2
              • M
                MultiiSaft @hollywoot last edited by MultiiSaft

                @hollywoot said in Synology Surveillance Station API:

                Update für alle:

                mein System war scheinbar nicht ganz in Ordnung.
                Zudem hatte ich node 10 installiert. Diese beiden Sachen zusammen haben scheinbar dazu geführt, dass ich die hier geposteten Skripte nicht nutzen konnte.

                Nachdem ich jetzt ioBroker sauber neu aufgesetzt habe, funktioniert alles wie es soll!
                Ein riesiges Dankeschön geht raus an @dslraser, der sich stundenlang mit mir im TeamViewer hingesetzt hat um das Problem zu lösen. Alleine hätte ich wohl spätestens nach 4-5 Stunden wieder aufgegeben.

                Top!

                Ich habe ähnliche Logs:

                host.raspberrypi 2019-03-19 21:12:19.293 error instance system.adapter.javascript.0 terminated with code 0 (OK)
                host.raspberrypi 2019-03-19 21:12:19.292 error Caught by controller[0]: at Object.onceWrapper (events.js:313:30)
                host.raspberrypi 2019-03-19 21:12:19.292 error Caught by controller[0]: at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1083:12)
                host.raspberrypi 2019-03-19 21:12:19.292 error Caught by controller[0]: at Request.emit (events.js:211:7)
                host.raspberrypi 2019-03-19 21:12:19.292 error Caught by controller[0]: at emitOne (events.js:116:13)
                host.raspberrypi 2019-03-19 21:12:19.292 error Caught by controller[0]: at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1161:10)
                host.raspberrypi 2019-03-19 21:12:19.291 error Caught by controller[0]: at Request.emit (events.js:214:7)
                host.raspberrypi 2019-03-19 21:12:19.291 error Caught by controller[0]: at emitTwo (events.js:126:13)
                host.raspberrypi 2019-03-19 21:12:19.291 error Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
                host.raspberrypi 2019-03-19 21:12:19.291 error Caught by controller[0]: at Request._callback (script.js.common.Test.Skript_4:22:1)
                host.raspberrypi 2019-03-19 21:12:19.291 error Caught by controller[0]: at script.js.common.Test.Skript_4:38:19
                host.raspberrypi 2019-03-19 21:12:19.286 error Caught by controller[0]: TypeError: Cannot read property 'sid' of undefined
                javascript.0 2019-03-19 21:12:19.208 info Stop script script.js.common.Test.Skript_4
                javascript.0 2019-03-19 21:12:19.208 error TypeError: Cannot read property 'sid' of undefined at script.js.common.Test.Skript_4:38:19 at Request._callback (script.js.common.Test.Skript_4:22:1) at Request.self.callback (/opt/iobroke
                javascript.0 2019-03-19 21:12:19.207 error uncaught exception: Cannot read property 'sid' of undefined

                kannst Du @hollywoot oder @dslraser oder jemand anderes mir hier etwas weiterhelfen? heisst das ebenso, dass "mein System nicht ganz in Ordnung ist"?
                Was genau waren denn die Probleme?

                Mein Skript sieht folgendermaßen aus - Vielen Dank hier an der Stelle an das Forum!!!!:

                on({id:"lupusec.0.devices.RF:03875f10.status"/EG Gästezimmer Status/, change: "ne", val: "OPEN"}, main);

                var request = require("request");
                var fs = require('fs');
                var myJson = {};
                var sid = 0;

                function parseJson(text) {
                if (text === "") return {};
                try {
                json = JSON.parse(text);
                } catch (ex) {
                json = {};
                }
                if(!json) json = {};
                return json;
                }
                function readJson(url, callback) {
                request(url, function (err, state, body){
                if (body) {
                var json = parseJson(body);
                callback(null, json);
                } else {
                var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                log(error, "warn");
                callback(error, null);
                }
                });
                }
                var url_login ='http://192.168.xxx/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=ACCOUNT&passwd=PASSWORT&session=SurveillanceStation&format=sid';
                var url_logout = 'http://192.168.xxx/webapi/auth.cgi? api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation';
                var url_snapshot = 'http://192.168.xxx/webapi/entry.cgi?camStm=1&version=8&cameraId=2&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot';

                function main() {
                readJson(url_login, function(err,json) {
                if(!err) {
                myJson = json;
                sid = myJson.data.sid;
                url_snapshot += '&_sid='+sid;
                url_logout += '&_sid='+sid;
                request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) {
                fs.writeFile("/tmp/snap.jpg", body, 'binary', function(err) {
                if (err) {
                console.error(err);
                } else {
                sendTo("pushover", "send", {
                message: 'EG Wohnzimmer offen',
                sound: ""})
                }
                });
                });
                } else {
                log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
                myJson = {};
                }
                });
                }

                dazu gesagt sei: Ich bin absoluter Newbie und Anfänger, lese mich aber gerne ausgiebig ein und recherchiere aufwändig... dennoch: aller anfang ist schwer 😇 habt bitte Nachsicht mit mir...

                Mein Ziel soll sein, dass bei einem Trigger (Alarmauslösung der Alarmanlage) zu einem Zeitpunkt x eine gewisse Anzahl an Screenshots von Kameras (Synology Surveillance Station) ab Zeitpunkt y-Minuten vor dem Zeitpunkt x bis z-Minuten nach x in eine Cloud (oder per Mail o.ä.) geschoben werden. Also z.B., dass im Alarmfall sekündliche Standbilder von Zeitpunkt 1 Minute vor dem Alarm bis 5 Minuten nach dem Alarm in die Dropbox gehen.
                Möglich natürlich auch gleich als kompletter Stream, also Video jeder Kamera.

                Davon bin ich noch weit entfernt, aber das stell ich mir vor... 😇 und mit dem Skript von oben möchte ich erste Erfahrungen sammeln...

                Vielleicht noch was zu meinem Set-up:
                Raspberry Pi 3B+ (Raspbian Stretch with desktop and recommended software, wobei ich den Desktop und die Software bislang nicht nutze), ioBroker (u.a. Lupusec, javascript, pushover ), Synology DS, Surveillance Station, alles über LAN

                Bei Fragen, einfach her damit!

                Danke für jede Hilfe... 👍

                1 Reply Last reply Reply Quote 0
                • Samson71
                  Samson71 Global Moderator @hobbycamper last edited by

                  @hobbycamper sagte in Synology Surveillance Station API:

                  Hi zusammen,

                  hat noch jemand @apollon77 Skript am laufen?

                  var request = require('request');
                  
                  // Konfiguration
                  var user = "XXXXXX";  // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
                  var pass = "XXXXXXX";  // Passwort zu eben eingegebenem Benutzer
                  var ip = "192.168.178.XXX";  // IP-Adresse eures Synology-NAS
                  var port = XXX;  // default Port der Surveillance Station
                  var cameraID = 1;  // ID der Kamera, welche angezeigt werden soll
                  
                  createState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""});
                  
                  // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID
                  
                  function updateStreamUrl() {
                      request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) {
                          //console.log('error:', error); // Print the error if one occurred
                          //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
                          //console.log('body:', body); // Print the HTML for the Google homepage.
                          try {
                              var bodyObj = JSON.parse(body);
                          }
                          catch (e) {
                              console.log("Error update SurveillanceStation Stream URL: " + e);
                              return;
                          }
                          if (bodyObj && bodyObj.data && bodyObj.data.sid) {
                              var sid = bodyObj.data.sid;
                              setState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true);
                          }
                          else {
                              console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj));
                              return;
                          }
                      });
                  }
                  
                  schedule("0 * * * *", function() {
                      updateStreamUrl();
                  });
                  
                  updateStreamUrl();
                  

                  Lief monatelang ohne Probleme. Scheinbar nach irgend einem Update, entweder iobroker oder SurveillanceStation (aktuell 8.2.3-5828), kommt kein Bild mehr. Wenn ich die angelegte URL aus dem Datenpunkt in den Browser kopiere, kommt auch kein Bild.
                  Das wäre z.B. das Format des aktuellen Datenpunkt:

                  http://192.168.178.XXX:XXX/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=ibdh4MDGQhITs1790QDN403203
                  

                  Es kommt auch nicht "Seite nicht erreichbar", sondern der Browser sucht und sucht...

                  Es hilft auch kein Neustart des iobroker oder der synology.

                  Im Log kommt auch nichts ungewöhnliches:

                  javascript.0	2019-03-02 08:29:30.867	info	script.js.common.Kamera: registered 0 subscriptions and 1 schedule
                  javascript.0	2019-03-02 08:29:30.842	info	Start javascript script.js.common.Kamera
                  javascript.0	2019-03-02 08:29:30.828	info	Stop script script.js.common.Kamera
                  

                  Ist da jemand schon was bekannt?

                  LG
                  Thomas

                  Die Problem habe (hatte) ich auch.
                  Snology hat mit dem Update auf die Surveillance Station 8.2.3-5828 die API verändert. Das Problem wird in den einschlägigen Foren auch diskutiert. Mittlerweile gibt es einen Fix in Form eines inoffiziellen Updates auf die 8.2.3-5829.

                  Kann von hier runtergeladen werden:
                  https://supfiles.synology.com/sharing/oXkk1MptJ

                  Der Zugang ist passwortgeschützt. Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.

                  H totocotonio A 3 Replies Last reply Reply Quote 1
                  • H
                    hobbycamper @Samson71 last edited by

                    @Samson71

                    Sauber von Dir!!!!
                    Läuft wieder!!
                    Danke!!

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

                      @Samson71
                      Tipp top, hat wunderbar geklappt! Ich danke dir!!!

                      1 Reply Last reply Reply Quote 0
                      • A
                        aleks-83 last edited by

                        Funktioniert bei mir auch!
                        Super. Danke!

                        Ich musste nur erst meine Kamera ID herausfinden 😬

                        Dazu einfach in der SSS einen Rechtsklick auf die Kamera unter "IP-Kameras",
                        Dann "Stream Pfad freigeben",
                        Dort steht dann am Ende der URL "...Sms=4.unicast", was bedeutet dass diese Kamera jetzt ID 4 hat.

                        1 Reply Last reply Reply Quote 1
                        • S
                          scoobydoo last edited by

                          Hab gerade Anfrage zwecks Zugang gestellt, mal sehen ob es dann auch wieder bei mir läuft,
                          wär ja echt Klasse.

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

                            Sehr geilLeute , es funzt wieder , vielen Dank an Samson71 für Unterstützung !!!!

                            1 Reply Last reply Reply Quote 0
                            • totocotonio
                              totocotonio @Samson71 last edited by

                              @Samson71 sagte in Synology Surveillance Station API:

                              @hobbycamper sagte in Synology Surveillance Station API:

                              Hi zusammen,

                              hat noch jemand @apollon77 Skript am laufen?

                              var request = require('request');
                              
                              // Konfiguration
                              var user = "XXXXXX";  // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
                              var pass = "XXXXXXX";  // Passwort zu eben eingegebenem Benutzer
                              var ip = "192.168.178.XXX";  // IP-Adresse eures Synology-NAS
                              var port = XXX;  // default Port der Surveillance Station
                              var cameraID = 1;  // ID der Kamera, welche angezeigt werden soll
                              
                              createState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""});
                              
                              // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID
                              
                              function updateStreamUrl() {
                                  request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) {
                                      //console.log('error:', error); // Print the error if one occurred
                                      //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
                                      //console.log('body:', body); // Print the HTML for the Google homepage.
                                      try {
                                          var bodyObj = JSON.parse(body);
                                      }
                                      catch (e) {
                                          console.log("Error update SurveillanceStation Stream URL: " + e);
                                          return;
                                      }
                                      if (bodyObj && bodyObj.data && bodyObj.data.sid) {
                                          var sid = bodyObj.data.sid;
                                          setState('javascript.' + instance + '.Anzeigen.Kamera.Eingangstuer-Stream', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true);
                                      }
                                      else {
                                          console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj));
                                          return;
                                      }
                                  });
                              }
                              
                              schedule("0 * * * *", function() {
                                  updateStreamUrl();
                              });
                              
                              updateStreamUrl();
                              

                              Lief monatelang ohne Probleme. Scheinbar nach irgend einem Update, entweder iobroker oder SurveillanceStation (aktuell 8.2.3-5828), kommt kein Bild mehr. Wenn ich die angelegte URL aus dem Datenpunkt in den Browser kopiere, kommt auch kein Bild.
                              Das wäre z.B. das Format des aktuellen Datenpunkt:

                              http://192.168.178.XXX:XXX/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=1&format=mjpeg&_sid=ibdh4MDGQhITs1790QDN403203
                              

                              Es kommt auch nicht "Seite nicht erreichbar", sondern der Browser sucht und sucht...

                              Es hilft auch kein Neustart des iobroker oder der synology.

                              Im Log kommt auch nichts ungewöhnliches:

                              javascript.0	2019-03-02 08:29:30.867	info	script.js.common.Kamera: registered 0 subscriptions and 1 schedule
                              javascript.0	2019-03-02 08:29:30.842	info	Start javascript script.js.common.Kamera
                              javascript.0	2019-03-02 08:29:30.828	info	Stop script script.js.common.Kamera
                              

                              Ist da jemand schon was bekannt?

                              LG
                              Thomas

                              Die Problem habe (hatte) ich auch.
                              Snology hat mit dem Update auf die Surveillance Station 8.2.3-5828 die API verändert. Das Problem wird in den einschlägigen Foren auch diskutiert. Mittlerweile gibt es einen Fix in Form eines inoffiziellen Updates auf die 8.2.3-5829.

                              Kann von hier runtergeladen werden:
                              https://supfiles.synology.com/sharing/oXkk1MptJ

                              Der Zugang ist passwortgeschützt. Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.

                              Hi,
                              könntest du mir den Zugang bitte zukommen lassen.
                              Ich habe das gleiche Problem.

                              1 Reply Last reply Reply Quote 0
                              • Samson71
                                Samson71 Global Moderator last edited by

                                @totocotonio sagte in Synology Surveillance Station API:

                                könntest du mir den Zugang bitte zukommen lassen.

                                Hast PN.

                                Was ist eigentlich an dem Satz

                                @Samson71 sagte in Synology Surveillance Station API:
                                Gebe ich gern auf Chatanfrage weiter, da ich nicht weis ob ich das hier frei posten kann/darf.

                                nicht zu verstehen? 😉

                                totocotonio 1 Reply Last reply Reply Quote 0
                                • totocotonio
                                  totocotonio @Samson71 last edited by

                                  @Samson71 Vielen Dank für deine Hilfe es funktioniert.

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

                                    Hm,
                                    bei mir läuft es leider immer noch nicht 😞

                                    javascript.0 script.js.common.SurveillanceStation.CameraEsszimmer: Error update SurveillanceStation Stream URL: SyntaxError: Unexpected token u in JSON at position 0
                                    

                                    Jemand eine Idee, was das bedeutet?

                                    K 1 Reply Last reply Reply Quote 0
                                    • Z
                                      zahnheinrich last edited by

                                      @Samson71
                                      Würdest du mir den Zugangscode auch bitte zusenden?
                                      Vielen Dank im Voraus!

                                      Samson71 1 Reply Last reply Reply Quote 0
                                      • Samson71
                                        Samson71 Global Moderator @zahnheinrich last edited by

                                        @zahnheinrich sagte in Synology Surveillance Station API:

                                        @Samson71
                                        Würdest du mir den Zugangscode auch bitte zusenden?

                                        Hast ne Chatnachricht.

                                        1 Reply Last reply Reply Quote 0
                                        • K
                                          Kueppert @Kueppert last edited by

                                          @Kueppert hab das Problem gefunden. Hatte https und port 5001. Wieder auf http und Port 5000 geändert - läuft wieder

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            MarcoM last edited by

                                            Mit dem Update auf die Version 8.2.3-5829 funktioniert es bei mir auch wieder.
                                            Danke @Samson71

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            51
                                            181
                                            50852
                                            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