Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. Adapter für Ecoflow Einbindung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Adapter für Ecoflow Einbindung

Scheduled Pinned Locked Moved Einbindung von Geräten
212 Posts 42 Posters 65.1k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M mattenausohz

    @waly_de Ah ok, verstanden. Danke! :) Noch ein paar Fragen:

    1. Kannst Du noch mal kurz erläutern was es mit dem BasePower Offset auf sich hat?
    2. Ich habe derzeit zu 80% einen negativen Netzbezug meist um die -40 bis -50. Habe alle Werte im Standard gelassen. Woran kann das liegen?
    3. Die Produktion (PV1 und PV2) aktualisieren sich im Vergleich zur App extrem selten und passen auch nicht wirklich zum Gesamt-Wert. PV1 + PV2 scheint nicht die "Solar-Summe" auf der App zu sein.
    4. Habe jetzt den Herd laufen. Gesamt werden über 1500 W dauerhaft verbraucht. Die Einspeisung steigt aber nicht auf 600 sondern schwankt weiterhin (die vor der Nutzung des Herds) um 500 W herum.

    Nun sehe ich das auch noch:
    19:46:30.583 error javascript.0 (788087) Script script.js.common.ecoFlow_PowerStream is calling setState more than 600 times per minute! Stopping Script now! Please check your script!

    W Offline
    W Offline
    Waly_de
    wrote on last edited by Waly_de
    #172

    @mattenausohz

    1. BasePower Offset ist das, was bei der Berechnung der Einspeiseleistung abgezogen wird. Also wenn Ermittelt wird, dass Dein Verbrauch gerade 400W ist und der Offset auf 50 eingestellt ist, dann wird 350W als Einspeiseleistung eingestellt. Dein Stromzähler sollte also im Idealfall dann 50 W anzeigen.

    2. Dann stimmt etwas nicht. Der Wert sollte eher oberhalb des Offset liegen. Es wird ja immer der niedrigste Verbrauchswert der letzten <MinValueMin> Minuten ermittelt und davon der Offset abgezogen...

    3. Ja die Werte weichen ab. Ich habe noch keine Erklärung bzw. keine Methode gefunden um das 100% gleich zu ziehen. Im Moment ziehe ich von den PV1 und PV2 Werten je 18W ab um die Summe zu errechnen. Das kam den Werten der App am nächsten. 100% Ist das aber nicht. Vielleicht findet einer von Euch ja raus, wie der Wert genau berechnet werden kann. Wenn du die App benutzt während das Skript läuft, kann es sein das der Empfang der Nachrichten im Skript abbricht. Ich Monitor das schon und starte das Skript neu.. aber das dauert. Wenn Du selbst neu startest, sollte es wieder schneller Daten geben.

    4. Denk dran.. es wird der niedrigste wert der letzten <MinValueMin> Minuten ermittelt. daher muss die Leistung von 1500W mindestens <MinValueMin> Minuten dauerhaft anliegen, damit die Einspeisung angehoben wird. (Hast du auch die History für den Verbrauch aktiviert?)

    5. Oha.. ja, es kommen eben sehr viele Updates vom MQTT. Ich hatte das auch, aber mit mehr als 1000. Ist aber kein Fehler, sondern leider die Realität. Ich hab das Limit in den Einstellungen des Javascript Adapters auf 5000 Erhöht.... Alternativ könntest du den Empfang der nicht codierten Meldungen (Delta 2 oder Max) abstellen. Die werden für die Funktionalität nicht gebraucht. Dazu muss nur eine Zeile im Script auskommentiert werden. Hier die Funktion mit der auskommentieren Anweisung:

    // Auf Nachricht empfangen Ereignis reagieren
        client.on('message', async function (topic, message) {
            var jsonMessage = ""
            const mqState = topic.replace(/^\//, '').replace(/\//g, '_')
            await createMyState(mqState + ".RAW")
            setState(ConfigData.statesPrefix + ".LastTopic", topic)
            try {
                jsonMessage = JSON.parse(message);
                if (ConfigData.Debug) log('JSON-Nachricht empfangen:' + topic + ':' + JSON.stringify(jsonMessage));
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", JSON.stringify(jsonMessage))
                //generateAndSyncSub("data", jsonMessage, false, ConfigData.statesPrefix + '.' + mqState)
            } catch (error) {
                if (ConfigData.Debug) log('Binäre Nachricht empfangen:' + topic + ':' + message.toString('hex'));
                await createMyState(mqState + ".RAW_HEX")
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW_HEX", message.toString('hex'))
                if (ConfigData.Debug) log('Decodierte Nachricht:' + decodeAndPrint(message.toString('hex')))
                const messagedecoded = decodeAndPrint(message.toString('hex'))
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", messagedecoded)
                generateAndSyncSub("data", JSON.parse(messagedecoded), false, ConfigData.statesPrefix + '.' + mqState)
            }
        });
    

    übrigens, nach diesem Eintrag im Log steht das Script so lange, bis du es Manuell neu startest. Also danach wird nichts mehr getan.

    PS: Ich arbeite noch an der Sache. Hab einiges schon ergänzt und verbessert, vor allem die Berechnung der Einspeiseleistung. Aber ist noch nicht reif zum Posten.. dauert noch ein paar Tage...

    M J 2 Replies Last reply
    1
    • W Waly_de

      @mattenausohz

      1. BasePower Offset ist das, was bei der Berechnung der Einspeiseleistung abgezogen wird. Also wenn Ermittelt wird, dass Dein Verbrauch gerade 400W ist und der Offset auf 50 eingestellt ist, dann wird 350W als Einspeiseleistung eingestellt. Dein Stromzähler sollte also im Idealfall dann 50 W anzeigen.

      2. Dann stimmt etwas nicht. Der Wert sollte eher oberhalb des Offset liegen. Es wird ja immer der niedrigste Verbrauchswert der letzten <MinValueMin> Minuten ermittelt und davon der Offset abgezogen...

      3. Ja die Werte weichen ab. Ich habe noch keine Erklärung bzw. keine Methode gefunden um das 100% gleich zu ziehen. Im Moment ziehe ich von den PV1 und PV2 Werten je 18W ab um die Summe zu errechnen. Das kam den Werten der App am nächsten. 100% Ist das aber nicht. Vielleicht findet einer von Euch ja raus, wie der Wert genau berechnet werden kann. Wenn du die App benutzt während das Skript läuft, kann es sein das der Empfang der Nachrichten im Skript abbricht. Ich Monitor das schon und starte das Skript neu.. aber das dauert. Wenn Du selbst neu startest, sollte es wieder schneller Daten geben.

      4. Denk dran.. es wird der niedrigste wert der letzten <MinValueMin> Minuten ermittelt. daher muss die Leistung von 1500W mindestens <MinValueMin> Minuten dauerhaft anliegen, damit die Einspeisung angehoben wird. (Hast du auch die History für den Verbrauch aktiviert?)

      5. Oha.. ja, es kommen eben sehr viele Updates vom MQTT. Ich hatte das auch, aber mit mehr als 1000. Ist aber kein Fehler, sondern leider die Realität. Ich hab das Limit in den Einstellungen des Javascript Adapters auf 5000 Erhöht.... Alternativ könntest du den Empfang der nicht codierten Meldungen (Delta 2 oder Max) abstellen. Die werden für die Funktionalität nicht gebraucht. Dazu muss nur eine Zeile im Script auskommentiert werden. Hier die Funktion mit der auskommentieren Anweisung:

      // Auf Nachricht empfangen Ereignis reagieren
          client.on('message', async function (topic, message) {
              var jsonMessage = ""
              const mqState = topic.replace(/^\//, '').replace(/\//g, '_')
              await createMyState(mqState + ".RAW")
              setState(ConfigData.statesPrefix + ".LastTopic", topic)
              try {
                  jsonMessage = JSON.parse(message);
                  if (ConfigData.Debug) log('JSON-Nachricht empfangen:' + topic + ':' + JSON.stringify(jsonMessage));
                  setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", JSON.stringify(jsonMessage))
                  //generateAndSyncSub("data", jsonMessage, false, ConfigData.statesPrefix + '.' + mqState)
              } catch (error) {
                  if (ConfigData.Debug) log('Binäre Nachricht empfangen:' + topic + ':' + message.toString('hex'));
                  await createMyState(mqState + ".RAW_HEX")
                  setState(ConfigData.statesPrefix + '.' + mqState + ".RAW_HEX", message.toString('hex'))
                  if (ConfigData.Debug) log('Decodierte Nachricht:' + decodeAndPrint(message.toString('hex')))
                  const messagedecoded = decodeAndPrint(message.toString('hex'))
                  setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", messagedecoded)
                  generateAndSyncSub("data", JSON.parse(messagedecoded), false, ConfigData.statesPrefix + '.' + mqState)
              }
          });
      

      übrigens, nach diesem Eintrag im Log steht das Script so lange, bis du es Manuell neu startest. Also danach wird nichts mehr getan.

      PS: Ich arbeite noch an der Sache. Hab einiges schon ergänzt und verbessert, vor allem die Berechnung der Einspeiseleistung. Aber ist noch nicht reif zum Posten.. dauert noch ein paar Tage...

      M Offline
      M Offline
      mattenausohz
      wrote on last edited by mattenausohz
      #173

      @waly_de Ich hatte übrigens gestern nur an PV1 ein Modul und trotzdem wurden beide Felder mit Werten befüllt. Jetzt noch mal ne Frage zum Script: BasePower wird ja nur neu berechnet wenn "lowestValue" >0 ist. Das heißt, dass wenn ich einen Überschuss habe am Hausanschluss wird nicht runter geregelt. Das ist ok solange man nicht einen Akku noch laden will, richtig? Hab die Abfrage jetzt mal rausgenommen mit dem ">0". Man müsste nun noch den Akkustand mit integrieren:

      Statt:

      if (lowestValue > 0)
      

      könnte man sowas wie

      if (getState(ConfigData.PowerStreamAkkuStandID).val<100){
      

      nehmen. Oder?

      1 Reply Last reply
      0
      • FelixCrafter83F Offline
        FelixCrafter83F Offline
        FelixCrafter83
        wrote on last edited by
        #174

        ich bräuchte Hilfe beim einbinden eines Smartplugs
        Ich habe hier verschiedene Daten vom MQTT Broker bekommen
        es kommen bei /app/device/property/HW52ZDH4SF5J6396 immer zwei verschiedene datensätze:

        Der mit der Energiemessung: Zum beispiel hier die muss mit 14W sein (mann muss hier wieder /10 machen):
        Field number 10 hat dort den wert 140 -> 140/10 = 10W
        20885958-631f-40df-af9c-d9da55e69ecd-image.png

        0a 2e 0a 03 50 8c 01 10 35 18 20 20 01 28 01 40 02 48 01 50 03 58 01 80 01 03 88 01 03 ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
        

        Und einen mit generellen infos?:

        0a780a4c08ffff0312220880c28da50610051a1803030000000000000000000000000000000000000000000012220880c28da50610061a18163700000000000000000000000000000000000000000000103518202001280140fe014820504c5801800103880103ca0110485735325a4448345346354a36333936
        

        Das wird immer angefragt bei /app/<userid>/HW52ZDH4SF5J6396/thing/property/get:
        Das war bis jetzt immer derselbe datensatz

        0a0d1020182070b424ba0103617070
        

        Das wird beim ein und ausschalten von der App auf /app/<userid>/HW52ZDH4SF5J6396/thing/property/set gepublished:
        AUS:

        0a 22 10 20 18 35 40 02 48 81 01 58 01 70 8f eb 2b ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
        

        AN:

        0a 28 0a 02 08 01 10 20 18 35 40 02 48 81 01 50 02 58 01 70 9f ac 1f ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
        

        Wie seit ihr auf die .proto files gekommen?
        habt ihr die im code der app gefunden?
        könnte man für die steckdosen auch eine .proto machen?

        Vielen Dank

        M xNodKaneX 2 Replies Last reply
        0
        • FelixCrafter83F FelixCrafter83

          ich bräuchte Hilfe beim einbinden eines Smartplugs
          Ich habe hier verschiedene Daten vom MQTT Broker bekommen
          es kommen bei /app/device/property/HW52ZDH4SF5J6396 immer zwei verschiedene datensätze:

          Der mit der Energiemessung: Zum beispiel hier die muss mit 14W sein (mann muss hier wieder /10 machen):
          Field number 10 hat dort den wert 140 -> 140/10 = 10W
          20885958-631f-40df-af9c-d9da55e69ecd-image.png

          0a 2e 0a 03 50 8c 01 10 35 18 20 20 01 28 01 40 02 48 01 50 03 58 01 80 01 03 88 01 03 ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
          

          Und einen mit generellen infos?:

          0a780a4c08ffff0312220880c28da50610051a1803030000000000000000000000000000000000000000000012220880c28da50610061a18163700000000000000000000000000000000000000000000103518202001280140fe014820504c5801800103880103ca0110485735325a4448345346354a36333936
          

          Das wird immer angefragt bei /app/<userid>/HW52ZDH4SF5J6396/thing/property/get:
          Das war bis jetzt immer derselbe datensatz

          0a0d1020182070b424ba0103617070
          

          Das wird beim ein und ausschalten von der App auf /app/<userid>/HW52ZDH4SF5J6396/thing/property/set gepublished:
          AUS:

          0a 22 10 20 18 35 40 02 48 81 01 58 01 70 8f eb 2b ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
          

          AN:

          0a 28 0a 02 08 01 10 20 18 35 40 02 48 81 01 50 02 58 01 70 9f ac 1f ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
          

          Wie seit ihr auf die .proto files gekommen?
          habt ihr die im code der app gefunden?
          könnte man für die steckdosen auch eine .proto machen?

          Vielen Dank

          M Offline
          M Offline
          mattenausohz
          wrote on last edited by mattenausohz
          #175

          @felixcrafter83 Darf ich fragen wozu Du noch SmartPlugs brauchst wenn Du doch die "echte" Last live nutzen kannst?

          FelixCrafter83F 1 Reply Last reply
          0
          • M mattenausohz

            @felixcrafter83 Darf ich fragen wozu Du noch SmartPlugs brauchst wenn Du doch die "echte" Last live nutzen kannst?

            FelixCrafter83F Offline
            FelixCrafter83F Offline
            FelixCrafter83
            wrote on last edited by FelixCrafter83
            #176

            @mattenausohz ich habe diesen smartplug bei einem Ecoflow gewinnspiel gewonnen.
            ich möchte mit dem etwas rumspielen, also für etwas anderes benutzen und ich habe ja noch kein powerstream.
            Da hast du recht, smart plugs braucht man mit den scripten natürlich nicht mehr, wenn man die leistung am stromzähler abgreift.
            Ich hätte mir sonst keinen gekauft.
            Habe nämlich auch schon ein smartmeter

            1 Reply Last reply
            0
            • FelixCrafter83F FelixCrafter83

              ich bräuchte Hilfe beim einbinden eines Smartplugs
              Ich habe hier verschiedene Daten vom MQTT Broker bekommen
              es kommen bei /app/device/property/HW52ZDH4SF5J6396 immer zwei verschiedene datensätze:

              Der mit der Energiemessung: Zum beispiel hier die muss mit 14W sein (mann muss hier wieder /10 machen):
              Field number 10 hat dort den wert 140 -> 140/10 = 10W
              20885958-631f-40df-af9c-d9da55e69ecd-image.png

              0a 2e 0a 03 50 8c 01 10 35 18 20 20 01 28 01 40 02 48 01 50 03 58 01 80 01 03 88 01 03 ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
              

              Und einen mit generellen infos?:

              0a780a4c08ffff0312220880c28da50610051a1803030000000000000000000000000000000000000000000012220880c28da50610061a18163700000000000000000000000000000000000000000000103518202001280140fe014820504c5801800103880103ca0110485735325a4448345346354a36333936
              

              Das wird immer angefragt bei /app/<userid>/HW52ZDH4SF5J6396/thing/property/get:
              Das war bis jetzt immer derselbe datensatz

              0a0d1020182070b424ba0103617070
              

              Das wird beim ein und ausschalten von der App auf /app/<userid>/HW52ZDH4SF5J6396/thing/property/set gepublished:
              AUS:

              0a 22 10 20 18 35 40 02 48 81 01 58 01 70 8f eb 2b ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
              

              AN:

              0a 28 0a 02 08 01 10 20 18 35 40 02 48 81 01 50 02 58 01 70 9f ac 1f ca 01 10 48 57 35 32 5a 44 48 34 53 46 35 4a 36 33 39 36
              

              Wie seit ihr auf die .proto files gekommen?
              habt ihr die im code der app gefunden?
              könnte man für die steckdosen auch eine .proto machen?

              Vielen Dank

              xNodKaneX Offline
              xNodKaneX Offline
              xNodKane
              wrote on last edited by
              #177

              @felixcrafter83 Siehe den Beitrag weiter oben.
              Wenn man sich die Ecoflow APK (Android App) genauer ansieht wie die Codetechnisch funktioniert fällt zum einen Auf das ein import zu Googles Protobuf drinnen ist.
              Ist aber sehr mühselig etwas herauszufinden.

              W 1 Reply Last reply
              0
              • xNodKaneX xNodKane

                @felixcrafter83 Siehe den Beitrag weiter oben.
                Wenn man sich die Ecoflow APK (Android App) genauer ansieht wie die Codetechnisch funktioniert fällt zum einen Auf das ein import zu Googles Protobuf drinnen ist.
                Ist aber sehr mühselig etwas herauszufinden.

                W Offline
                W Offline
                Waly_de
                wrote on last edited by
                #178

                Ich hab dem Script mal einen eigenen Beitrag spendiert:

                https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung

                @FelixCrafter83 Die meisten Deiner Daten kenn ich schon und sind im neuen Script verwendet. Was ich nicht kenne wird als State: X_Unknown_X angelegt. Funfact: ich hab auch einen Smartplug gewonnen ;-D hab ich aber noch nicht hier.

                @mattenausohz Die Funktion wurde überarbeitet und sollte jetzt besser laufen.

                FelixCrafter83F 1 Reply Last reply
                0
                • W Waly_de

                  Ich hab dem Script mal einen eigenen Beitrag spendiert:

                  https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung

                  @FelixCrafter83 Die meisten Deiner Daten kenn ich schon und sind im neuen Script verwendet. Was ich nicht kenne wird als State: X_Unknown_X angelegt. Funfact: ich hab auch einen Smartplug gewonnen ;-D hab ich aber noch nicht hier.

                  @mattenausohz Die Funktion wurde überarbeitet und sollte jetzt besser laufen.

                  FelixCrafter83F Offline
                  FelixCrafter83F Offline
                  FelixCrafter83
                  wrote on last edited by
                  #179

                  Ich habe heute etwas rumgetüftelt und habe die Proto files in der App gefunden.
                  nur sind die komisch codiert, ich habe dann chatgpt zur hilfe genommen, das mir dann es in klartext ausgegeben hat.
                  Jetzt ist die Frage, ob jemand weiß, wie man von der einen darstellung auf die klartext dartstellung kommt:

                  Hier mal das, was ich in der App gefunden habe:

                   \n\u0016wn511_socket_sys.proto\"\u00ca\u0001\n\brtc_data\u0012\u0011\n\u0004week\u0018\u0001 \u0001(\u0005H\u0000\u0088\u0001\u0001\u0012\u0010\n\u0003sec\u0018\u0002 \u0001(\u0005H\u0001\u0088\u0001\u0001\u0012\u0010\n\u0003min\u0018\u0003 \u0001(\u0005H\u0002\u0088\u0001\u0001\u0012\u0011\n\u0004hour\u0018\u0004 \u0001(\u0005H\u0003\u0088\u0001\u0001\u0012\u0010\n\u0003day\u0018\u0005 \u0001(\u0005H\u0004\u0088\u0001\u0001\u0012\u0012\n\u0005month\u0018\u0006 \u0001(\u0005H\u0005\u0088\u0001\u0001\u0012\u0011\n\u0004year\u0018\u0007 \u0001(\u0005H\u0006\u0088\u0001\u0001B\u0007\n\u0005_weekB\u0006\n\u0004_secB\u0006\n\u0004_minB\u0007\n\u0005_hourB\u0006\n\u0004_dayB\b\n\u0006_monthB\u0007\n\u0005_year\"\u009e\u0001\n\u0013time_range_strategy\u0012\u0011\n\tis_config\u0018\u0001 \u0001(\b\u0012\u0011\n\tis_enable\u0018\u0002 \u0001(\b\u0012\u0011\n\ttime_mode\u0018\u0003 \u0001(\u0005\u0012\u0011\n\ttime_data\u0018\u0004 \u0001(\u0005\u0012\u001d\n\nstart_time\u0018\u0005 \u0001(\u000b2\t.rtc_data\u0012\u001c\n\tstop_time\u0018\u0006 \u0001(\u000b2\t.rtc_data\"\u001f\n\u0010plug_ack_message\u0012\u000b\n\u0003ack\u0018\u0001 \u0001(\r\"\u00a5\u0004\n\u0013plug_heartbeat_pack\u0012\u0015\n\berr_code\u0018\u0001 \u0001(\rH\u0000\u0088\u0001\u0001\u0012\u0016\n\twarn_code\u0018\u0002 \u0001(\rH\u0001\u0088\u0001\u0001\u0012\u0014\n\u0007country\u0018\u0003 \u0001(\rH\u0002\u0088\u0001\u0001\u0012\u0011\n\u0004town\u0018\u0004 \u0001(\rH\u0003\u0088\u0001\u0001\u0012\u0014\n\u0007max_cur\u0018\u0005 \u0001(\u0005H\u0004\u0088\u0001\u0001\u0012\u0011\n\u0004temp\u0018\u0006 \u0001(\u0005H\u0005\u0088\u0001\u0001\u0012\u0011\n\u0004freq\u0018\u0007 \u0001(\u0005H\u0006\u0088\u0001\u0001\u0012\u0014\n\u0007current\u0018\b \u0001(\u0005H\u0007\u0088\u0001\u0001\u0012\u0011\n\u0004volt\u0018\t \u0001(\u0005H\b\u0088\u0001\u0001\u0012\u0012\n\u0005watts\u0018\n \u0001(\u0005H\t\u0088\u0001\u0001\u0012\u0013\n\u0006switch\u0018\u000b \u0001(\bH\n\u0088\u0001\u0001\u0012\u0017\n\nbrightness\u0018\f \u0001(\u0005H\u000b\u0088\u0001\u0001\u0012\u0016\n\tmax_watts\u0018\r \u0001(\u0005H\f\u0088\u0001\u0001\u0012 \n\u0013heartbeat_frequency\u0018\u000e \u0001(\u0005H\r\u0088\u0001\u0001\u0012\u0018\n\u000bmesh_enable\u0018\u000f \u0001(\u0005H\u000e\u0088\u0001\u0001B\u000b\n\t_err_codeB\f\n\n_warn_codeB\n\n\b_countryB\u0007\n\u0005_townB\n\n\b_max_curB\u0007\n\u0005_tempB\u0007\n\u0005_freqB\n\n\b_currentB\u0007\n\u0005_voltB\b\n\u0006_wattsB\t\n\u0007_switchB\r\n\u000b_brightnessB\f\n\n_max_wattsB\u0016\n\u0014_heartbeat_frequencyB\u000e\n\f_mesh_enable\"*\n\u0013plug_switch_message\u0012\u0013\n\u000bplug_switch\u0018\u0001 \u0001(\r\"%\n\u000fbrightness_pack\u0012\u0012\n\nbrightness\u0018\u0001 \u0001(\u0005\"\u001f\n\fmax_cur_pack\u0012\u000f\n\u0007max_cur\u0018\u0001 \u0001(\u0005\"]\n\u0010time_task_config\u0012\u0011\n\ttask_name\u0018\u0001 \u0001(\t\u0012(\n\ntime_range\u0018\u0002 \u0001(\u000b2\u0014.time_range_strategy\u0012\f\n\u0004type\u0018\u0003 \u0001(\u0005\"N\n\u0015time_task_config_post\u0012\r\n\u0005index\u0018\u0001 \u0001(\u0005\u0012&\n\u000btask_config\u0018\u0002 \u0001(\u000b2\u0011.time_task_config\"D\n\tPowerItem\u0012\u0011\n\ttimestamp\u0018\u0001 \u0001(\r\u0012\u0010\n\btimezone\u0018\u0002 \u0001(\u0011\u0012\u0012\n\nplug_power\u0018\u0003 \u0001(\r\"B\n\tPowerPack\u0012\u000f\n\u0007sys_seq\u0018\u0001 \u0001(\r\u0012$\n\u0010sys_power_stream\u0018\u0002 \u0003(\u000b2\n.PowerItem\"\u001f\n\fPowerAckPack\u0012\u000f\n\u0007sys_seq\u0018\u0001 \u0001(\r\"#\n\u000emax_watts_pack\u0012\u0011\n\tmax_watts\u0018\u0001 \u0001(\u0005\"%\n\u000emesh_ctrl_pack\u0012\u0013\n\u000bmesh_enable\u0018\u0001 \u0001(\r\"\u001b\n\bret_pack\u0012\u000f\n\u0007ret_sta\u0018\u0001 \u0001(\bb\u0006proto3
                  

                  So sieht das dann in klartext aus:
                  wn511_socket_sys.proto

                  syntax = "proto3";
                  
                  message rtc_data {
                    optional int32 week = 1 [default = 1];
                    optional int32 sec = 2 [default = 1];
                    optional int32 min = 3 [default = 1];
                    optional int32 hour = 4 [default = 1];
                    optional int32 day = 5 [default = 1];
                    optional int32 month = 6 [default = 1];
                    optional int32 year = 7 [default = 1];
                  }
                  
                  message time_range_strategy {
                    optional bool is_config = 1;
                    optional bool is_enable = 2;
                    optional int32 time_mode = 3;
                    optional int32 time_data = 4;
                    optional rtc_data start_time = 5;
                    optional rtc_data stop_time = 6;
                  }
                  
                  message plug_ack_message {
                    optional int32 ack = 1;
                  }
                  
                  message plug_heartbeat_pack {
                    optional int32 err_code = 1 [default = 1];
                    optional int32 warn_code = 2 [default = 1];
                    optional int32 country = 3 [default = 1];
                    optional int32 town = 4 [default = 1];
                    optional int32 max_cur = 5 [default = 1];
                    optional int32 temp = 6 [default = 1];
                    optional int32 freq = 7 [default = 1];
                    optional int32 current = 8 [default = 1];
                    optional int32 volt = 9 [default = 1];
                    optional int32 watts = 10 [default = 1];
                    optional bool switch = 11;
                    optional int32 brightness = 12 [default = 1];
                    optional int32 max_watts = 13 [default = 1];
                    optional int32 heartbeat_frequency = 14 [default = 1];
                    optional bool mesh_enable = 15;
                  }
                  
                  message plug_switch_message {
                    optional int32 plug_switch = 1;
                  }
                  
                  message brightness_pack {
                    optional int32 brightness = 1;
                  }
                  
                  message max_cur_pack {
                    optional int32 max_cur = 1;
                  }
                  
                  message time_task_config {
                    optional string task_name = 1;
                    optional time_range_strategy time_range = 2;
                    optional int32 type = 3;
                  }
                  
                  message time_task_config_post {
                    optional int32 index = 1;
                    optional time_task_config task_config = 2;
                  }
                  
                  message PowerItem {
                    optional int64 timestamp = 1;
                    optional string timezone = 2;
                    optional int32 plug_power = 3;
                  }
                  
                  message PowerPack {
                    optional int32 sys_seq = 1;
                    repeated PowerItem sys_power_stream = 2;
                  }
                  
                  message PowerAckPack {
                    optional int32 sys_seq = 1;
                  }
                  
                  message max_watts_pack {
                    optional int32 max_watts = 1;
                  }
                  
                  message mesh_ctrl_pack {
                    optional int32 mesh_enable = 1;
                  }
                  
                  message ret_pack {
                    optional bool ret_sta = 1;
                  }
                  
                  FelixCrafter83F 1 Reply Last reply
                  1
                  • FelixCrafter83F FelixCrafter83

                    Ich habe heute etwas rumgetüftelt und habe die Proto files in der App gefunden.
                    nur sind die komisch codiert, ich habe dann chatgpt zur hilfe genommen, das mir dann es in klartext ausgegeben hat.
                    Jetzt ist die Frage, ob jemand weiß, wie man von der einen darstellung auf die klartext dartstellung kommt:

                    Hier mal das, was ich in der App gefunden habe:

                     \n\u0016wn511_socket_sys.proto\"\u00ca\u0001\n\brtc_data\u0012\u0011\n\u0004week\u0018\u0001 \u0001(\u0005H\u0000\u0088\u0001\u0001\u0012\u0010\n\u0003sec\u0018\u0002 \u0001(\u0005H\u0001\u0088\u0001\u0001\u0012\u0010\n\u0003min\u0018\u0003 \u0001(\u0005H\u0002\u0088\u0001\u0001\u0012\u0011\n\u0004hour\u0018\u0004 \u0001(\u0005H\u0003\u0088\u0001\u0001\u0012\u0010\n\u0003day\u0018\u0005 \u0001(\u0005H\u0004\u0088\u0001\u0001\u0012\u0012\n\u0005month\u0018\u0006 \u0001(\u0005H\u0005\u0088\u0001\u0001\u0012\u0011\n\u0004year\u0018\u0007 \u0001(\u0005H\u0006\u0088\u0001\u0001B\u0007\n\u0005_weekB\u0006\n\u0004_secB\u0006\n\u0004_minB\u0007\n\u0005_hourB\u0006\n\u0004_dayB\b\n\u0006_monthB\u0007\n\u0005_year\"\u009e\u0001\n\u0013time_range_strategy\u0012\u0011\n\tis_config\u0018\u0001 \u0001(\b\u0012\u0011\n\tis_enable\u0018\u0002 \u0001(\b\u0012\u0011\n\ttime_mode\u0018\u0003 \u0001(\u0005\u0012\u0011\n\ttime_data\u0018\u0004 \u0001(\u0005\u0012\u001d\n\nstart_time\u0018\u0005 \u0001(\u000b2\t.rtc_data\u0012\u001c\n\tstop_time\u0018\u0006 \u0001(\u000b2\t.rtc_data\"\u001f\n\u0010plug_ack_message\u0012\u000b\n\u0003ack\u0018\u0001 \u0001(\r\"\u00a5\u0004\n\u0013plug_heartbeat_pack\u0012\u0015\n\berr_code\u0018\u0001 \u0001(\rH\u0000\u0088\u0001\u0001\u0012\u0016\n\twarn_code\u0018\u0002 \u0001(\rH\u0001\u0088\u0001\u0001\u0012\u0014\n\u0007country\u0018\u0003 \u0001(\rH\u0002\u0088\u0001\u0001\u0012\u0011\n\u0004town\u0018\u0004 \u0001(\rH\u0003\u0088\u0001\u0001\u0012\u0014\n\u0007max_cur\u0018\u0005 \u0001(\u0005H\u0004\u0088\u0001\u0001\u0012\u0011\n\u0004temp\u0018\u0006 \u0001(\u0005H\u0005\u0088\u0001\u0001\u0012\u0011\n\u0004freq\u0018\u0007 \u0001(\u0005H\u0006\u0088\u0001\u0001\u0012\u0014\n\u0007current\u0018\b \u0001(\u0005H\u0007\u0088\u0001\u0001\u0012\u0011\n\u0004volt\u0018\t \u0001(\u0005H\b\u0088\u0001\u0001\u0012\u0012\n\u0005watts\u0018\n \u0001(\u0005H\t\u0088\u0001\u0001\u0012\u0013\n\u0006switch\u0018\u000b \u0001(\bH\n\u0088\u0001\u0001\u0012\u0017\n\nbrightness\u0018\f \u0001(\u0005H\u000b\u0088\u0001\u0001\u0012\u0016\n\tmax_watts\u0018\r \u0001(\u0005H\f\u0088\u0001\u0001\u0012 \n\u0013heartbeat_frequency\u0018\u000e \u0001(\u0005H\r\u0088\u0001\u0001\u0012\u0018\n\u000bmesh_enable\u0018\u000f \u0001(\u0005H\u000e\u0088\u0001\u0001B\u000b\n\t_err_codeB\f\n\n_warn_codeB\n\n\b_countryB\u0007\n\u0005_townB\n\n\b_max_curB\u0007\n\u0005_tempB\u0007\n\u0005_freqB\n\n\b_currentB\u0007\n\u0005_voltB\b\n\u0006_wattsB\t\n\u0007_switchB\r\n\u000b_brightnessB\f\n\n_max_wattsB\u0016\n\u0014_heartbeat_frequencyB\u000e\n\f_mesh_enable\"*\n\u0013plug_switch_message\u0012\u0013\n\u000bplug_switch\u0018\u0001 \u0001(\r\"%\n\u000fbrightness_pack\u0012\u0012\n\nbrightness\u0018\u0001 \u0001(\u0005\"\u001f\n\fmax_cur_pack\u0012\u000f\n\u0007max_cur\u0018\u0001 \u0001(\u0005\"]\n\u0010time_task_config\u0012\u0011\n\ttask_name\u0018\u0001 \u0001(\t\u0012(\n\ntime_range\u0018\u0002 \u0001(\u000b2\u0014.time_range_strategy\u0012\f\n\u0004type\u0018\u0003 \u0001(\u0005\"N\n\u0015time_task_config_post\u0012\r\n\u0005index\u0018\u0001 \u0001(\u0005\u0012&\n\u000btask_config\u0018\u0002 \u0001(\u000b2\u0011.time_task_config\"D\n\tPowerItem\u0012\u0011\n\ttimestamp\u0018\u0001 \u0001(\r\u0012\u0010\n\btimezone\u0018\u0002 \u0001(\u0011\u0012\u0012\n\nplug_power\u0018\u0003 \u0001(\r\"B\n\tPowerPack\u0012\u000f\n\u0007sys_seq\u0018\u0001 \u0001(\r\u0012$\n\u0010sys_power_stream\u0018\u0002 \u0003(\u000b2\n.PowerItem\"\u001f\n\fPowerAckPack\u0012\u000f\n\u0007sys_seq\u0018\u0001 \u0001(\r\"#\n\u000emax_watts_pack\u0012\u0011\n\tmax_watts\u0018\u0001 \u0001(\u0005\"%\n\u000emesh_ctrl_pack\u0012\u0013\n\u000bmesh_enable\u0018\u0001 \u0001(\r\"\u001b\n\bret_pack\u0012\u000f\n\u0007ret_sta\u0018\u0001 \u0001(\bb\u0006proto3
                    

                    So sieht das dann in klartext aus:
                    wn511_socket_sys.proto

                    syntax = "proto3";
                    
                    message rtc_data {
                      optional int32 week = 1 [default = 1];
                      optional int32 sec = 2 [default = 1];
                      optional int32 min = 3 [default = 1];
                      optional int32 hour = 4 [default = 1];
                      optional int32 day = 5 [default = 1];
                      optional int32 month = 6 [default = 1];
                      optional int32 year = 7 [default = 1];
                    }
                    
                    message time_range_strategy {
                      optional bool is_config = 1;
                      optional bool is_enable = 2;
                      optional int32 time_mode = 3;
                      optional int32 time_data = 4;
                      optional rtc_data start_time = 5;
                      optional rtc_data stop_time = 6;
                    }
                    
                    message plug_ack_message {
                      optional int32 ack = 1;
                    }
                    
                    message plug_heartbeat_pack {
                      optional int32 err_code = 1 [default = 1];
                      optional int32 warn_code = 2 [default = 1];
                      optional int32 country = 3 [default = 1];
                      optional int32 town = 4 [default = 1];
                      optional int32 max_cur = 5 [default = 1];
                      optional int32 temp = 6 [default = 1];
                      optional int32 freq = 7 [default = 1];
                      optional int32 current = 8 [default = 1];
                      optional int32 volt = 9 [default = 1];
                      optional int32 watts = 10 [default = 1];
                      optional bool switch = 11;
                      optional int32 brightness = 12 [default = 1];
                      optional int32 max_watts = 13 [default = 1];
                      optional int32 heartbeat_frequency = 14 [default = 1];
                      optional bool mesh_enable = 15;
                    }
                    
                    message plug_switch_message {
                      optional int32 plug_switch = 1;
                    }
                    
                    message brightness_pack {
                      optional int32 brightness = 1;
                    }
                    
                    message max_cur_pack {
                      optional int32 max_cur = 1;
                    }
                    
                    message time_task_config {
                      optional string task_name = 1;
                      optional time_range_strategy time_range = 2;
                      optional int32 type = 3;
                    }
                    
                    message time_task_config_post {
                      optional int32 index = 1;
                      optional time_task_config task_config = 2;
                    }
                    
                    message PowerItem {
                      optional int64 timestamp = 1;
                      optional string timezone = 2;
                      optional int32 plug_power = 3;
                    }
                    
                    message PowerPack {
                      optional int32 sys_seq = 1;
                      repeated PowerItem sys_power_stream = 2;
                    }
                    
                    message PowerAckPack {
                      optional int32 sys_seq = 1;
                    }
                    
                    message max_watts_pack {
                      optional int32 max_watts = 1;
                    }
                    
                    message mesh_ctrl_pack {
                      optional int32 mesh_enable = 1;
                    }
                    
                    message ret_pack {
                      optional bool ret_sta = 1;
                    }
                    
                    FelixCrafter83F Offline
                    FelixCrafter83F Offline
                    FelixCrafter83
                    wrote on last edited by FelixCrafter83
                    #180

                    Ich habe es geschafft alles in Klartext darzustellen hier eine txt Datei:ProtobufsDecoded.txt
                    Das müssten alle aus der App sein.
                    Mann muss sie sich nur etwas zusammenbasteln.

                    1 Reply Last reply
                    1
                    • X Offline
                      X Offline
                      xfirf
                      wrote on last edited by
                      #181

                      Ich versuche diese Anleitung hier nachzustellen:
                      https://haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.htm

                      Wie kommt man denn an die UUID? Irgendwie stehe ich auf dem Schlauch.

                      haus-automatisierungH FelixCrafter83F 2 Replies Last reply
                      0
                      • X xfirf

                        Ich versuche diese Anleitung hier nachzustellen:
                        https://haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.htm

                        Wie kommt man denn an die UUID? Irgendwie stehe ich auf dem Schlauch.

                        haus-automatisierungH Offline
                        haus-automatisierungH Offline
                        haus-automatisierung
                        Developer Most Active
                        wrote on last edited by
                        #182

                        @xfirf sagte in Adapter für Ecoflow Einbindung:

                        Wie kommt man denn an die UUID?

                        Du meinst für die Client-ID? Die kann man sich ausdenken soweit ich mich erinnere. Hauptsache deine userId am Ende stimmt.

                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                        📚 Meine inoffizielle ioBroker Dokumentation

                        1 Reply Last reply
                        0
                        • X xfirf

                          Ich versuche diese Anleitung hier nachzustellen:
                          https://haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.htm

                          Wie kommt man denn an die UUID? Irgendwie stehe ich auf dem Schlauch.

                          FelixCrafter83F Offline
                          FelixCrafter83F Offline
                          FelixCrafter83
                          wrote on last edited by
                          #183

                          @xfirf ich habe hier mal eine funktion für z.B Node-Red:

                          function uuidv4() {
                              return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
                                  var r = Math.random() * 16 | 0,
                                      v = c === 'x' ? r : (r & 0x3 | 0x8);
                                  return v.toString(16);
                              });
                          }
                          
                          msg.payload = uuidv4();
                          return msg;
                          
                          1 Reply Last reply
                          0
                          • X Offline
                            X Offline
                            xfirf
                            wrote on last edited by
                            #184

                            Cool. Danke. :-)

                            Kann ich mit dem Adapter auch einfach nur die Erträge aus dem Powerstream auslesen und im History-Adapter speichern? Ich will nichts steuern sondern nur die Erträge festhalten.

                            1 Reply Last reply
                            0
                            • Z Offline
                              Z Offline
                              zariomahn
                              wrote on last edited by
                              #185

                              Hi @all,

                              lese hier fleißig mit und bin begeistert von der Arbeit von @Waly_de :-)

                              Besitze selbst 2 Delta Pro und das SmartHomePanel, die beiden DP sind über HASS im ioBroker. eingebunden.

                              Nun die Frage die mich brennend interessiert, gibt es eine Möglichkeit mit dem Script von @Waly_de das "SmartHomePanel" auszulesen und im besten Fall auch zu steuern ? Hat das schon jemand geschafft?

                              Danke schon mal im Voraus für ne Antwort, und viele Grüße

                              MZ

                              W 1 Reply Last reply
                              0
                              • Z zariomahn

                                Hi @all,

                                lese hier fleißig mit und bin begeistert von der Arbeit von @Waly_de :-)

                                Besitze selbst 2 Delta Pro und das SmartHomePanel, die beiden DP sind über HASS im ioBroker. eingebunden.

                                Nun die Frage die mich brennend interessiert, gibt es eine Möglichkeit mit dem Script von @Waly_de das "SmartHomePanel" auszulesen und im besten Fall auch zu steuern ? Hat das schon jemand geschafft?

                                Danke schon mal im Voraus für ne Antwort, und viele Grüße

                                MZ

                                W Offline
                                W Offline
                                Waly_de
                                wrote on last edited by
                                #186

                                @zariomahn ich würde einfach mal versuchen die Seriennummer im Script einzugeben. Wenn Du Glück hast bekommst du alle Daten. Die meisten Ecoflow Geräte (zumindest die Deltas) arbeiten ohne Protobuf und sind daher leicht auszulesen.
                                Steuern geht dann theoretisch auch.

                                Z 1 Reply Last reply
                                0
                                • W Waly_de

                                  @zariomahn ich würde einfach mal versuchen die Seriennummer im Script einzugeben. Wenn Du Glück hast bekommst du alle Daten. Die meisten Ecoflow Geräte (zumindest die Deltas) arbeiten ohne Protobuf und sind daher leicht auszulesen.
                                  Steuern geht dann theoretisch auch.

                                  Z Offline
                                  Z Offline
                                  zariomahn
                                  wrote on last edited by
                                  #187

                                  @waly_de
                                  Hab ich versucht, bekomme aber lauter Fehlermeldungen...:face_with_rolling_eyes:

                                  Bildschirmfoto 2023-08-03 um 09.27.43.png

                                  haus-automatisierungH 1 Reply Last reply
                                  0
                                  • Z zariomahn

                                    @waly_de
                                    Hab ich versucht, bekomme aber lauter Fehlermeldungen...:face_with_rolling_eyes:

                                    Bildschirmfoto 2023-08-03 um 09.27.43.png

                                    haus-automatisierungH Offline
                                    haus-automatisierungH Offline
                                    haus-automatisierung
                                    Developer Most Active
                                    wrote on last edited by
                                    #188

                                    @zariomahn Dir fehlt das Modul protobufjs. Hast Du das als Erweiterung im JavaScript-Adapter eingetragen?

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    Z 1 Reply Last reply
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @zariomahn Dir fehlt das Modul protobufjs. Hast Du das als Erweiterung im JavaScript-Adapter eingetragen?

                                      Z Offline
                                      Z Offline
                                      zariomahn
                                      wrote on last edited by
                                      #189

                                      @haus-automatisierung

                                      habe protobufjs im Terminal mit npm install protobufjs installiert.
                                      Muss noch etwas anderes gemacht werden ?

                                      Sorry, bin noch nicht lange mit ioBroker u.s.w. beschäftigt,
                                      komme zwar aus der IT, habe aber immer einen großen Bogen um Programmierung, Skripten u.s.w. gemacht ;-)

                                      viele Grüße

                                      Mz

                                      haus-automatisierungH 1 Reply Last reply
                                      0
                                      • Z zariomahn

                                        @haus-automatisierung

                                        habe protobufjs im Terminal mit npm install protobufjs installiert.
                                        Muss noch etwas anderes gemacht werden ?

                                        Sorry, bin noch nicht lange mit ioBroker u.s.w. beschäftigt,
                                        komme zwar aus der IT, habe aber immer einen großen Bogen um Programmierung, Skripten u.s.w. gemacht ;-)

                                        viele Grüße

                                        Mz

                                        haus-automatisierungH Offline
                                        haus-automatisierungH Offline
                                        haus-automatisierung
                                        Developer Most Active
                                        wrote on last edited by
                                        #190

                                        @zariomahn sagte in Adapter für Ecoflow Einbindung:

                                        habe protobufjs im Terminal mit npm install protobufjs installiert.

                                        Warum das? Bitte in den Instanz-Einstellungen vom JavaScript-Adapter eintragen. Wenn Du manuell per npm etwas machst, dann machst Du IMMER etwas falsch :)

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        Z 1 Reply Last reply
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          @zariomahn sagte in Adapter für Ecoflow Einbindung:

                                          habe protobufjs im Terminal mit npm install protobufjs installiert.

                                          Warum das? Bitte in den Instanz-Einstellungen vom JavaScript-Adapter eintragen. Wenn Du manuell per npm etwas machst, dann machst Du IMMER etwas falsch :)

                                          Z Offline
                                          Z Offline
                                          zariomahn
                                          wrote on last edited by
                                          #191

                                          @haus-automatisierung

                                          Hallo,

                                          Dacht ich muss, steht in der Beschreibung des Scripts...

                                          OK, habs nun so gemacht, und bekomme keine Fehler mehr :grimacing:

                                          Danke

                                          viele Grüße

                                          MZ

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          442

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe