Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SOLVED [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

    This topic has been deleted. Only users with topic management privileges can see it.
    • U
      Udo_E @bahnuhr last edited by

      @bahnuhr das versuche ich ja mit @Termina zu klären. Zwei Möglichkeiten hab ich ja schon genannt. Ich warte auf Antwort. Vielleicht war ja die Lösung dabei.

      Einfach nur zu Sagen: "Mach es doch ganz anders als du es eigentlich machen willst, obwohl es so wie du es gerne hättest bei jemandem funktionert." ist schließlich auch keine vernünftige Lösung.

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by Jey Cee

        Hallo,

        ich habe im letzten Post ja nur das Ergebnis gezeigt, nicht den Weg dahin. Wird hier nachgeholt:

        Wie oben erwähnt, ändert sich der Link zur aktuellsten Version der Sendung ständig. Deshalb nutze ich dieses Skript, um den Link zeitgesteuert zu aktualisieren. Das Skript legt einen Datenpunkt "VIS.URL.Tagesschau" an. Den brauche ich später in VIS.

        Neue Version vom 11.11.2018

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         02.03.2016 erstellt von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        24.09.2016 umbenannt in VIS_Link_Tagesschau
        11.11.2018 Skript angepasst und optimiert
        */
        const fC = false; // forceCreation für createState()
        const logging = false;
        const instanz = 'javascript.1.';
        const idURL = instanz + 'VIS.URL.Tagesschau';
        // ab hier nix mehr ändern
        const link = "http://www.tagesschau.de/100sekunden/";
         createState(idURL,"", fC, {
            name: "Link zu Tagesschau in 100s",
            desc: "geparster Link aus tagesschau.de",
            type: "string",
            role: "text.url"
        });
         function findeURL () {   
            let request = require('request');
            let film_url;
            try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        let text1 = "
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ",
                            text2 = "
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und 'Ziel speichern unter ...' auswählen.
         "; 
                        let start = body.search(text1) + text1.length;
                        let ende = body.search(text2);
                        if (logging) log("Startposition: " + start);
                        if (logging) log("Endposition: " + ende);
                        let zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : "Fehler beim Ausschneiden";
                        if (logging) log("Zwischenspeicher: " + zwischenspeicher);
        
                        let text3 = "//download", 
                            text4 = ".websm.h264.mp4"; 
                        let start2 = body.search(text3);
                        let ende2 = body.search(text4);
                        if (logging) log("Startposition2: " + start2);
                        if (logging) log("Endposition2: " + ende2);
                        let zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : "Fehler beim Ausschneiden 2";
                        if (logging) log(zwischenspeicher2);
                        film_url = "http:" + zwischenspeicher2 + ".webl.h264.mp4";
                        setState(idURL, film_url);
                        if (logging) log ("URL: " + film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log("Fehler (try): " + fehler, "error");
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        setTimeout(findeURL, 2000);
        
        

        ALTE VERSION VON 2016

        /* VIS Tagesschau_Link
        parsed die Seite https://www.tagesschau.de/100sekunden/ und sucht nach der URL zum aktuellsten Video
         erstellt: 02.03.2016 von pix
        15.03.2016 zu Javascript Instanz 1 gewechselt
        */
         var logging = false;
        var instanz = 'javascript.1.';
         // ab hier nix mehr ändern
         createState('VIS.URL.Tagesschau','', {
            name: 'Link zu Tagesschau in 100s',
            desc: 'geparster Link aus tagesschau.de',
            type: 'string'
        });
         var idURL = instanz + 'VIS.URL.Tagesschau';
         var link = 'http://www.tagesschau.de/100sekunden/';
        var film_url;
         function findeURL () {   
            var optin = true;
            var request = require('request');
             if (optin) try {
                request(link, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        // kein Fehler, Inhalt in body
                        //log(body);
                        // HTML Code der Webseite: Inhalt zwischen  und 
          speichern
                        var text1 = '
         Wir bieten dieses Video in folgenden Formaten zum Download an:
         ',
                            text2 = '
         **Hinweis:** Falls die Videodatei beim Klicken nicht automatisch gespeichert wird, können Sie mit der rechten Maustaste klicken und "Ziel speichern unter ..." auswählen.
         '; 
                        var start = body.search(text1) + text1.length;
                        var ende = body.search(text2);
                        if (logging) log('Startposition: ' + start);
                        if (logging) log('Endposition: ' + ende);
                        var zwischenspeicher = ((start != -1) && (ende != -1) ) ? body.slice(start,ende) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher);
        
                        var text3 = 'http://download',
                            text4 = '.websm.h264.mp4'; 
                        var start2 = body.search(text3);
                        var ende2 = body.search(text4);
                        if (logging) log('Startposition: ' + start2);
                        if (logging) log('Endposition: ' + ende2);
                        var zwischenspeicher2 = ((start2 != -1) && (ende2 != -1) ) ? body.slice(start2,ende2) : 'Fehler beim Ausschneiden';
                        if (logging) log(zwischenspeicher2);
                        film_url = zwischenspeicher2 + '.webl.h264.mp4';
                        setState(idURL, film_url);
                    } else  { // Error beim Einlesen
                        log(error, 'error'); 
                    }
                });   // Ende request 
            } catch (fehler) {
                log('Fehler (try): ' + fehler, 'error');
            }
        } // Ende findeURL
         schedule("8 */1 * * *", findeURL); // jedeStunde um 8 nach voll
        findeURL();
        

        Jetzt muss in VIS noch ein Widget mit Dialog gebaut werden, das bei Tastendruck den Dialog öffnet, in welchem dann das Video läuft:

        [{"tpl":"tplMetroTileDialogStatic","data":{"visibility-cond":"==","visibility-val":1,"hover":false,"transform":"true","bg_class":"bg-darkCyan","icon_class":"","icon_badge":"","badge_bg_class":"","brand_bg_class":"","dialog_draggable":"true","dialog_icon_class":"icon-film","gestures-offsetX":0,"gestures-offsetY":0,"name":"Tagesschau","label":"tagesschau in 100s","html":"\n<video src="\&quot;{javascript.1.VIS.URL.Tagesschau}\&quot;" width="\&quot;950\&quot;" height="\&quot;543\&quot;" \nposter="\&quot;video-standbild.jpg\&quot;" autobuffer/autoplay/\ncontrols="">\n\nSchade – hier käme ein Video, wenn Ihr \nBrowser HTML5 Unterstützung hätte, wie z.B. der \naktuelle Firefox\n\n</video>","dialog_width":"960","dialog_height":"623","dialog_title":"Tagesschau in 100s","dialog_flat":true,"dialog_shadow":true,"dialog_modal":true,"icon_src":"/vis.0/iPad/img/tagesschau100_logo_base.png","icon_height":"22","icon_width":"96","icon_top":"50","icon_left":"24","dialog_icon_src":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false},"style":{"left":"428px","top":"8px","z-index":"20"},"widgetSet":"metro"}]
        

        Der Link zum Video ist im Widget als {Binding} hinterlegt. Die Größen sind für ein iPad Air Landscape ausgelegt.

        Wenn ich Zeit habe, teste ich noch andere Sendungen von anderen Sendern. 😉

        Gruß

        Pix

        EDIT: Neues Skript vom 11.11.2018 im Spoiler

        1 Reply Last reply Reply Quote 1
        • U
          Udo_E @Termina last edited by

          @Termina genau, dein Link ist für ein iFrame. Ich habe damals das Originalscript vom Metro Widget für den iFrame verändert. Bei mir gab es mit dem Metro Widget unlösbare Probleme.

          1 Reply Last reply Reply Quote 0
          • T
            Termina last edited by

            Also, nur mal zum nachverfolgen.

            Zunächst bin ich nach der Anleitung in Post #46
            gegangen. Da hatte es ja die erstgenannte Fehlermeldung gegeben. Dann bin ich freundlicherweise auf eine Alternative (Metro) gebracht worden - leider mit einem anderen Fehler.

            Idealerweise würde ich gerne Metro wieder verbannen - kann ich es dann also nachfolgend einfach mit einem Iframe-Widget probieren?

            U 1 Reply Last reply Reply Quote 0
            • U
              Udo_E @Termina last edited by

              @Termina Ja, das kannst du. Wie ich ja schon schrieb kommt bei mir der Fehler dann vor, wenn mit dem {binding} was nicht stimmt.
              Daher die Möglichkeit 1, dass dort ein Tippfehler drin ist, oder
              Möglichkeit 2: dass der Datenpunkt dem Vis-Editor noch nicht bekannt war, weil er erst nach dem Start des Editors angelegt wurde. Hier würde ein Neustart des Editors helfen und danach iFrame mit Binding hinzufügen.

              T 1 Reply Last reply Reply Quote 0
              • T
                Termina @Udo_E last edited by

                @Udo_E
                Vielen Dank, dass ihr weiter versucht mir zu helfen!

                Also den Tippfehler kann ich ausschließen, da ich den Datenpunkt aus dem Admin kopiere. Die geschweifte Klammer davor und danach sollte auch passen 😉

                Zur 2. Möglichkeit: Mittlerweile habe ich den Editor bestimmt schon 10x neugestartet - leider ohne Verbesserung! Allerdings: Beim schätzungsweise 8. Mal gab es kurzzeitig im VIS Runtime nach Start ein Bild eines Videos um direkt danach wieder mit dem hier Post #54 beschriebenen Fehler zu enden. Leider ist mir das nicht nachproduzierbar!

                1 Reply Last reply Reply Quote 0
                • U
                  Udo_E last edited by Udo_E

                  was passiert denn, wenn du den Link zum Video (z.B. https://www.tagesschau.de/multimedia/video/video-647661~player_branded-true.html) direkt als Quelle im iFrame angibst? Siehst du dann ein Video?

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    Termina @Udo_E last edited by

                    @Udo_E

                    Also der Link direkt erzeugt ein Video. Sobald ich aber die geschweiften Klammern (Binding) drum mache, gibt es die Fehlermeldung.

                    U 1 Reply Last reply Reply Quote 0
                    • U
                      Udo_E @Termina last edited by Udo_E

                      @Termina mach mal bitte einen Screenshot von den Einstellungen das iFrame mit Bindung auf den Datenpunkt.
                      Wenn der Inhalt des Datenpunktes (ohne {}) ein Video liefert, sollte die Adresse des Datenpunktes (mit {}) das selbe Ergebnis liefern.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        Termina @Udo_E last edited by

                        @Udo_E
                        Fehlersuche_Tagesschau Iframe_2.png

                        U 1 Reply Last reply Reply Quote 0
                        • U
                          Udo_E @Termina last edited by

                          @Termina hat denn dein Vis-Benutzer auch Zugriffsrechte auf den Datenpunkt? Das könnte auch noch eine mögliche Ursache sein.

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            Termina @Udo_E last edited by

                            @Udo_E
                            Oh, das musst Du mir erklären, ein VIS-Benutzer!?

                            1 Reply Last reply Reply Quote 0
                            • U
                              Udo_E last edited by Udo_E

                              Der Zugriff auf dein VIS erfolgt über eine WEB-Instanz. Bei mir z.B. im Heimnetz über WEB.0 ohne Authentifizierung (automatisch vorgewählter Benutzer innerhalb der Instanz) und WEB.1 als Portfreigabe über das WWW mit Nutzername und Kennwort.

                              Der Benutzer, mit dem der Zugriff auf dein Vis dann erfolgt braucht auch Zugriffsrechte auf den Datenpunkt.

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                Termina @Udo_E last edited by

                                @Udo_E
                                Ah ok, danke. Nein ich habe nur eine Web.0 Instanz ohne Authentifizierung

                                1 Reply Last reply Reply Quote 0
                                • T
                                  Termina last edited by Termina

                                  Ich habe beide Varianten jetzt auch noch einmal in ein View gesetzt:

                                  Fehlersuche_Tagesschau Iframe_3.png

                                  So sieht es dann in der Runtime aus:

                                  Fehlersuche_Tagesschau Iframe_4.png

                                  Habe mal den fehlerhaften View (links oben) mit weißem Rand hinterlegt. Der laufende View (rechts unten) hat den link als Quelle.

                                  U 1 Reply Last reply Reply Quote 0
                                  • U
                                    Udo_E @Termina last edited by

                                    @Termina Als welcher Benutzer läuft denn der Zugriff auf das VIS? Gleicher Nutzer wie der, unter dem du den Datenpunkt erstellt hast?
                                    also im WEB.0
                                    d51a7ab6-e71e-439a-84dc-043025aa81ef-grafik.png

                                    und im Datenpunkt
                                    34c90001-2069-4122-a9cf-b9fb8a964f0a-grafik.png
                                    gleicher Nutzer oder gleiche Nutzergruppe.

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      Termina @Udo_E last edited by

                                      @Udo_E genau wie bei Dir. 😞

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        Termina last edited by

                                        So, jetzt werde ich verrückt! Gerade mal das fehlerhafte Widget in meinem View angeklickt und auf Widget exportieren - dann in einem anderen View importiert und nun geht es im Moment! Was´n da los? Wer soll das denn erklären!? 🙄

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Ash2k last edited by Ash2k

                                          Hallo,
                                          wollte gerade das Script bei mir einbinden, leider kommt folgender Fehler:

                                          2020-01-23 15:04:05.436 - error: javascript.0 (14852) script.js.Tagesschau compile failed:
                                          at script.js.Tagesschau:30
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) let text1 = "
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) ^
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) SyntaxError: Invalid or unexpected token
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) at new Script (vm.js:83:7)
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) at Object.createScript (vm.js:277:10)
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:978:28)
                                          2020-01-23 15:04:05.437 - error: javascript.0 (14852) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1201:37)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1254:17)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:845:17)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:483:33)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
                                          2020-01-23 15:04:05.438 - error: javascript.0 (14852) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          

                                          Den DP hatte ich über das extra Script von @bahnuhr vorher erstellt.

                                          @bahnuhr said in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

                                          Objekt erzeugen:

                                          c7a90133-10ce-4bda-825b-c65af3e01102-image.png

                                          Extra Script einstellen und einmalig ausführen:

                                          // Tagesschau -------------------------------------------------------------------------------------------------------------
                                          createState('javascript.0.Status.Tagesschau.Link_Tagesschau', '', {type: 'string',name: 'Link zu Tagesschau in 100s',desc: 'geparster Link aus tagesschau.de'});
                                          
                                          

                                          Jemand eine Idee was hier noch fehlt oder falsch ist?

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            Ash2k @Ash2k last edited by

                                            @Ash2k muss nochmal nachhaken: jemand eine Idee? 😐

                                            1 Reply Last reply Reply Quote 0
                                            • P
                                              PatrickFro last edited by

                                              Was spricht gegen den einfachsten Weg? Ich habe das Video per IFrame eingebunden und die Seiten ausserhalb des Videos mit farbigen HTML-Widgets überlagert. Funktioniert einwandfrei.

                                              [{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"0px","top":"0px","width":"1264px","height":"100px","background":"#545454","z-index":"2"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"0px","top":"0px","width":"140px","height":"681px","background":"#545454","z-index":"2"},"widgetSet":"basic"},{"tpl":"tplImage","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"1119px","top":"0px","width":"147px","height":"681px","background":"#545454","z-index":"2"},"widgetSet":"basic"}]
                                              
                                              A 1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post

                                              Support us

                                              ioBroker
                                              Community Adapters
                                              Donate

                                              789
                                              Online

                                              31.7k
                                              Users

                                              79.8k
                                              Topics

                                              1.3m
                                              Posts

                                              42
                                              218
                                              33058
                                              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