Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. LG SmartThinq Waschmaschine in IOBroker einbinden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    823

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

LG SmartThinq Waschmaschine in IOBroker einbinden

Geplant Angeheftet Gesperrt Verschoben Hardware
39 Beiträge 5 Kommentatoren 8.3k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Offline
    L Offline
    Lucky_ESA
    Developer Most Active
    schrieb am zuletzt editiert von Lucky_ESA
    #6

    Dazu muss erst wireq bei dir funktionieren. Gehe auf den o. g. Link, drücke da den grünen Button Code und wähle Download als Zip. Speicher die Datei und entzippe diese auf deinem Rechner. Nun logge dich auf deinem NUC mit einem Tool wie z. Bsp. WinSCP oder Totalcommander ein...Wechsel nun in das Verzeichnis /home/iobroker/ (gibt es das bei NUC???) und erstelle dort einen neuen Ordner wideq. In diesem dann alle Dateien hochladen und zur Sicherheit der Datei example.py die Rechte 0755 geben.
    bild10.JPG
    Nun mit Putty einloggen und in das Verzeichnis wechseln

    cd /home/iobroker/wideq
    

    und das eingeben

    python3 example.py -c DE -l de-DE
    

    Es sollte jetzt ein Link erscheinen den du in deinem Internetbrowser kopieren musst.
    bild11.JPG

    Nun hast du hoffentlich schon einen Thinq Account damit du dich einloggen kannst. Nach dem Login erschein eine weiße Seite. Hier den Link aus der Browseradresse kopieren zu Putty wechseln und den Link dort hineinkopieren. Hast du im Vorfeld Strg C geklickt musst du einfach den o. g. Code erneut eingeben um deinen Link in die Kosole zu kopieren.
    Hat alles funktioniert dann gib mal folgendes in deine Konsole ein.

    python3 example.py
    

    Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen. Wenn dem so ist, dann poste ich hier meinen Code bzw. ergänze ich diese Anleitung.

    So sehen zum Bsp. meine Datenpunkte aus.
    bild12.JPG

    Wie du unten beschrieben hast funktioniert es bis hierher, nun geht es weiter.
    Ich komme von Openhab und beschäftige mich erst seit 6 Wochen mit IOBroker daher habe ich IOBroker alle Rechte gegeben.

    Edit Anfang!!!!
    Version 1.0

    Als trigger verwende ich eine Homematic IP Steckdose.

    Dem wideq Ordner die Rechte geben:

    chown -R iobroker:iobroker /home/iobroker/wideq
    

    Ich musste vor kurzem den fixer anwenden und ab da hatte einfach nicht mehr funktioniert. Aus purer Verzweiflung hatte ich folgendes gemacht und ab da ging es wieder.
    Editiere /etc/sudoers.d/iobroker und füge ggfs. das hinzu. Nur editieren wenn ihr so wie ich verzweifelt seid.

    ALL ALL=(iobroker) NOPASSWD: /usr/bin/python3
    

    Jetzt noch die /home/iobroker/wideq/example.py
    Suche:

    STATE_FILE = 'wideq_state.json'
    

    und ersetze hiermit:

    STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
    

    Nun erstelle ein neuen Blockly mit folgendem Inhalt:


    waschmaschine.rar

    Jetzt noch einige Configs vornehmen.
    config_datapoint: Sollen Datenpunkte angelegt werden. Kann beim zweiten Mal starten auf false gesetzt werden, Wer meine alten Blocklys verwendet muss ALLE alten Datenpunkte löschen.
    config_alexa_error_speak: Text bei Fehler über Alexa ansagen
    config_alexa_error_speak_text: Dieser Text folgt vor der Fehlermeldung
    config_alexa_error_count: Wie oft soll der Text angesagt werden. Kann sinnvoll sein falls man nicht Zuhause ist.
    config_alexa_final_speak: Text nach Abschluß des Waschvorgang über Alexa ansagen
    config_alexa_final_speak_text: Text nach Abschluß des Waschvorgang über Alexa
    config_alexa_volumen: Ich habe 3 Alexa und jede kann separat gesteuert werden. Habt ihr nur eine dann bitte die 2 anderen über das kleine Rad löschen.
    config_Alexa_SN: Hier die SN der jeweiligen Alexa eintagen. Die Anzahl MUSS mit der Anzahl vom Volumen identisch sein.
    config_wash_on: Den Intervall auswählen. Standard habe ich 10 Sek. genommen.
    config_wash_off: Den Intervall auswählen. Standard habe ich jede Stunde genommen. Ich hatte einen Fehler im Blockly und da wurde 1 Woche jede 10 Sek. eine Abfrage versendet. Da ich von Thinq nicht gesperrt wurde kann diese funktion verwendet werden wenn man keine Steckdose hat. Einfach auch auf 10 Sek. setzen...


    config1.JPG
    config2.JPG

    An diesen Punkten eure Steckdose auswählen:


    power1.JPG
    power2.JPG
    power3.JPG

    In VIS einbinden


    bild15.JPG

    Edit ENDE!!!!

    Hoffentlich habe ich nichts vergessen:-)
    Wie man jetzt eventuell einen JSON zu deiner Waschmaschine sendet habe ich noch nicht herausgefunden...Aber braucht man das?!?!
    Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

    S 4 Antworten Letzte Antwort
    2
    • L Lucky_ESA

      Dazu muss erst wireq bei dir funktionieren. Gehe auf den o. g. Link, drücke da den grünen Button Code und wähle Download als Zip. Speicher die Datei und entzippe diese auf deinem Rechner. Nun logge dich auf deinem NUC mit einem Tool wie z. Bsp. WinSCP oder Totalcommander ein...Wechsel nun in das Verzeichnis /home/iobroker/ (gibt es das bei NUC???) und erstelle dort einen neuen Ordner wideq. In diesem dann alle Dateien hochladen und zur Sicherheit der Datei example.py die Rechte 0755 geben.
      bild10.JPG
      Nun mit Putty einloggen und in das Verzeichnis wechseln

      cd /home/iobroker/wideq
      

      und das eingeben

      python3 example.py -c DE -l de-DE
      

      Es sollte jetzt ein Link erscheinen den du in deinem Internetbrowser kopieren musst.
      bild11.JPG

      Nun hast du hoffentlich schon einen Thinq Account damit du dich einloggen kannst. Nach dem Login erschein eine weiße Seite. Hier den Link aus der Browseradresse kopieren zu Putty wechseln und den Link dort hineinkopieren. Hast du im Vorfeld Strg C geklickt musst du einfach den o. g. Code erneut eingeben um deinen Link in die Kosole zu kopieren.
      Hat alles funktioniert dann gib mal folgendes in deine Konsole ein.

      python3 example.py
      

      Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen. Wenn dem so ist, dann poste ich hier meinen Code bzw. ergänze ich diese Anleitung.

      So sehen zum Bsp. meine Datenpunkte aus.
      bild12.JPG

      Wie du unten beschrieben hast funktioniert es bis hierher, nun geht es weiter.
      Ich komme von Openhab und beschäftige mich erst seit 6 Wochen mit IOBroker daher habe ich IOBroker alle Rechte gegeben.

      Edit Anfang!!!!
      Version 1.0

      Als trigger verwende ich eine Homematic IP Steckdose.

      Dem wideq Ordner die Rechte geben:

      chown -R iobroker:iobroker /home/iobroker/wideq
      

      Ich musste vor kurzem den fixer anwenden und ab da hatte einfach nicht mehr funktioniert. Aus purer Verzweiflung hatte ich folgendes gemacht und ab da ging es wieder.
      Editiere /etc/sudoers.d/iobroker und füge ggfs. das hinzu. Nur editieren wenn ihr so wie ich verzweifelt seid.

      ALL ALL=(iobroker) NOPASSWD: /usr/bin/python3
      

      Jetzt noch die /home/iobroker/wideq/example.py
      Suche:

      STATE_FILE = 'wideq_state.json'
      

      und ersetze hiermit:

      STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
      

      Nun erstelle ein neuen Blockly mit folgendem Inhalt:


      waschmaschine.rar

      Jetzt noch einige Configs vornehmen.
      config_datapoint: Sollen Datenpunkte angelegt werden. Kann beim zweiten Mal starten auf false gesetzt werden, Wer meine alten Blocklys verwendet muss ALLE alten Datenpunkte löschen.
      config_alexa_error_speak: Text bei Fehler über Alexa ansagen
      config_alexa_error_speak_text: Dieser Text folgt vor der Fehlermeldung
      config_alexa_error_count: Wie oft soll der Text angesagt werden. Kann sinnvoll sein falls man nicht Zuhause ist.
      config_alexa_final_speak: Text nach Abschluß des Waschvorgang über Alexa ansagen
      config_alexa_final_speak_text: Text nach Abschluß des Waschvorgang über Alexa
      config_alexa_volumen: Ich habe 3 Alexa und jede kann separat gesteuert werden. Habt ihr nur eine dann bitte die 2 anderen über das kleine Rad löschen.
      config_Alexa_SN: Hier die SN der jeweiligen Alexa eintagen. Die Anzahl MUSS mit der Anzahl vom Volumen identisch sein.
      config_wash_on: Den Intervall auswählen. Standard habe ich 10 Sek. genommen.
      config_wash_off: Den Intervall auswählen. Standard habe ich jede Stunde genommen. Ich hatte einen Fehler im Blockly und da wurde 1 Woche jede 10 Sek. eine Abfrage versendet. Da ich von Thinq nicht gesperrt wurde kann diese funktion verwendet werden wenn man keine Steckdose hat. Einfach auch auf 10 Sek. setzen...


      config1.JPG
      config2.JPG

      An diesen Punkten eure Steckdose auswählen:


      power1.JPG
      power2.JPG
      power3.JPG

      In VIS einbinden


      bild15.JPG

      Edit ENDE!!!!

      Hoffentlich habe ich nichts vergessen:-)
      Wie man jetzt eventuell einen JSON zu deiner Waschmaschine sendet habe ich noch nicht herausgefunden...Aber braucht man das?!?!
      Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

      S Offline
      S Offline
      stenmic
      schrieb am zuletzt editiert von
      #7

      @lucky_esa HAMMER! Danke.
      werde es morgen früh gleich probieren. Denke, das bekomme ich hin.

      1 Antwort Letzte Antwort
      0
      • L Lucky_ESA

        Dazu muss erst wireq bei dir funktionieren. Gehe auf den o. g. Link, drücke da den grünen Button Code und wähle Download als Zip. Speicher die Datei und entzippe diese auf deinem Rechner. Nun logge dich auf deinem NUC mit einem Tool wie z. Bsp. WinSCP oder Totalcommander ein...Wechsel nun in das Verzeichnis /home/iobroker/ (gibt es das bei NUC???) und erstelle dort einen neuen Ordner wideq. In diesem dann alle Dateien hochladen und zur Sicherheit der Datei example.py die Rechte 0755 geben.
        bild10.JPG
        Nun mit Putty einloggen und in das Verzeichnis wechseln

        cd /home/iobroker/wideq
        

        und das eingeben

        python3 example.py -c DE -l de-DE
        

        Es sollte jetzt ein Link erscheinen den du in deinem Internetbrowser kopieren musst.
        bild11.JPG

        Nun hast du hoffentlich schon einen Thinq Account damit du dich einloggen kannst. Nach dem Login erschein eine weiße Seite. Hier den Link aus der Browseradresse kopieren zu Putty wechseln und den Link dort hineinkopieren. Hast du im Vorfeld Strg C geklickt musst du einfach den o. g. Code erneut eingeben um deinen Link in die Kosole zu kopieren.
        Hat alles funktioniert dann gib mal folgendes in deine Konsole ein.

        python3 example.py
        

        Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen. Wenn dem so ist, dann poste ich hier meinen Code bzw. ergänze ich diese Anleitung.

        So sehen zum Bsp. meine Datenpunkte aus.
        bild12.JPG

        Wie du unten beschrieben hast funktioniert es bis hierher, nun geht es weiter.
        Ich komme von Openhab und beschäftige mich erst seit 6 Wochen mit IOBroker daher habe ich IOBroker alle Rechte gegeben.

        Edit Anfang!!!!
        Version 1.0

        Als trigger verwende ich eine Homematic IP Steckdose.

        Dem wideq Ordner die Rechte geben:

        chown -R iobroker:iobroker /home/iobroker/wideq
        

        Ich musste vor kurzem den fixer anwenden und ab da hatte einfach nicht mehr funktioniert. Aus purer Verzweiflung hatte ich folgendes gemacht und ab da ging es wieder.
        Editiere /etc/sudoers.d/iobroker und füge ggfs. das hinzu. Nur editieren wenn ihr so wie ich verzweifelt seid.

        ALL ALL=(iobroker) NOPASSWD: /usr/bin/python3
        

        Jetzt noch die /home/iobroker/wideq/example.py
        Suche:

        STATE_FILE = 'wideq_state.json'
        

        und ersetze hiermit:

        STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
        

        Nun erstelle ein neuen Blockly mit folgendem Inhalt:


        waschmaschine.rar

        Jetzt noch einige Configs vornehmen.
        config_datapoint: Sollen Datenpunkte angelegt werden. Kann beim zweiten Mal starten auf false gesetzt werden, Wer meine alten Blocklys verwendet muss ALLE alten Datenpunkte löschen.
        config_alexa_error_speak: Text bei Fehler über Alexa ansagen
        config_alexa_error_speak_text: Dieser Text folgt vor der Fehlermeldung
        config_alexa_error_count: Wie oft soll der Text angesagt werden. Kann sinnvoll sein falls man nicht Zuhause ist.
        config_alexa_final_speak: Text nach Abschluß des Waschvorgang über Alexa ansagen
        config_alexa_final_speak_text: Text nach Abschluß des Waschvorgang über Alexa
        config_alexa_volumen: Ich habe 3 Alexa und jede kann separat gesteuert werden. Habt ihr nur eine dann bitte die 2 anderen über das kleine Rad löschen.
        config_Alexa_SN: Hier die SN der jeweiligen Alexa eintagen. Die Anzahl MUSS mit der Anzahl vom Volumen identisch sein.
        config_wash_on: Den Intervall auswählen. Standard habe ich 10 Sek. genommen.
        config_wash_off: Den Intervall auswählen. Standard habe ich jede Stunde genommen. Ich hatte einen Fehler im Blockly und da wurde 1 Woche jede 10 Sek. eine Abfrage versendet. Da ich von Thinq nicht gesperrt wurde kann diese funktion verwendet werden wenn man keine Steckdose hat. Einfach auch auf 10 Sek. setzen...


        config1.JPG
        config2.JPG

        An diesen Punkten eure Steckdose auswählen:


        power1.JPG
        power2.JPG
        power3.JPG

        In VIS einbinden


        bild15.JPG

        Edit ENDE!!!!

        Hoffentlich habe ich nichts vergessen:-)
        Wie man jetzt eventuell einen JSON zu deiner Waschmaschine sendet habe ich noch nicht herausgefunden...Aber braucht man das?!?!
        Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

        S Offline
        S Offline
        stenmic
        schrieb am zuletzt editiert von
        #8

        @lucky_esa ich muss wohl Python 3 installieren. Welche Version nutzt du (python -V)?
        Es gibt 3.7, 3.8 und 3.9

        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          Lucky_ESA
          Developer Most Active
          schrieb am zuletzt editiert von Lucky_ESA
          #9

          Auf dem Raspberry ist die 3.7 schon vorinstalliert und ich wage zu behaupten das diese auch bei dir installiert ist. Standard wird python2 beim booten eingebunden daher versuche einfach mal python3...Funktioniert das nicht dann einfach python example.py eingeben.
          Die Installation von p3 dauert 1 Stunde.
          Gib bei dir mal das ein.

          ls /usr/bin/python*
          

          Edit:
          Meine Ausgabe:
          bild13.JPG

          Edit2: python 2.7 funktioniert nicht. Hast du python 3.7 nicht installiert musst du dieses nachholen.

          S 1 Antwort Letzte Antwort
          0
          • L Lucky_ESA

            Auf dem Raspberry ist die 3.7 schon vorinstalliert und ich wage zu behaupten das diese auch bei dir installiert ist. Standard wird python2 beim booten eingebunden daher versuche einfach mal python3...Funktioniert das nicht dann einfach python example.py eingeben.
            Die Installation von p3 dauert 1 Stunde.
            Gib bei dir mal das ein.

            ls /usr/bin/python*
            

            Edit:
            Meine Ausgabe:
            bild13.JPG

            Edit2: python 2.7 funktioniert nicht. Hast du python 3.7 nicht installiert musst du dieses nachholen.

            S Offline
            S Offline
            stenmic
            schrieb am zuletzt editiert von
            #10

            @lucky_esa hab es geprüft.
            2.7 und 3.7 ist installiert.
            Sollte somit morgen klappen.

            1 Antwort Letzte Antwort
            0
            • L Lucky_ESA

              Dazu muss erst wireq bei dir funktionieren. Gehe auf den o. g. Link, drücke da den grünen Button Code und wähle Download als Zip. Speicher die Datei und entzippe diese auf deinem Rechner. Nun logge dich auf deinem NUC mit einem Tool wie z. Bsp. WinSCP oder Totalcommander ein...Wechsel nun in das Verzeichnis /home/iobroker/ (gibt es das bei NUC???) und erstelle dort einen neuen Ordner wideq. In diesem dann alle Dateien hochladen und zur Sicherheit der Datei example.py die Rechte 0755 geben.
              bild10.JPG
              Nun mit Putty einloggen und in das Verzeichnis wechseln

              cd /home/iobroker/wideq
              

              und das eingeben

              python3 example.py -c DE -l de-DE
              

              Es sollte jetzt ein Link erscheinen den du in deinem Internetbrowser kopieren musst.
              bild11.JPG

              Nun hast du hoffentlich schon einen Thinq Account damit du dich einloggen kannst. Nach dem Login erschein eine weiße Seite. Hier den Link aus der Browseradresse kopieren zu Putty wechseln und den Link dort hineinkopieren. Hast du im Vorfeld Strg C geklickt musst du einfach den o. g. Code erneut eingeben um deinen Link in die Kosole zu kopieren.
              Hat alles funktioniert dann gib mal folgendes in deine Konsole ein.

              python3 example.py
              

              Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen. Wenn dem so ist, dann poste ich hier meinen Code bzw. ergänze ich diese Anleitung.

              So sehen zum Bsp. meine Datenpunkte aus.
              bild12.JPG

              Wie du unten beschrieben hast funktioniert es bis hierher, nun geht es weiter.
              Ich komme von Openhab und beschäftige mich erst seit 6 Wochen mit IOBroker daher habe ich IOBroker alle Rechte gegeben.

              Edit Anfang!!!!
              Version 1.0

              Als trigger verwende ich eine Homematic IP Steckdose.

              Dem wideq Ordner die Rechte geben:

              chown -R iobroker:iobroker /home/iobroker/wideq
              

              Ich musste vor kurzem den fixer anwenden und ab da hatte einfach nicht mehr funktioniert. Aus purer Verzweiflung hatte ich folgendes gemacht und ab da ging es wieder.
              Editiere /etc/sudoers.d/iobroker und füge ggfs. das hinzu. Nur editieren wenn ihr so wie ich verzweifelt seid.

              ALL ALL=(iobroker) NOPASSWD: /usr/bin/python3
              

              Jetzt noch die /home/iobroker/wideq/example.py
              Suche:

              STATE_FILE = 'wideq_state.json'
              

              und ersetze hiermit:

              STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
              

              Nun erstelle ein neuen Blockly mit folgendem Inhalt:


              waschmaschine.rar

              Jetzt noch einige Configs vornehmen.
              config_datapoint: Sollen Datenpunkte angelegt werden. Kann beim zweiten Mal starten auf false gesetzt werden, Wer meine alten Blocklys verwendet muss ALLE alten Datenpunkte löschen.
              config_alexa_error_speak: Text bei Fehler über Alexa ansagen
              config_alexa_error_speak_text: Dieser Text folgt vor der Fehlermeldung
              config_alexa_error_count: Wie oft soll der Text angesagt werden. Kann sinnvoll sein falls man nicht Zuhause ist.
              config_alexa_final_speak: Text nach Abschluß des Waschvorgang über Alexa ansagen
              config_alexa_final_speak_text: Text nach Abschluß des Waschvorgang über Alexa
              config_alexa_volumen: Ich habe 3 Alexa und jede kann separat gesteuert werden. Habt ihr nur eine dann bitte die 2 anderen über das kleine Rad löschen.
              config_Alexa_SN: Hier die SN der jeweiligen Alexa eintagen. Die Anzahl MUSS mit der Anzahl vom Volumen identisch sein.
              config_wash_on: Den Intervall auswählen. Standard habe ich 10 Sek. genommen.
              config_wash_off: Den Intervall auswählen. Standard habe ich jede Stunde genommen. Ich hatte einen Fehler im Blockly und da wurde 1 Woche jede 10 Sek. eine Abfrage versendet. Da ich von Thinq nicht gesperrt wurde kann diese funktion verwendet werden wenn man keine Steckdose hat. Einfach auch auf 10 Sek. setzen...


              config1.JPG
              config2.JPG

              An diesen Punkten eure Steckdose auswählen:


              power1.JPG
              power2.JPG
              power3.JPG

              In VIS einbinden


              bild15.JPG

              Edit ENDE!!!!

              Hoffentlich habe ich nichts vergessen:-)
              Wie man jetzt eventuell einen JSON zu deiner Waschmaschine sendet habe ich noch nicht herausgefunden...Aber braucht man das?!?!
              Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

              S Offline
              S Offline
              stenmic
              schrieb am zuletzt editiert von
              #11

              @lucky_esa sagte in LG SmartThinq Waschmaschine in IOBroker einbinden:

              Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen

              Hat alles super geklappt. Danke!
              Würdest du noch verraten wie du den JSON-String im ioBroker verarbeitest?

              1 Antwort Letzte Antwort
              0
              • L Offline
                L Offline
                Lucky_ESA
                Developer Most Active
                schrieb am zuletzt editiert von Lucky_ESA
                #12

                Werde nachher meinen Beitrag von oben erweitern. Kannst du mir zur Sicherheit die Ausgabe per PN zusenden?

                Edit: Habe meine Anleitung oben erweitert. Wenn du keine Daten bekommst hast du mit Sicherheit Rechte-Probleme beim Bash Script.

                S 1 Antwort Letzte Antwort
                1
                • L Lucky_ESA

                  Dazu muss erst wireq bei dir funktionieren. Gehe auf den o. g. Link, drücke da den grünen Button Code und wähle Download als Zip. Speicher die Datei und entzippe diese auf deinem Rechner. Nun logge dich auf deinem NUC mit einem Tool wie z. Bsp. WinSCP oder Totalcommander ein...Wechsel nun in das Verzeichnis /home/iobroker/ (gibt es das bei NUC???) und erstelle dort einen neuen Ordner wideq. In diesem dann alle Dateien hochladen und zur Sicherheit der Datei example.py die Rechte 0755 geben.
                  bild10.JPG
                  Nun mit Putty einloggen und in das Verzeichnis wechseln

                  cd /home/iobroker/wideq
                  

                  und das eingeben

                  python3 example.py -c DE -l de-DE
                  

                  Es sollte jetzt ein Link erscheinen den du in deinem Internetbrowser kopieren musst.
                  bild11.JPG

                  Nun hast du hoffentlich schon einen Thinq Account damit du dich einloggen kannst. Nach dem Login erschein eine weiße Seite. Hier den Link aus der Browseradresse kopieren zu Putty wechseln und den Link dort hineinkopieren. Hast du im Vorfeld Strg C geklickt musst du einfach den o. g. Code erneut eingeben um deinen Link in die Kosole zu kopieren.
                  Hat alles funktioniert dann gib mal folgendes in deine Konsole ein.

                  python3 example.py
                  

                  Wenn alles richtig gelaufen ist dann sollte deine Waschmaschine als JSON erscheinen. Wenn dem so ist, dann poste ich hier meinen Code bzw. ergänze ich diese Anleitung.

                  So sehen zum Bsp. meine Datenpunkte aus.
                  bild12.JPG

                  Wie du unten beschrieben hast funktioniert es bis hierher, nun geht es weiter.
                  Ich komme von Openhab und beschäftige mich erst seit 6 Wochen mit IOBroker daher habe ich IOBroker alle Rechte gegeben.

                  Edit Anfang!!!!
                  Version 1.0

                  Als trigger verwende ich eine Homematic IP Steckdose.

                  Dem wideq Ordner die Rechte geben:

                  chown -R iobroker:iobroker /home/iobroker/wideq
                  

                  Ich musste vor kurzem den fixer anwenden und ab da hatte einfach nicht mehr funktioniert. Aus purer Verzweiflung hatte ich folgendes gemacht und ab da ging es wieder.
                  Editiere /etc/sudoers.d/iobroker und füge ggfs. das hinzu. Nur editieren wenn ihr so wie ich verzweifelt seid.

                  ALL ALL=(iobroker) NOPASSWD: /usr/bin/python3
                  

                  Jetzt noch die /home/iobroker/wideq/example.py
                  Suche:

                  STATE_FILE = 'wideq_state.json'
                  

                  und ersetze hiermit:

                  STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
                  

                  Nun erstelle ein neuen Blockly mit folgendem Inhalt:


                  waschmaschine.rar

                  Jetzt noch einige Configs vornehmen.
                  config_datapoint: Sollen Datenpunkte angelegt werden. Kann beim zweiten Mal starten auf false gesetzt werden, Wer meine alten Blocklys verwendet muss ALLE alten Datenpunkte löschen.
                  config_alexa_error_speak: Text bei Fehler über Alexa ansagen
                  config_alexa_error_speak_text: Dieser Text folgt vor der Fehlermeldung
                  config_alexa_error_count: Wie oft soll der Text angesagt werden. Kann sinnvoll sein falls man nicht Zuhause ist.
                  config_alexa_final_speak: Text nach Abschluß des Waschvorgang über Alexa ansagen
                  config_alexa_final_speak_text: Text nach Abschluß des Waschvorgang über Alexa
                  config_alexa_volumen: Ich habe 3 Alexa und jede kann separat gesteuert werden. Habt ihr nur eine dann bitte die 2 anderen über das kleine Rad löschen.
                  config_Alexa_SN: Hier die SN der jeweiligen Alexa eintagen. Die Anzahl MUSS mit der Anzahl vom Volumen identisch sein.
                  config_wash_on: Den Intervall auswählen. Standard habe ich 10 Sek. genommen.
                  config_wash_off: Den Intervall auswählen. Standard habe ich jede Stunde genommen. Ich hatte einen Fehler im Blockly und da wurde 1 Woche jede 10 Sek. eine Abfrage versendet. Da ich von Thinq nicht gesperrt wurde kann diese funktion verwendet werden wenn man keine Steckdose hat. Einfach auch auf 10 Sek. setzen...


                  config1.JPG
                  config2.JPG

                  An diesen Punkten eure Steckdose auswählen:


                  power1.JPG
                  power2.JPG
                  power3.JPG

                  In VIS einbinden


                  bild15.JPG

                  Edit ENDE!!!!

                  Hoffentlich habe ich nichts vergessen:-)
                  Wie man jetzt eventuell einen JSON zu deiner Waschmaschine sendet habe ich noch nicht herausgefunden...Aber braucht man das?!?!
                  Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

                  S Offline
                  S Offline
                  stenmic
                  schrieb am zuletzt editiert von
                  #13

                  @lucky_esa sagte in LG SmartThinq Waschmaschine in IOBroker einbinden:

                  Hoffentlich konnte ich dir mit dieser Anleitung weiterhelfen.

                  Ich danke dir wirklich vielmals

                  1 Antwort Letzte Antwort
                  0
                  • L Lucky_ESA

                    Werde nachher meinen Beitrag von oben erweitern. Kannst du mir zur Sicherheit die Ausgabe per PN zusenden?

                    Edit: Habe meine Anleitung oben erweitert. Wenn du keine Daten bekommst hast du mit Sicherheit Rechte-Probleme beim Bash Script.

                    S Offline
                    S Offline
                    stenmic
                    schrieb am zuletzt editiert von stenmic
                    #14

                    @lucky_esa
                    nachdem ich es jetzt mit deiner Hilfe verstanden habe, hier mein Lösungsweg.

                    Ordner /home/iobroker/wideq mit Inhalt der wideq-api2.zip erstellen.

                    iobroker Rechte für wideq geben.

                    chown -R iobroker:iobroker /home/iobroker/wideq
                    

                    Javaskript fürs Anlegen der Datenpunkte in ioBroker (einmalig ausführen, landen im Verzeichnis javascript.0)

                    createState('Waschmaschine.json.json',{name: 'json',role: 'value',type: 'string'});
                    
                    createState('Waschmaschine.initialBit',{name: 'initialBit',role: 'value',type: 'string'});
                    createState('Waschmaschine.standby',{name: 'standby',role: 'value',type: 'string'});
                    createState('Waschmaschine.courseFL24inchBaseTitan',{name: 'courseFL24inchBaseTitan',role: 'value',type: 'string'});
                    createState('Waschmaschine.initialTimeMinute',{name: 'initialTimeMinute',role: 'value',type: 'number'});
                    createState('Waschmaschine.preState',{name: 'preState',role: 'value',type: 'string'});
                    createState('Waschmaschine.error',{name: 'error',role: 'value',type: 'string'});
                    createState('Waschmaschine.dryLevel',{name: 'dryLevel',role: 'value',type: 'string'});
                    createState('Waschmaschine.creaseCare',{name: 'creaseCare',role: 'value',type: 'string'});
                    createState('Waschmaschine.remainTimeHour',{name: 'remainTimeHour',role: 'value',type: 'number'});
                    createState('Waschmaschine.smartCourseFL24inchBaseTitan',{name: 'smartCourseFL24inchBaseTitan',role: 'value',type: 'string'});
                    createState('Waschmaschine.preWash',{name: 'preWash',role: 'value',type: 'string'});
                    createState('Waschmaschine.steam',{name: 'steam',role: 'value',type: 'string'});
                    createState('Waschmaschine.state',{name: 'state',role: 'value',type: 'string'});
                    createState('Waschmaschine.rinse',{name: 'rinse',role: 'value',type: 'string'});
                    createState('Waschmaschine.wrinkleCare',{name: 'wrinkleCare',role: 'value',type: 'string'});
                    createState('Waschmaschine.loadItemWasher',{name: 'loadItemWasher',role: 'value',type: 'string'});
                    createState('Waschmaschine.temp',{name: 'temp',role: 'value',type: 'string'});
                    createState('Waschmaschine.doorLock',{name: 'doorLock',role: 'value',type: 'string'});
                    createState('Waschmaschine.reserveTimeMinute',{name: 'reserveTimeMinute',role: 'value',type: 'number'});
                    createState('Waschmaschine.AIDDLed',{name: 'AIDDLed',role: 'value',type: 'string'});
                    createState('Waschmaschine.TCLCount',{name: 'TCLCount',role: 'value',type: 'number'});
                    createState('Waschmaschine.downloadedCourseFL24inchBaseTitan',{name: 'downloadedCourseFL24inchBaseTitan',role: 'value',type: 'string'});
                    createState('Waschmaschine.medicRinse',{name: 'medicRinse',role: 'value',type: 'string'});
                    createState('Waschmaschine.turboWash',{name: 'turboWash',role: 'value',type: 'string'});
                    createState('Waschmaschine.ecoHybrid',{name: 'ecoHybrid',role: 'value',type: 'string'});
                    createState('Waschmaschine.remainTimeMinute',{name: 'remainTimeMinute',role: 'value',type: 'number'});
                    createState('Waschmaschine.reserveTimeHour',{name: 'reserveTimeHour',role: 'value',type: 'number'});
                    createState('Waschmaschine.steamSoftener',{name: 'steamSoftener',role: 'value',type: 'string'});
                    createState('Waschmaschine.childLock',{name: 'childLock',role: 'value',type: 'string'});
                    createState('Waschmaschine.remoteStart',{name: 'remoteStart',role: 'value',type: 'string'});
                    createState('Waschmaschine.spin',{name: 'spin',role: 'value',type: 'string'});
                    createState('Waschmaschine.soilWash',{name: 'soilWash',role: 'value',type: 'string'});
                    createState('Waschmaschine.rinseSpin',{name: 'rinseSpin',role: 'value',type: 'string'});
                    createState('Waschmaschine.initialTimeHour',{name: 'initialTimeHour',role: 'value',type: 'number'});
                    createState('Waschmaschine.online',{name: 'online',role: 'switch',type: 'boolean'});
                    

                    Javaskript für Json (Waschmaschine abfragen)
                    Auslöser ist bei mir ebenfalls eine Steckdose.

                    var Intervall;
                    on({id: "javascript.0.Waschmaschine.Benachrichtigung.Status", change: "ne"}, function (obj) { //switch/boolean als Auslöser
                      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                      if ((obj.state ? obj.state.val : "") == true) {
                            exec('cd /home/iobroker/wideq && python3 example.py | sed "/Session expired/d" | sed "1d"', function (err, result) {
                                if (err) setState('javascript.0.Waschmaschine.json.json',err);       // Zieldatenpunkt Error
                                if (result) setState('javascript.0.Waschmaschine.json.json',result); // Zieldatenpunkt Ausgabe
                      		});
                     Intervall = setInterval(function () {
                            exec('cd /home/iobroker/wideq && python3 example.py | sed "/Session expired/d" | sed "1d"', function (err, result) {
                                if (err) setState('javascript.0.Waschmaschine.json.json',err);       // Zieldatenpunkt Error
                                if (result) setState('javascript.0.Waschmaschine.json.json',result); // Zieldatenpunkt Ausgabe
                      		});
                        }, 60000); // Alle 60 Sekunden wenn Auslöser auf "true"
                      } else {
                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                      }
                    });
                    


                    Parsen mit blockly.

                    Image 076.jpg

                    blockly.TXT

                    :relaxed:

                    1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      Lucky_ESA
                      Developer Most Active
                      schrieb am zuletzt editiert von Lucky_ESA
                      #15

                      Das sieht doch gut aus:-)
                      Habe jetzt auch herausgefunden wie man die Daten ohne Bash bekommt.
                      Hierzu muss man einfach die example.py editieren.

                      STATE_FILE = 'wideq_state.json'
                      

                      ändern in

                      STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
                      

                      Dann kann man Blockly verwenden.
                      blocky.txt

                      Jetzt müssen wir nur noch die Rückgabe herausfinden. Mir wäre die Fehlermeldungen sehr wichtig.
                      Im JSON sind Links..Kopiert man diese in den Browser bekommt man eine Datei mit sehr vielen Infos...

                      Der String vom Link scheint wirklich alle möglichen Rückgabewerte zu haben.


                      "error": {
                      "dataType": "enum",
                      "valueMapping": {
                      "ERROR_NO": {
                      "_comment": "No Error",
                      "index": 0,
                      "label": "ERROR_NOERROR",
                      "title": "ERROR_NOERROR_TITLE",
                      "content": "ERROR_NOERROR_CONTENT"
                      },
                      "ERROR_DE2": {
                      "_comment": "DE2 Error",
                      "index": 1,
                      "label": "@WM_WW_FL_ERROR_DE2_W",
                      "title": "@WM_WW_FL_ERROR_DE2_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_DE2_CONTENT_S"
                      },
                      "ERROR_DE1": {
                      "_comment": "DE1 Error",
                      "index": 2,
                      "label": "@WM_WW_FL_ERROR_DE1_W",
                      "title": "@WM_WW_FL_ERROR_DE1_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_DE1_CONTENT_S"
                      },
                      "ERROR_IE": {
                      "_comment": "IE Error",
                      "index": 3,
                      "label": "@WM_WW_FL_ERROR_IE_W",
                      "title": "@WM_WW_FL_ERROR_IE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_IE_CONTENT_S"
                      },
                      "ERROR_OE": {
                      "_comment": "OE Error",
                      "index": 4,
                      "label": "@WM_WW_FL_ERROR_OE_W",
                      "title": "@WM_WW_FL_ERROR_OE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_OE_CONTENT_S"
                      },
                      "ERROR_UE": {
                      "_comment": "UE Error",
                      "index": 5,
                      "label": "@WM_WW_FL_ERROR_UE_W",
                      "title": "@WM_WW_FL_ERROR_UE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_UE_CONTENT_S"
                      },
                      "ERROR_FE": {
                      "_comment": "FE Error",
                      "index": 6,
                      "label": "@WM_WW_FL_ERROR_FE_W",
                      "title": "@WM_WW_FL_ERROR_FE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_FE_CONTENT_S"
                      },
                      "ERROR_PE": {
                      "_comment": "PE Error",
                      "index": 7,
                      "label": "@WM_WW_FL_ERROR_PE_W",
                      "title": "@WM_WW_FL_ERROR_PE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_PE_CONTENT_S"
                      },
                      "ERROR_TE": {
                      "_comment": "tE error",
                      "index": 8,
                      "label": "@WM_WW_FL_ERROR_TE_W",
                      "title": "@WM_WW_FL_ERROR_TE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_TE_CONTENT_S"
                      },
                      "ERROR_LE": {
                      "_comment": "LE error",
                      "index": 9,
                      "label": "@WM_WW_FL_ERROR_LE_W",
                      "title": "@WM_WW_FL_ERROR_LE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_LE_CONTENT_S"
                      },
                      "ERROR_DHE": {
                      "_comment": "dHE error",
                      "index": 11,
                      "label": "@WM_WW_FL_ERROR_DHE_W",
                      "title": "@WM_WW_FL_ERROR_DHE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_DHE_CONTENT_S"
                      },
                      "ERROR_PF": {
                      "_comment": "PF error",
                      "index": 12,
                      "label": "@WM_WW_FL_ERROR_PF_W",
                      "title": "@WM_WW_FL_ERROR_PF_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_PF_CONTENT_S"
                      },
                      "ERROR_FF": {
                      "_comment": "FF error",
                      "index": 13,
                      "label": "@WM_WW_FL_ERROR_FF_W",
                      "title": "@WM_WW_FL_ERROR_FF_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_FF_CONTENT_S"
                      },
                      "ERROR_DCE": {
                      "_comment": "dCE Error",
                      "index": 14,
                      "label": "@WM_WW_FL_ERROR_DCE_W",
                      "title": "@WM_WW_FL_ERROR_DCE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_DCE_CONTENT_S"
                      },
                      "ERROR_AE": {
                      "_comment": "AE Error (AquaLock)",
                      "index": 15,
                      "label": "@WM_WW_FL_ERROR_AE_W",
                      "title": "@WM_WW_FL_ERROR_AE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_AE_CONTENT_S"
                      },
                      "ERROR_EE": {
                      "_comment": "EE error",
                      "index": 16,
                      "label": "@WM_WW_FL_ERROR_EE_W",
                      "title": "@WM_WW_FL_ERROR_EE_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_EE_CONTENT_S"
                      },
                      "ERROR_PS": {
                      "_comment": "PS Error",
                      "index": 17,
                      "label": "@WM_WW_FL_ERROR_PS_W",
                      "title": "@WM_WW_FL_ERROR_PS_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_PS_CONTENT_S"
                      },
                      "ERROR_DE4": {
                      "_comment": "dE4 Error",
                      "index": 18,
                      "label": "@WM_WW_FL_ERROR_DE4_W",
                      "title": "@WM_WW_FL_ERROR_DE4_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_DE4_CONTENT_S"
                      },
                      "ERROR_VS": {
                      "_comment": "vS Error",
                      "index": 19,
                      "label": "@WM_WW_FL_ERROR_VS_W",
                      "title": "@WM_WW_FL_ERROR_VS_TITLE_W",
                      "content": "@WM_WW_FL_ERROR_VS_CONTENT_S"
                      }
                      }
                      },
                      "smartCourseFL24inchBaseTitan": {
                      "ref": "SmartCourse"
                      },
                      "doorLock": {
                      "dataType": "enum",
                      "label": null,
                      "valueMapping": {
                      "DOOR_LOCK_OFF": {
                      "index": 0,
                      "label": "@CP_OFF_EN_W"
                      },
                      "DOOR_LOCK_ON": {
                      "index": 1,
                      "label": "@CP_ON_EN_W"
                      }
                      }
                      },
                      "downloadedCourseFL24inchBaseTitan": {
                      "ref": "SmartCourse"
                      }
                      },

                      S 2 Antworten Letzte Antwort
                      0
                      • L Lucky_ESA

                        Das sieht doch gut aus:-)
                        Habe jetzt auch herausgefunden wie man die Daten ohne Bash bekommt.
                        Hierzu muss man einfach die example.py editieren.

                        STATE_FILE = 'wideq_state.json'
                        

                        ändern in

                        STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
                        

                        Dann kann man Blockly verwenden.
                        blocky.txt

                        Jetzt müssen wir nur noch die Rückgabe herausfinden. Mir wäre die Fehlermeldungen sehr wichtig.
                        Im JSON sind Links..Kopiert man diese in den Browser bekommt man eine Datei mit sehr vielen Infos...

                        Der String vom Link scheint wirklich alle möglichen Rückgabewerte zu haben.


                        "error": {
                        "dataType": "enum",
                        "valueMapping": {
                        "ERROR_NO": {
                        "_comment": "No Error",
                        "index": 0,
                        "label": "ERROR_NOERROR",
                        "title": "ERROR_NOERROR_TITLE",
                        "content": "ERROR_NOERROR_CONTENT"
                        },
                        "ERROR_DE2": {
                        "_comment": "DE2 Error",
                        "index": 1,
                        "label": "@WM_WW_FL_ERROR_DE2_W",
                        "title": "@WM_WW_FL_ERROR_DE2_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_DE2_CONTENT_S"
                        },
                        "ERROR_DE1": {
                        "_comment": "DE1 Error",
                        "index": 2,
                        "label": "@WM_WW_FL_ERROR_DE1_W",
                        "title": "@WM_WW_FL_ERROR_DE1_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_DE1_CONTENT_S"
                        },
                        "ERROR_IE": {
                        "_comment": "IE Error",
                        "index": 3,
                        "label": "@WM_WW_FL_ERROR_IE_W",
                        "title": "@WM_WW_FL_ERROR_IE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_IE_CONTENT_S"
                        },
                        "ERROR_OE": {
                        "_comment": "OE Error",
                        "index": 4,
                        "label": "@WM_WW_FL_ERROR_OE_W",
                        "title": "@WM_WW_FL_ERROR_OE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_OE_CONTENT_S"
                        },
                        "ERROR_UE": {
                        "_comment": "UE Error",
                        "index": 5,
                        "label": "@WM_WW_FL_ERROR_UE_W",
                        "title": "@WM_WW_FL_ERROR_UE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_UE_CONTENT_S"
                        },
                        "ERROR_FE": {
                        "_comment": "FE Error",
                        "index": 6,
                        "label": "@WM_WW_FL_ERROR_FE_W",
                        "title": "@WM_WW_FL_ERROR_FE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_FE_CONTENT_S"
                        },
                        "ERROR_PE": {
                        "_comment": "PE Error",
                        "index": 7,
                        "label": "@WM_WW_FL_ERROR_PE_W",
                        "title": "@WM_WW_FL_ERROR_PE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_PE_CONTENT_S"
                        },
                        "ERROR_TE": {
                        "_comment": "tE error",
                        "index": 8,
                        "label": "@WM_WW_FL_ERROR_TE_W",
                        "title": "@WM_WW_FL_ERROR_TE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_TE_CONTENT_S"
                        },
                        "ERROR_LE": {
                        "_comment": "LE error",
                        "index": 9,
                        "label": "@WM_WW_FL_ERROR_LE_W",
                        "title": "@WM_WW_FL_ERROR_LE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_LE_CONTENT_S"
                        },
                        "ERROR_DHE": {
                        "_comment": "dHE error",
                        "index": 11,
                        "label": "@WM_WW_FL_ERROR_DHE_W",
                        "title": "@WM_WW_FL_ERROR_DHE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_DHE_CONTENT_S"
                        },
                        "ERROR_PF": {
                        "_comment": "PF error",
                        "index": 12,
                        "label": "@WM_WW_FL_ERROR_PF_W",
                        "title": "@WM_WW_FL_ERROR_PF_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_PF_CONTENT_S"
                        },
                        "ERROR_FF": {
                        "_comment": "FF error",
                        "index": 13,
                        "label": "@WM_WW_FL_ERROR_FF_W",
                        "title": "@WM_WW_FL_ERROR_FF_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_FF_CONTENT_S"
                        },
                        "ERROR_DCE": {
                        "_comment": "dCE Error",
                        "index": 14,
                        "label": "@WM_WW_FL_ERROR_DCE_W",
                        "title": "@WM_WW_FL_ERROR_DCE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_DCE_CONTENT_S"
                        },
                        "ERROR_AE": {
                        "_comment": "AE Error (AquaLock)",
                        "index": 15,
                        "label": "@WM_WW_FL_ERROR_AE_W",
                        "title": "@WM_WW_FL_ERROR_AE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_AE_CONTENT_S"
                        },
                        "ERROR_EE": {
                        "_comment": "EE error",
                        "index": 16,
                        "label": "@WM_WW_FL_ERROR_EE_W",
                        "title": "@WM_WW_FL_ERROR_EE_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_EE_CONTENT_S"
                        },
                        "ERROR_PS": {
                        "_comment": "PS Error",
                        "index": 17,
                        "label": "@WM_WW_FL_ERROR_PS_W",
                        "title": "@WM_WW_FL_ERROR_PS_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_PS_CONTENT_S"
                        },
                        "ERROR_DE4": {
                        "_comment": "dE4 Error",
                        "index": 18,
                        "label": "@WM_WW_FL_ERROR_DE4_W",
                        "title": "@WM_WW_FL_ERROR_DE4_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_DE4_CONTENT_S"
                        },
                        "ERROR_VS": {
                        "_comment": "vS Error",
                        "index": 19,
                        "label": "@WM_WW_FL_ERROR_VS_W",
                        "title": "@WM_WW_FL_ERROR_VS_TITLE_W",
                        "content": "@WM_WW_FL_ERROR_VS_CONTENT_S"
                        }
                        }
                        },
                        "smartCourseFL24inchBaseTitan": {
                        "ref": "SmartCourse"
                        },
                        "doorLock": {
                        "dataType": "enum",
                        "label": null,
                        "valueMapping": {
                        "DOOR_LOCK_OFF": {
                        "index": 0,
                        "label": "@CP_OFF_EN_W"
                        },
                        "DOOR_LOCK_ON": {
                        "index": 1,
                        "label": "@CP_ON_EN_W"
                        }
                        }
                        },
                        "downloadedCourseFL24inchBaseTitan": {
                        "ref": "SmartCourse"
                        }
                        },

                        S Offline
                        S Offline
                        stenmic
                        schrieb am zuletzt editiert von stenmic
                        #16

                        bitte löschen

                        1 Antwort Letzte Antwort
                        0
                        • L Lucky_ESA

                          Das sieht doch gut aus:-)
                          Habe jetzt auch herausgefunden wie man die Daten ohne Bash bekommt.
                          Hierzu muss man einfach die example.py editieren.

                          STATE_FILE = 'wideq_state.json'
                          

                          ändern in

                          STATE_FILE = '/home/iobroker/wideq/wideq_state.json'
                          

                          Dann kann man Blockly verwenden.
                          blocky.txt

                          Jetzt müssen wir nur noch die Rückgabe herausfinden. Mir wäre die Fehlermeldungen sehr wichtig.
                          Im JSON sind Links..Kopiert man diese in den Browser bekommt man eine Datei mit sehr vielen Infos...

                          Der String vom Link scheint wirklich alle möglichen Rückgabewerte zu haben.


                          "error": {
                          "dataType": "enum",
                          "valueMapping": {
                          "ERROR_NO": {
                          "_comment": "No Error",
                          "index": 0,
                          "label": "ERROR_NOERROR",
                          "title": "ERROR_NOERROR_TITLE",
                          "content": "ERROR_NOERROR_CONTENT"
                          },
                          "ERROR_DE2": {
                          "_comment": "DE2 Error",
                          "index": 1,
                          "label": "@WM_WW_FL_ERROR_DE2_W",
                          "title": "@WM_WW_FL_ERROR_DE2_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_DE2_CONTENT_S"
                          },
                          "ERROR_DE1": {
                          "_comment": "DE1 Error",
                          "index": 2,
                          "label": "@WM_WW_FL_ERROR_DE1_W",
                          "title": "@WM_WW_FL_ERROR_DE1_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_DE1_CONTENT_S"
                          },
                          "ERROR_IE": {
                          "_comment": "IE Error",
                          "index": 3,
                          "label": "@WM_WW_FL_ERROR_IE_W",
                          "title": "@WM_WW_FL_ERROR_IE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_IE_CONTENT_S"
                          },
                          "ERROR_OE": {
                          "_comment": "OE Error",
                          "index": 4,
                          "label": "@WM_WW_FL_ERROR_OE_W",
                          "title": "@WM_WW_FL_ERROR_OE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_OE_CONTENT_S"
                          },
                          "ERROR_UE": {
                          "_comment": "UE Error",
                          "index": 5,
                          "label": "@WM_WW_FL_ERROR_UE_W",
                          "title": "@WM_WW_FL_ERROR_UE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_UE_CONTENT_S"
                          },
                          "ERROR_FE": {
                          "_comment": "FE Error",
                          "index": 6,
                          "label": "@WM_WW_FL_ERROR_FE_W",
                          "title": "@WM_WW_FL_ERROR_FE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_FE_CONTENT_S"
                          },
                          "ERROR_PE": {
                          "_comment": "PE Error",
                          "index": 7,
                          "label": "@WM_WW_FL_ERROR_PE_W",
                          "title": "@WM_WW_FL_ERROR_PE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_PE_CONTENT_S"
                          },
                          "ERROR_TE": {
                          "_comment": "tE error",
                          "index": 8,
                          "label": "@WM_WW_FL_ERROR_TE_W",
                          "title": "@WM_WW_FL_ERROR_TE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_TE_CONTENT_S"
                          },
                          "ERROR_LE": {
                          "_comment": "LE error",
                          "index": 9,
                          "label": "@WM_WW_FL_ERROR_LE_W",
                          "title": "@WM_WW_FL_ERROR_LE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_LE_CONTENT_S"
                          },
                          "ERROR_DHE": {
                          "_comment": "dHE error",
                          "index": 11,
                          "label": "@WM_WW_FL_ERROR_DHE_W",
                          "title": "@WM_WW_FL_ERROR_DHE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_DHE_CONTENT_S"
                          },
                          "ERROR_PF": {
                          "_comment": "PF error",
                          "index": 12,
                          "label": "@WM_WW_FL_ERROR_PF_W",
                          "title": "@WM_WW_FL_ERROR_PF_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_PF_CONTENT_S"
                          },
                          "ERROR_FF": {
                          "_comment": "FF error",
                          "index": 13,
                          "label": "@WM_WW_FL_ERROR_FF_W",
                          "title": "@WM_WW_FL_ERROR_FF_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_FF_CONTENT_S"
                          },
                          "ERROR_DCE": {
                          "_comment": "dCE Error",
                          "index": 14,
                          "label": "@WM_WW_FL_ERROR_DCE_W",
                          "title": "@WM_WW_FL_ERROR_DCE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_DCE_CONTENT_S"
                          },
                          "ERROR_AE": {
                          "_comment": "AE Error (AquaLock)",
                          "index": 15,
                          "label": "@WM_WW_FL_ERROR_AE_W",
                          "title": "@WM_WW_FL_ERROR_AE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_AE_CONTENT_S"
                          },
                          "ERROR_EE": {
                          "_comment": "EE error",
                          "index": 16,
                          "label": "@WM_WW_FL_ERROR_EE_W",
                          "title": "@WM_WW_FL_ERROR_EE_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_EE_CONTENT_S"
                          },
                          "ERROR_PS": {
                          "_comment": "PS Error",
                          "index": 17,
                          "label": "@WM_WW_FL_ERROR_PS_W",
                          "title": "@WM_WW_FL_ERROR_PS_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_PS_CONTENT_S"
                          },
                          "ERROR_DE4": {
                          "_comment": "dE4 Error",
                          "index": 18,
                          "label": "@WM_WW_FL_ERROR_DE4_W",
                          "title": "@WM_WW_FL_ERROR_DE4_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_DE4_CONTENT_S"
                          },
                          "ERROR_VS": {
                          "_comment": "vS Error",
                          "index": 19,
                          "label": "@WM_WW_FL_ERROR_VS_W",
                          "title": "@WM_WW_FL_ERROR_VS_TITLE_W",
                          "content": "@WM_WW_FL_ERROR_VS_CONTENT_S"
                          }
                          }
                          },
                          "smartCourseFL24inchBaseTitan": {
                          "ref": "SmartCourse"
                          },
                          "doorLock": {
                          "dataType": "enum",
                          "label": null,
                          "valueMapping": {
                          "DOOR_LOCK_OFF": {
                          "index": 0,
                          "label": "@CP_OFF_EN_W"
                          },
                          "DOOR_LOCK_ON": {
                          "index": 1,
                          "label": "@CP_ON_EN_W"
                          }
                          }
                          },
                          "downloadedCourseFL24inchBaseTitan": {
                          "ref": "SmartCourse"
                          }
                          },

                          S Offline
                          S Offline
                          stenmic
                          schrieb am zuletzt editiert von stenmic
                          #17

                          @lucky_esa
                          hier die Übersicht der Fehler

                          "ERROR_NO": Kein Fehler
                          "ERROR_DE2": Fehlerhafte Türsperre | Schließen Sie die Tür komplett. Wenn der Fehler nicht freigegeben wird, rufen Sie den Kundendienst.
                          "ERROR_DE1": Fehler - Tür geöffnet | Schließen Sie die Tür komplett. Wenn der Fehler nicht freigegeben wird, rufen Sie den Kundendienst.
                          "ERROR_IE": Störung der Wasserzufuhr | Die Scheibe ist nicht Füllung oder es dauert zu lange zu füllen. Nehmen Sie die Wasserversorgung Wasserhähne sicher sind offen und Schläuche nicht geknickt werden. Überprüfen Sie den Filter des Zulaufschlauch , um sicherzustellen, dass sie nicht verstopft ist.
                          "ERROR_OE": Fehlerhafter Ablauf | Die Scheibe ist nicht Trockenlegung oder es dauert zu lange ablaufen lassen. Reinigen und den Ablaufschlauch zu begradigen. Öffnen Sie die Ablaufpumpe Filterabdeckung und reinigen Sie den Ablauffilter.
                          "ERROR_UE": Ladung Ungleichgewicht | Das Gerät verfügt über eine Unwuchterkennung und Korrektursystem . Wenn einzelne schwere Gegenstände geladen werden (zum Beispiel Badematte , Bademantel, etc.) kann dieses System nicht mehr Spinnen oder sogar der Schleuder gänzlich unterbrechen . Neuanordnen Last richtige Spinnen zu ermöglichen, oder fügen Sie 1 oder 2 ähnliche Elemente zu helfen, die Last auszugleichen,
                          "ERROR_FE": Fehler Überladung | Schließen Sie den Wasserhahn. Ziehen Sie den Netzstecker und den Kundendienst anrufen.
                          "ERROR_PE": Fehlerhafter Wassersensor | Schließen Sie den Wasserhahn. Ziehen Sie den Netzstecker und den Kundendienst anrufen.
                          "ERROR_TE": Fehlerhafter Thermistor | Ziehen Sie den Netzstecker und den Kundendienst anrufen.
                          "ERROR_LE": Fehler - Motor blockiert | Wenn die Last Größe groß ist, drehen Sie die Wanne kann nicht aufgrund eines überhitzten Motors. Lassen Sie die Unterlegscheibe 30 Minuten stehen der Motor zu ermöglichen, zu kühlen. Reduzieren Sie die Größe der Last, und starten Sie den Zyklus.
                          "ERROR_DHE": Fehler dHE | Ziehen Sie den Netzstecker und den Kundendienst anrufen.
                          "ERROR_PF": Fehler durch Stromausfall | Stromausfall bei Waschmaschine. Damit das gestartete Programm weiter läuft, drücken Sie die Starttaste.
                          "ERROR_FF": Einfrieren Fehler | Überprüfen Sie für gefrorene Wasserleitungen , Abflussschlauch für Zulaufschläuche.
                          "ERROR_DCE": ?
                          "ERROR_AE": AE Fehler | Ziehen Sie den Netzstecker und den Kundendienst anrufen.
                          "ERROR_EE": ?
                          "ERROR_PS": Fehler bei der Stromzufuhr | Überprüfen Sie die Stromzufuhr oder den Anschluss des Stromkabels mit dem Anschlussblock. Eine vollständige Anleitung dazu finden Sie im Benutzerhandbuch.
                          "ERROR_DE4": Fehler beim Türsensor | Der Türsensor zeigt einen Fehler. Wenden Sie sich bitte an den Kundendienst.
                          "ERROR_VS": Fehler am Vibrationssensor | Der Vibrationssensor weist eine Fehlfunktion auf.\nBitte den Kundendienst anfordern.
                          

                          Bei DCE und EE steht nichts in den Links

                          Die Scheibe ist nicht Füllung oder es dauert zu lange zu füllen bzw Die Scheibe ist nicht Trockenlegung oder es dauert zu lange ablaufen lassen macht auch nicht viel Sinn :sweat_smile:

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            Lucky_ESA
                            Developer Most Active
                            schrieb am zuletzt editiert von Lucky_ESA
                            #18

                            Vielen Dank. Habe die Funktion angepasst.

                            let statearray = ['DUMMY', 
                                       'ERROR_NO', 'Kein Fehler',
                                       'ERROR_DE2', 'Fehlerhafte Türsperre', 
                                       'ERROR_DE1', 'Tür geöffnet', 
                                       'ERROR_IE', 'Störung der Wasserzufuhr',
                                       'ERROR_OE', 'Fehlerhafter Ablauf',
                                       'ERROR_UE', 'Ladung Ungleichgewicht',
                                       'ERROR_FE', 'Fehler Überladung',
                                       'ERROR_PE', 'Fehlerhafter Wassersensor',
                                       'ERROR_TE', 'Fehlerhafter Thermistor',
                                       'ERROR_LE', 'Fehler - Motor blockiert',
                                       'ERROR_DHE', 'Fehler dHE',
                                       'ERROR_PF', 'Fehler durch Stromausfall',
                                       'ERROR_FF', 'Einfrieren Fehler',
                                       'ERROR_AE', 'AE Fehler',
                                       'ERROR_PS', 'Fehler bei der Stromzufuhr',
                                       'ERROR_DE4', 'Fehler beim Türsensor',
                                       'ERROR_VS', 'Fehler am Vibrationssensor'];
                            return statearray;
                            

                            Hast du eventuell noch Zeit zu schauen was bei BaseTitan, dryLevel und inchBaseTitan kommen könnte? Bei rinse und SoilWash fehlt wohl nur noch Heavy...

                            Edit:


                            bild18.JPG

                            S 1 Antwort Letzte Antwort
                            0
                            • L Lucky_ESA

                              Vielen Dank. Habe die Funktion angepasst.

                              let statearray = ['DUMMY', 
                                         'ERROR_NO', 'Kein Fehler',
                                         'ERROR_DE2', 'Fehlerhafte Türsperre', 
                                         'ERROR_DE1', 'Tür geöffnet', 
                                         'ERROR_IE', 'Störung der Wasserzufuhr',
                                         'ERROR_OE', 'Fehlerhafter Ablauf',
                                         'ERROR_UE', 'Ladung Ungleichgewicht',
                                         'ERROR_FE', 'Fehler Überladung',
                                         'ERROR_PE', 'Fehlerhafter Wassersensor',
                                         'ERROR_TE', 'Fehlerhafter Thermistor',
                                         'ERROR_LE', 'Fehler - Motor blockiert',
                                         'ERROR_DHE', 'Fehler dHE',
                                         'ERROR_PF', 'Fehler durch Stromausfall',
                                         'ERROR_FF', 'Einfrieren Fehler',
                                         'ERROR_AE', 'AE Fehler',
                                         'ERROR_PS', 'Fehler bei der Stromzufuhr',
                                         'ERROR_DE4', 'Fehler beim Türsensor',
                                         'ERROR_VS', 'Fehler am Vibrationssensor'];
                              return statearray;
                              

                              Hast du eventuell noch Zeit zu schauen was bei BaseTitan, dryLevel und inchBaseTitan kommen könnte? Bei rinse und SoilWash fehlt wohl nur noch Heavy...

                              Edit:


                              bild18.JPG

                              S Offline
                              S Offline
                              stenmic
                              schrieb am zuletzt editiert von
                              #19

                              @lucky_esa
                              das ist alles was ich finden konnte
                              Übersicht.xlsx

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                Lucky_ESA
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #20

                                Das sollte auch reichen. Vielen Dank, werde das die Tage anpassen. Habe gerade noch einen Fehler gefunden.
                                Bei mir läuft gerade die Waschmaschine und bei > 10 Minuten stimmt die Anzeige nicht. Sollten wir ändern in 1:07 und bei > 1 Std. eventuell auf Minuten gehen und nicht 0:59.
                                Hast du da eine Idee?


                                bild19.JPG

                                Gruß//Lucky

                                S 1 Antwort Letzte Antwort
                                0
                                • L Lucky_ESA

                                  Das sollte auch reichen. Vielen Dank, werde das die Tage anpassen. Habe gerade noch einen Fehler gefunden.
                                  Bei mir läuft gerade die Waschmaschine und bei > 10 Minuten stimmt die Anzeige nicht. Sollten wir ändern in 1:07 und bei > 1 Std. eventuell auf Minuten gehen und nicht 0:59.
                                  Hast du da eine Idee?


                                  bild19.JPG

                                  Gruß//Lucky

                                  S Offline
                                  S Offline
                                  stenmic
                                  schrieb am zuletzt editiert von stenmic
                                  #21

                                  @lucky_esa sagte in LG SmartThinq Waschmaschine in IOBroker einbinden:

                                  Hast du da eine Idee?

                                  Ich hab das mit Blockly so gelöst
                                  Image 077.jpg

                                  das mit den Minuten sollte so gehen
                                  Image 078.jpg

                                  1 Antwort Letzte Antwort
                                  0
                                  • L Offline
                                    L Offline
                                    Lucky_ESA
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #22

                                    Hi stenmic, schade ich dachte es geht eleganter so wie den Datenpunkt ändern in min 2 Zeichen.
                                    Habe jetzt deine Übersetzungen bei mir eingefügt, danke.

                                    Jetzt fehlt nur noch folgende Infos:
                                    downloadedCourseFL24inchBaseTitan
                                    dryLevel
                                    smartCourseFL24inchBaseTitan
                                    AIDDLed

                                    Wobei AIDDLed -> AID -> Hilfe
                                    Gibt es eine LED für Hilfe!?!?! Naja man kann nicht alles haben:+1:

                                    Gruß//Lucky

                                    1 Antwort Letzte Antwort
                                    0
                                    • L Offline
                                      L Offline
                                      Lucky_ESA
                                      Developer Most Active
                                      schrieb am zuletzt editiert von Lucky_ESA
                                      #23

                                      An alle die im Club der Thinq Waschmaschinenbesitzer ohne Thinq Adapter sind, habe ich meine Anleitung von oben editiert.

                                      Gruß//Lucky

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • L Lucky_ESA

                                        An alle die im Club der Thinq Waschmaschinenbesitzer ohne Thinq Adapter sind, habe ich meine Anleitung von oben editiert.

                                        Gruß//Lucky

                                        S Offline
                                        S Offline
                                        seek1338
                                        schrieb am zuletzt editiert von seek1338
                                        #24

                                        Hello,

                                        bin etwas neu in iobroker und habe deine anleitung genutzt. Ich hab das example.py skript runtergeladen und mich erfolgreich angemeldet, aber es scheint das ich für meine Waschmaschine nicht alle Daten im json kriege die im Skript abgefragt werden ( z.b. den kompletten snapshot pfad)

                                        Vielleicht weißt du oder wer andere wie das Problem gelöst werden kann. Ich häng mal ein bild an, dann sieht man was ich meine.

                                        Ahja hab auch vom skript die mon (Monitroing funktion) getestet, aber da kommt bei mir ein python fehler:

                                        iobroker@iobroker:~/wideq$ sudo python3 example.py -c DE -l de-DE mon ae5bf050-####-####-#####-########
                                        Traceback (most recent call last):
                                          File "example.py", line 239, in <module>
                                            main()
                                          File "example.py", line 235, in main
                                            example(args.country, args.language, args.cmd, args.args)
                                          File "example.py", line 195, in example
                                            example_command(client, cmd, args)
                                          File "example.py", line 171, in example_command
                                            func(client, *args)
                                          File "example.py", line 42, in mon
                                            with wideq.Monitor(client.session, device_id) as mon:
                                          File "/home/iobroker/wideq/wideq/client.py", line 66, in __enter__
                                            self.start()
                                          File "/home/iobroker/wideq/wideq/client.py", line 33, in start
                                            self.work_id = self.session.monitor_start(self.device_id)
                                          File "/home/iobroker/wideq/wideq/core.py", line 384, in monitor_start
                                            res = self.post('rti/rtiMon', {
                                        AttributeError: 'Session' object has no attribute 'post'
                                        
                                        

                                        Wäre für jeden tipp dankbar.

                                        mfg,
                                        Seek

                                        S L 2 Antworten Letzte Antwort
                                        0
                                        • S seek1338

                                          Hello,

                                          bin etwas neu in iobroker und habe deine anleitung genutzt. Ich hab das example.py skript runtergeladen und mich erfolgreich angemeldet, aber es scheint das ich für meine Waschmaschine nicht alle Daten im json kriege die im Skript abgefragt werden ( z.b. den kompletten snapshot pfad)

                                          Vielleicht weißt du oder wer andere wie das Problem gelöst werden kann. Ich häng mal ein bild an, dann sieht man was ich meine.

                                          Ahja hab auch vom skript die mon (Monitroing funktion) getestet, aber da kommt bei mir ein python fehler:

                                          iobroker@iobroker:~/wideq$ sudo python3 example.py -c DE -l de-DE mon ae5bf050-####-####-#####-########
                                          Traceback (most recent call last):
                                            File "example.py", line 239, in <module>
                                              main()
                                            File "example.py", line 235, in main
                                              example(args.country, args.language, args.cmd, args.args)
                                            File "example.py", line 195, in example
                                              example_command(client, cmd, args)
                                            File "example.py", line 171, in example_command
                                              func(client, *args)
                                            File "example.py", line 42, in mon
                                              with wideq.Monitor(client.session, device_id) as mon:
                                            File "/home/iobroker/wideq/wideq/client.py", line 66, in __enter__
                                              self.start()
                                            File "/home/iobroker/wideq/wideq/client.py", line 33, in start
                                              self.work_id = self.session.monitor_start(self.device_id)
                                            File "/home/iobroker/wideq/wideq/core.py", line 384, in monitor_start
                                              res = self.post('rti/rtiMon', {
                                          AttributeError: 'Session' object has no attribute 'post'
                                          
                                          

                                          Wäre für jeden tipp dankbar.

                                          mfg,
                                          Seek

                                          S Offline
                                          S Offline
                                          stenmic
                                          schrieb am zuletzt editiert von
                                          #25

                                          @seek1338 ich hab das ohne example.py skript gelöst.
                                          Eine Anleitung findest du weiter oben.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          375

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe