Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. ESP32 Cam mit Wlan

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    ESP32 Cam mit Wlan

    This topic has been deleted. Only users with topic management privileges can see it.
    • joergeli
      joergeli last edited by joergeli

      Hallo zusammen,

      Ich habe vor ca. 1 Std. ebenfalls meine beiden ESP32-Cams geliefert bekommen und natürlich gleich ausprobiert.
      1.) FTDI USB-Seriell-Wandler auf 3,3V eingestellt (gejumpert).
      2.) Verkabelung gemäß: https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/ ( unter "Uploading the Code" )
      3.) Button an IO0 und GND angeschlossen.
      4.) Geflasht unter Arduino-IDE 1.8.10 / WIN7
      ( Während des Compilierens schon den RESET-Button und den Button an GPIO0 gedrückt halten )
      5.) Wenn Uploading .... kommt, den RESET-Button loslassen, den GPIO0-Button aber noch gedrückt lassen!.
      6.) Jetzt sollte das Hochladen beginnen.
      7.) Wenn fertig, den GPIO0-Button loslassen.
      8.) anschl. nochmals den RESET-Button kurz drücken.
      ( dann sollte im seriellen Monitor der Arduino-IDE der Bootvorgang und die IP-Adresse angezeigt werden).

      Wie gesagt, läuft bisher alles mit 3,3V, wobei es aber u.U. Probleme geben könnte.
      Dann beim Betrieb auf 5V umstellen - aber nicht beim Flashen!.

      Zusätzlich habe ich den Sketch etwas umgestrickt:
      1.) Statische IP vergeben ( habe ich bei stationären WLAN-Geräten lieber).
      2.) Video-Auflösung fest auf SVGA (800x600) eingestellt (UXGA hatte Artefakte und Frame-Rate war auch zu gering).

      An die "Gesichts-Erkenner":
      Ich hatte mal einen Raspi 3B mit Raspi-Cam gem. dieser Anleitung eingerichtet:
      https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-end-Project/

      Fazit: Um es mit Radio Eriwan zu sagen: Es funktioniert, aaaaaber .... 😉
      Es ging zwar prinzipiell, daß das Kamera-Bild mit den vorher hinterlegten Snapshots der jeweilgen Person verglichen wurden, die Erkennungsrate ließ aber zu wünschen übrig.
      Es kommt dabei auch auf die momentanen Lichtverhältnisse an und ob sich Personen ähnlich sehen ( Brille, Bart, etc.)
      Kurzum, es war nur ein Versuch, der dann abgebrochen wurde.
      Wenn es "nur" darum geht, zu erkennen, ob ein Gesicht vor der Kamera herumturnt, oder z.B. ein Ball, dann kann es aber durchaus funktionieren.

      Anbei noch mein (abgewandelter) Sketch:

      
      
      /*********
        Rui Santos
        Complete project details at https://RandomNerdTutorials.com
        
        IMPORTANT!!! 
         - Select Board "ESP32 Wrover Module"
         - Select the Partion Scheme "Huge APP (3MB No OTA)
         - GPIO 0 must be connected to GND to upload a sketch
         - After connecting GPIO 0 to GND, press the ESP32-CAM on-board RESET button to put your board in flashing mode
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files.
      
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
      *********/
      
      #include "esp_camera.h"
      #include <WiFi.h>
      #include "esp_timer.h"
      #include "img_converters.h"
      #include "Arduino.h"
      #include "fb_gfx.h"
      #include "soc/soc.h" //disable brownout problems
      #include "soc/rtc_cntl_reg.h"  //disable brownout problems
      
      /*
       * #include "dl_lib.h"
       */
       
      #include "esp_http_server.h"
      
      
      //WLAN
      const char ssid[] = "xxxxxxxx";    //### your WLAN SSID
      const char pwd[]  = "yyyyyyyy";    //### your WLAN Password
      bool dynIP = false;                //### DynamicIP (DHCP)?  Set to "false", if static IP is required.  !!!!!! In this case you must set your network parameters in setup-section !!!!!!!!!!
      
      
      
      
      #define PART_BOUNDARY "123456789000000000000987654321"
      
      // This project was tested with the AI Thinker Model, M5STACK PSRAM Model and M5STACK WITHOUT PSRAM
      #define CAMERA_MODEL_AI_THINKER
      //#define CAMERA_MODEL_M5STACK_PSRAM
      //#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
      
      // Not tested with this model
      //#define CAMERA_MODEL_WROVER_KIT
      
      #if defined(CAMERA_MODEL_WROVER_KIT)
        #define PWDN_GPIO_NUM    -1
        #define RESET_GPIO_NUM   -1
        #define XCLK_GPIO_NUM    21
        #define SIOD_GPIO_NUM    26
        #define SIOC_GPIO_NUM    27
        
        #define Y9_GPIO_NUM      35
        #define Y8_GPIO_NUM      34
        #define Y7_GPIO_NUM      39
        #define Y6_GPIO_NUM      36
        #define Y5_GPIO_NUM      19
        #define Y4_GPIO_NUM      18
        #define Y3_GPIO_NUM       5
        #define Y2_GPIO_NUM       4
        #define VSYNC_GPIO_NUM   25
        #define HREF_GPIO_NUM    23
        #define PCLK_GPIO_NUM    22
      
      #elif defined(CAMERA_MODEL_M5STACK_PSRAM)
        #define PWDN_GPIO_NUM     -1
        #define RESET_GPIO_NUM    15
        #define XCLK_GPIO_NUM     27
        #define SIOD_GPIO_NUM     25
        #define SIOC_GPIO_NUM     23
        
        #define Y9_GPIO_NUM       19
        #define Y8_GPIO_NUM       36
        #define Y7_GPIO_NUM       18
        #define Y6_GPIO_NUM       39
        #define Y5_GPIO_NUM        5
        #define Y4_GPIO_NUM       34
        #define Y3_GPIO_NUM       35
        #define Y2_GPIO_NUM       32
        #define VSYNC_GPIO_NUM    22
        #define HREF_GPIO_NUM     26
        #define PCLK_GPIO_NUM     21
      
      #elif defined(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM)
        #define PWDN_GPIO_NUM     -1
        #define RESET_GPIO_NUM    15
        #define XCLK_GPIO_NUM     27
        #define SIOD_GPIO_NUM     25
        #define SIOC_GPIO_NUM     23
        
        #define Y9_GPIO_NUM       19
        #define Y8_GPIO_NUM       36
        #define Y7_GPIO_NUM       18
        #define Y6_GPIO_NUM       39
        #define Y5_GPIO_NUM        5
        #define Y4_GPIO_NUM       34
        #define Y3_GPIO_NUM       35
        #define Y2_GPIO_NUM       17
        #define VSYNC_GPIO_NUM    22
        #define HREF_GPIO_NUM     26
        #define PCLK_GPIO_NUM     21
      
      #elif defined(CAMERA_MODEL_AI_THINKER)
        #define PWDN_GPIO_NUM     32
        #define RESET_GPIO_NUM    -1
        #define XCLK_GPIO_NUM      0
        #define SIOD_GPIO_NUM     26
        #define SIOC_GPIO_NUM     27
        
        #define Y9_GPIO_NUM       35
        #define Y8_GPIO_NUM       34
        #define Y7_GPIO_NUM       39
        #define Y6_GPIO_NUM       36
        #define Y5_GPIO_NUM       21
        #define Y4_GPIO_NUM       19
        #define Y3_GPIO_NUM       18
        #define Y2_GPIO_NUM        5
        #define VSYNC_GPIO_NUM    25
        #define HREF_GPIO_NUM     23
        #define PCLK_GPIO_NUM     22
      #else
        #error "Camera model not selected"
      #endif
      
      static const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;
      static const char* _STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r\n";
      static const char* _STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\n\r\n";
      
      httpd_handle_t stream_httpd = NULL;
      
      static esp_err_t stream_handler(httpd_req_t *req){
        camera_fb_t * fb = NULL;
        esp_err_t res = ESP_OK;
        size_t _jpg_buf_len = 0;
        uint8_t * _jpg_buf = NULL;
        char * part_buf[64];
      
        res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);
        if(res != ESP_OK){
          return res;
        }
      
        while(true){
          fb = esp_camera_fb_get();
          if (!fb) {
            Serial.println("Camera capture failed");
            res = ESP_FAIL;
          } else {
            if(fb->width > 400){
              if(fb->format != PIXFORMAT_JPEG){
                bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);
                esp_camera_fb_return(fb);
                fb = NULL;
                if(!jpeg_converted){
                  Serial.println("JPEG compression failed");
                  res = ESP_FAIL;
                }
              } else {
                _jpg_buf_len = fb->len;
                _jpg_buf = fb->buf;
              }
            }
          }
          if(res == ESP_OK){
            size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);
            res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
          }
          if(res == ESP_OK){
            res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
          }
          if(res == ESP_OK){
            res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
          }
          if(fb){
            esp_camera_fb_return(fb);
            fb = NULL;
            _jpg_buf = NULL;
          } else if(_jpg_buf){
            free(_jpg_buf);
            _jpg_buf = NULL;
          }
          if(res != ESP_OK){
            break;
          }
          //Serial.printf("MJPG: %uB\n",(uint32_t)(_jpg_buf_len));
        }
        return res;
      }
      
      void startCameraServer(){
        httpd_config_t config = HTTPD_DEFAULT_CONFIG();
        config.server_port = 80;
      
        httpd_uri_t index_uri = {
          .uri       = "/",
          .method    = HTTP_GET,
          .handler   = stream_handler,
          .user_ctx  = NULL
        };
        
        //Serial.printf("Starting web server on port: '%d'\n", config.server_port);
        if (httpd_start(&stream_httpd, &config) == ESP_OK) {
          httpd_register_uri_handler(stream_httpd, &index_uri);
        }
      }
      
      void setup() {
        WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
       
        Serial.begin(115200);
        Serial.setDebugOutput(false);
      
      // WiFi ____________________________________________________________________________________
        // Wi-Fi connection
        WiFi.mode(WIFI_STA);
        WiFi.begin(ssid, pwd);
        
        //if Static IP-Adress set your network parameters here
        if(!dynIP){
          IPAddress ip(192,168,192,87);       //### static IP
          IPAddress gateway(192,168,192,99);  //### gateway
          IPAddress subnet(255,255,255,0);    //### subnet
          WiFi.config(ip, gateway, subnet);
        }
        Serial.println("");
        Serial.println("WiFi connected");
        
        Serial.print("Camera Stream Ready! Go to: http://");
        Serial.print(WiFi.localIP());
        
      
        
        
        camera_config_t config;
        config.ledc_channel = LEDC_CHANNEL_0;
        config.ledc_timer = LEDC_TIMER_0;
        config.pin_d0 = Y2_GPIO_NUM;
        config.pin_d1 = Y3_GPIO_NUM;
        config.pin_d2 = Y4_GPIO_NUM;
        config.pin_d3 = Y5_GPIO_NUM;
        config.pin_d4 = Y6_GPIO_NUM;
        config.pin_d5 = Y7_GPIO_NUM;
        config.pin_d6 = Y8_GPIO_NUM;
        config.pin_d7 = Y9_GPIO_NUM;
        config.pin_xclk = XCLK_GPIO_NUM;
        config.pin_pclk = PCLK_GPIO_NUM;
        config.pin_vsync = VSYNC_GPIO_NUM;
        config.pin_href = HREF_GPIO_NUM;
        config.pin_sscb_sda = SIOD_GPIO_NUM;
        config.pin_sscb_scl = SIOC_GPIO_NUM;
        config.pin_pwdn = PWDN_GPIO_NUM;
        config.pin_reset = RESET_GPIO_NUM;
        config.xclk_freq_hz = 20000000;
        config.pixel_format = PIXFORMAT_JPEG; 
      
        /*
        if(psramFound()){
          config.frame_size = FRAMESIZE_UXGA;
          config.jpeg_quality = 10;
          config.fb_count = 2;
        } else {
          config.frame_size = FRAMESIZE_SVGA;
          config.jpeg_quality = 12;
          config.fb_count = 1;
        }
      */
          config.frame_size = FRAMESIZE_SVGA;
          config.jpeg_quality = 12;
          config.fb_count = 1;
        
        
        // Camera init
        esp_err_t err = esp_camera_init(&config);
        if (err != ESP_OK) {
          Serial.printf("Camera init failed with error 0x%x", err);
          return;
        }
      
        
        // Start streaming web server
        startCameraServer();
      }
      
      void loop() {
        delay(1);
      }
      
      
      

      Ich hoffe, das hilft dem Einen, oder Anderen.
      Gruß
      Jörg

      1 Reply Last reply Reply Quote 0
      • Thisoft
        Thisoft @Neuschwansteini last edited by

        @ilovegym sagte in ESP32 Cam mit Wlan:

        @Webranger ich glaube, das Problem beim flashen liegt eher an der Anbindung des FTDI Konverters zu deinem PC als am ESP... hast du den richtigen COM Port - mal ein anderen ESP am FTDI gesteckt um zu checken mit dem serial monitor, ob der ueberhaupt funktioniert...?? Nicht, dass es doch die falsche Schnittstelle ist...

        JA, das vermute ich auch mittlerweile...

        1 Reply Last reply Reply Quote 0
        • Webranger
          Webranger @Neuschwansteini last edited by

          @ilovegym

          Ich benutze ein MacBook und wird mir so angezeigt

          Bildschirmfoto 2019-10-01 um 17.59.47.png

          Das sieht eigentlich richtig aus für mich.

          1 Reply Last reply Reply Quote 0
          • Webranger
            Webranger last edited by

            Geht bei euch eigentlich die LED vom Board kurz an wenn ihr den reset Button drückt?

            joergeli 1 Reply Last reply Reply Quote 0
            • joergeli
              joergeli @Webranger last edited by

              @Webranger
              Ja

              Webranger 1 Reply Last reply Reply Quote 0
              • Webranger
                Webranger @joergeli last edited by

                @joergeli sagte in ESP32 Cam mit Wlan:

                @Webranger
                Ja

                ok dann liegt es wirklich an dem FTDI232

                jetzt mal ein kabel genommen mit dem ich immer tasmosta flashe, da kommt wenigstens schon mal nicht an.

                Ich teste weiter

                joergeli 1 Reply Last reply Reply Quote 0
                • Webranger
                  Webranger last edited by

                  Bildschirmfoto 2019-10-01 um 18.41.03.png

                  Ich bin weiter mit einem anderem Kabel. aber was ist jetzt der RTS pin?

                  joergeli Thisoft 2 Replies Last reply Reply Quote 0
                  • joergeli
                    joergeli @Webranger last edited by

                    @Webranger
                    Du kannst (zum Testen), vom FTDI mal nur 3,3V und GND (Masse) mit der ESP32-Cam verbinden, also nur die Spannungsversorgung herstellen, dann sollte die LED bei RESET-Button-Drücken leuchten.

                    Nebenbei @all:
                    Anscheinend kann die Cam zeitgleich nur einen Client mit dem Stream versorgen.
                    Ich habe mal versucht den Stream im Browser und zusätzlich in einer anderen Anwendung aufzufufen:
                    Es geht nur entweder/oder.

                    1 Reply Last reply Reply Quote 0
                    • joergeli
                      joergeli @Webranger last edited by

                      @Webranger
                      @Webranger
                      Sieht doch gut aus!
                      Jetzt nur noch mal kurz den RESET-Button ( RTS pin) kurz drücken

                      1 Reply Last reply Reply Quote 0
                      • Thisoft
                        Thisoft @Webranger last edited by

                        @Webranger Das Flashen sollte (zumindest dem Screenshot nach...) geklappt haben. Die Meldung mit dem RTS-Pin kannst ignorieren. Einen Reset machst du ja ohnehin noch mal. Einfach jetzt mal ausprobieren 🙂 Wenn du die korrekten WLAN-Zugangsdaten in den Sketch eingetragen hast solltest du jetzt die Cam in deinem Netzwerk finden können...

                        1 Reply Last reply Reply Quote 0
                        • Webranger
                          Webranger last edited by

                          Bildschirmfoto 2019-10-01 um 18.48.23.png

                          Strom gebe ich doch jetzt über die beiden pins auf der anderen Seite drauf oder?

                          5V und GND

                          joergeli 1 Reply Last reply Reply Quote 0
                          • joergeli
                            joergeli @Webranger last edited by

                            @Webranger
                            Nicht unbedingt, bei mir funktioniert es auch mit den 3,3V vom FTDI-Kabel.
                            Kannst es aber auch mit 5V probieren.

                            1 Reply Last reply Reply Quote 0
                            • Webranger
                              Webranger last edited by Webranger

                              ok SCHWERE Geburt

                              Habe jetzt ein Bild

                              Danke euch das ihr soviel gedult mit mir hattet.

                              Jetzt kann ich erstmal gucken das mir der Verkaufer das teil austauscht.

                              edit1 Habe jetzt zwar ein bild aber nicht diese WebUI braucht man die zwingend?

                              edit2 läuft jetzt alles

                              joergeli 1 Reply Last reply Reply Quote 0
                              • joergeli
                                joergeli @Webranger last edited by

                                @Webranger
                                Ende gut, alles gut 🙂

                                Austausch des FTDI: lohnt m.E. nicht sich Streß zu machen, da es die Dinger in der Bucht für ca. 3-5,- € gibt.
                                Evtl. sind ja auch die Stecker an den Kabelenden nicht i.O. ? Mal vorsichtig! daran ziehen.
                                Falls defekt, mal nach sog. Dupont-Kabeln (Female-Female = Buchse-Buchse) suchen.
                                WebUI brauche ich persönlich nicht, will das Bild eh' nur in ioBroker einbinden.

                                Gruß
                                Jörg

                                1 Reply Last reply Reply Quote 0
                                • Webranger
                                  Webranger last edited by Webranger

                                  Bildschirmfoto 2019-10-01 um 19.38.07.png

                                  motionEyeOS klappt super auch mit dem stream.

                                  @joergeli Mit dem austausch hast du eigentlich recht aber ist ja heute erst gekommen und da sollte es eigentlich funktionieren. Kabel hatte ich alle einmal komplett schon durchgetauscht. Müsste aber ja min strom drauf kommen auf das ding.

                                  1 Reply Last reply Reply Quote 0
                                  • Webranger
                                    Webranger last edited by

                                    moinsen zusammen.

                                    Bei mir läuft es ja nun und auch schon die Nacht durch mit motionEyeOS aber jetzt überlegt man ja weiter. Hat sich schon mal wer gedanken über folgende punkte gemacht:

                                    • 5,5 Volt Solarpannel für den Betrieb im Garten

                                    • Gibt es eine cam mit ir Beleuchtung für Nachts oder im dunkeln z.b. in einem Vogelhaus.

                                    • Montage auf einem Rasenmähroboter wobei Strom vom Mäher akku kommen sollte.

                                    • ...........

                                    Habt ihr noch verrückte ideen oder Anwendungsbeispiele?

                                    1 Reply Last reply Reply Quote 0
                                    • joergeli
                                      joergeli last edited by

                                      @Webranger
                                      Moin,
                                      Solarpanel:
                                      Sollte schon Spannung > 12V liefern, da Du eh' dahinter einen Laderegler brauchst, der dann einen Solarakku lädt.
                                      Vom Akku dann ein Step-Down-Wandler auf 5V zur Cam.
                                      Ist machbar, aber m.E. zu viel Aufwand.
                                      Einfacher: Steckernetzteil z.B. im Keller und dann das 5V-Kabel bis zur Cam verlängern.
                                      Wobei dabei die Frage ist, wie lang das Kabel wird, da u.U. ein Spannungsabfall auftreten kann, so daß dann keine 5V mehr ankommen.
                                      Alternative: 12 V Steckernetzteil mit 12V. 12V-Kabel verlängern und dann diekt an der Cam einen 12V -> 5V Step-Down-Wandler.

                                      IR-Cam:
                                      Es gibt für den Raspi eine NOIR-Kamera, d.h. die hat keinen Infrarot-Filter und kann somit (bei entspr. IR-Ausleuchtung) auch nachts "sehen". Allerdings hat das prinzipbedingt den Nachteil, daß bei Tageslicht Farbverfäschungen auftreten, siehe: https://pimylifeup.com/raspberry-pi-camera-vs-noir-camera/
                                      Bessere - und teuere - Tag-/Nacht-Cams haben einen sog. IR-Cut-Filter eingebaut, d.h. tagsüber wird - mechanisch - ein IR-Filter vor die Linse gefahren und nachts weggeklappt. Damit sehen dann auch tagsüber die Farben natürlich aus.

                                      Wenn Du wirklich was Gutes willst, schau Dir mal die "upCam Tornado" an:
                                      https://www.upcam.de/ip-ueberwachungskameras/upcam-tornado-aussen/upcam-tornado-hd-s/170/upcam-tornado-hd-s-silber-all-in-one-ueberwachungskamera
                                      Da ist dann alles tutto completti ( Tag/Nacht, IR-Beleuchtung, WLAN/LAN, etc.), kostet alledings ca. 150,-€
                                      Ich habe 2 von denen in Betrieb und die sind m.E. das Beste, was man in diesem Preissegment bekommen kann.

                                      Mähroboter:
                                      Sollte prinzipiell möglich sein, wenn Dein WLAN soweit reicht.

                                      Andere Anwendungsmöglichkeiten gibt es viele, wie. z.B. Snapshot von der Haustürklngel, oder:
                                      3D-Drucker überwachen:
                                      Ich habe einen 3D-Drucker, den ich beim Drucken mit einer Raspi-Cam überwache.
                                      Dazu ist auf dem Raspi die Software Octoprint ( https://octoprint.org/ ) installiert.
                                      Somit muß ich mich nicht mehrmals von der Couch erheben und in meine Bastelbude laufen, um zu sehen, ob der Druck fertig ist 😉

                                      Aber ich denke, wir schweifen hier vom Thread-Thema ab und Du solltest Dich diesbzgl. vielleicht mal in Roboter-, oder Smart-Home-Foren umsehen.

                                      Gruß
                                      Jörg

                                      Webranger 1 Reply Last reply Reply Quote 0
                                      • haselchen
                                        haselchen Most Active last edited by

                                        Habt ihr es geschafft, dass bei Motion Dection ein Foto an die angebene Location geschickt wird?

                                        crunchip 1 Reply Last reply Reply Quote 0
                                        • crunchip
                                          crunchip Forum Testing Most Active @haselchen last edited by

                                          @haselchen wie sieht dein Link dazu aus? Hat ja speziell nichts mit der Cam zu tun.

                                          haselchen 1 Reply Last reply Reply Quote 0
                                          • haselchen
                                            haselchen Most Active @crunchip last edited by

                                            @crunchip
                                            FTP
                                            Server : IP meiner Synology
                                            Port 21
                                            Path: /Snapshot
                                            Anmeldedaten für Synology: User /Passwort

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            917
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            42
                                            372
                                            76636
                                            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