Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Tasmota 10 und sonoff adapter

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    683

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.0k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    900

Tasmota 10 und sonoff adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
tasmota 10
39 Beiträge 8 Kommentatoren 934 Aufrufe 5 Beobachtet
  • Ä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.
  • liv-in-skyL liv-in-sky

    @haselchen

    ich denke, ich werde diese form einfach escapen - sind bei dir alle so ? mit dem Info_...

    haselchenH Offline
    haselchenH Offline
    haselchen
    Most Active
    schrieb am zuletzt editiert von
    #29

    @liv-in-sky

    Ab Version 9.3.1 , ja

    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • haselchenH haselchen

      @liv-in-sky

      Ab Version 9.3.1 , ja

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #30

      @haselchen

      und so sieht es bei jmd anders mit tasmota 10 aus:

      1619938131500-dcfc469f-2801-4a85-b9d8-ad0b2c5c4ff6-image.png

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      haselchenH 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @haselchen

        und so sieht es bei jmd anders mit tasmota 10 aus:

        1619938131500-dcfc469f-2801-4a85-b9d8-ad0b2c5c4ff6-image.png

        haselchenH Offline
        haselchenH Offline
        haselchen
        Most Active
        schrieb am zuletzt editiert von
        #31

        @liv-in-sky

        Scheint bei den Adaptern MQTT und Sonoff eine verschiedene Herangehensweise zu sein, wie Datenpunkte bzw Ordner angelegt werden.

        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • haselchenH haselchen

          @liv-in-sky

          Scheint bei den Adaptern MQTT und Sonoff eine verschiedene Herangehensweise zu sein, wie Datenpunkte bzw Ordner angelegt werden.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #32

          @haselchen bist du in mqtt oder sonoff adapter

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          haselchenH F 2 Antworten Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @haselchen bist du in mqtt oder sonoff adapter

            haselchenH Offline
            haselchenH Offline
            haselchen
            Most Active
            schrieb am zuletzt editiert von
            #33

            @liv-in-sky

            Ganz geschmeidig im Sonoff Adapter.
            Der MQTT hatte rumgezickt, wurde immer grün gelb grün gelb...

            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.7, Nodejs 22.22.2 ,JS Controller 7.0.7 ,Admin 7.8.24

            1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @haselchen bist du in mqtt oder sonoff adapter

              F Online
              F Online
              fastfoot
              schrieb am zuletzt editiert von
              #34

              @liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:

              /**
               * Zweck:   Leichterer Zugriff auf Tasmota Info DP
               * Datum:   09.11.2011
               * Autor:   @fastfoot
               * Forum:   https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34
               */
              const dbg = true;
              const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota';
              
              class Tasmota {
                  constructor(id) {
                      this._getDps(id);
                  }
                  get hostname() { return getState(this.dp.hostname).val; }
                  get ipaddress() { return getState(this.dp.ipaddress).val; }
                  get module() { return getState(this.dp.module).val; }
                  get version() { return getState(this.dp.version).val; }
                  get restartreason() { return getState(this.dp.restartreason).val; }
                  getId(state){return this.dp[state]}
                  _getDps(id) {
                      const states = $(`${id}*`);
                      this.dp={};
                      states.each(state => {
                          const dp = state.split('.').pop();
                          let attr = dp.slice(dp.indexOf('_') + 1);
                          this.dp[attr.toLowerCase()] = state;
                      })
                  }
              }
              const l1 = new Tasmota(DevicesBasePath + '.Licht1');
              const l2 = new Tasmota(DevicesBasePath + '.Licht2');
              log('hostname: ' + l1.hostname)
              log('ip: ' + l2.ipaddress)
              log('rgb: ' + getState(l2.getId('rgb')).val)
              log('version: ' + getState(l1.getId('version')).val)
              
              
              

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              liv-in-skyL 2 Antworten Letzte Antwort
              0
              • F fastfoot

                @liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:

                /**
                 * Zweck:   Leichterer Zugriff auf Tasmota Info DP
                 * Datum:   09.11.2011
                 * Autor:   @fastfoot
                 * Forum:   https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34
                 */
                const dbg = true;
                const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota';
                
                class Tasmota {
                    constructor(id) {
                        this._getDps(id);
                    }
                    get hostname() { return getState(this.dp.hostname).val; }
                    get ipaddress() { return getState(this.dp.ipaddress).val; }
                    get module() { return getState(this.dp.module).val; }
                    get version() { return getState(this.dp.version).val; }
                    get restartreason() { return getState(this.dp.restartreason).val; }
                    getId(state){return this.dp[state]}
                    _getDps(id) {
                        const states = $(`${id}*`);
                        this.dp={};
                        states.each(state => {
                            const dp = state.split('.').pop();
                            let attr = dp.slice(dp.indexOf('_') + 1);
                            this.dp[attr.toLowerCase()] = state;
                        })
                    }
                }
                const l1 = new Tasmota(DevicesBasePath + '.Licht1');
                const l2 = new Tasmota(DevicesBasePath + '.Licht2');
                log('hostname: ' + l1.hostname)
                log('ip: ' + l2.ipaddress)
                log('rgb: ' + getState(l2.getId('rgb')).val)
                log('version: ' + getState(l1.getId('version')).val)
                
                
                
                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #35

                @fastfoot danke - aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen - aber ich schaue es mir nochmal an

                @haselchen danke fürs testen

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                F 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @fastfoot danke - aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen - aber ich schaue es mir nochmal an

                  @haselchen danke fürs testen

                  F Online
                  F Online
                  fastfoot
                  schrieb am zuletzt editiert von
                  #36

                  @liv-in-sky sagte in Tasmota 10 und sonoff adapter:

                  aber dann muss ich die klassen auf die unterschiedlichen möglichkeiten anpassen

                  eigentlich ist dafür getId() vorgesehen. Statt unterschiedliche Pfade abzufragen frägst du nur den Statenamen ab, also zB rgb, on etc.. In der Klasse sind die Datenpunkte dazu gespeichert. In den gettern sind halt nur die hier im Thread behandelten Info-Punkte implementiert

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  1 Antwort Letzte Antwort
                  0
                  • WalW Offline
                    WalW Offline
                    Wal
                    Developer
                    schrieb am zuletzt editiert von
                    #37

                    Hilft zwar jetzt nicht, aber für's nächste mal :
                    Wenn ich in Skripten mit Datenpunkten arbeite, nutze ich den alias-manager Adapter. Dort weise ich den Variablen die ich im Skript nutze die Datenpunkte zu. Wenn sich dann ein Datenpunkt mal ändert, muss ich das nur im alias-manager machen und das Skript bleibt unberührt.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    1 Antwort Letzte Antwort
                    0
                    • F fastfoot

                      @liv-in-sky ich wollte mal was mit Klassen machen. Bin nicht sicher ob ich das richtig getroffen habe aber vielleicht hilft das hier etwas:

                      /**
                       * Zweck:   Leichterer Zugriff auf Tasmota Info DP
                       * Datum:   09.11.2011
                       * Autor:   @fastfoot
                       * Forum:   https://forum.iobroker.net/topic/49205/tasmota-10-und-sonoff-adapter/34
                       */
                      const dbg = true;
                      const DevicesBasePath = '0_userdata.0.Forum.MQTT.Tasmota';
                      
                      class Tasmota {
                          constructor(id) {
                              this._getDps(id);
                          }
                          get hostname() { return getState(this.dp.hostname).val; }
                          get ipaddress() { return getState(this.dp.ipaddress).val; }
                          get module() { return getState(this.dp.module).val; }
                          get version() { return getState(this.dp.version).val; }
                          get restartreason() { return getState(this.dp.restartreason).val; }
                          getId(state){return this.dp[state]}
                          _getDps(id) {
                              const states = $(`${id}*`);
                              this.dp={};
                              states.each(state => {
                                  const dp = state.split('.').pop();
                                  let attr = dp.slice(dp.indexOf('_') + 1);
                                  this.dp[attr.toLowerCase()] = state;
                              })
                          }
                      }
                      const l1 = new Tasmota(DevicesBasePath + '.Licht1');
                      const l2 = new Tasmota(DevicesBasePath + '.Licht2');
                      log('hostname: ' + l1.hostname)
                      log('ip: ' + l2.ipaddress)
                      log('rgb: ' + getState(l2.getId('rgb')).val)
                      log('version: ' + getState(l1.getId('version')).val)
                      
                      
                      
                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #38

                      @fastfoot sagte in Tasmota 10 und sonoff adapter:

                      habe das nochmal angesehen - habe nicht so viel erfahrung mit class. habe mal vor langer zeit ein java project gemacht - ist lange her.
                      das gefällt mir besonders:

                       states.each(state => {
                                  const dp = state.split('.').pop();
                                  let attr = dp.slice(dp.indexOf('_') + 1);
                                  this.dp[attr.toLowerCase()] = state
                      

                      leider bin ich da am selben problem - ich muss die abfragen, um was es für dp geht , auch auf alle möglichkeiten hin abfragen. z.b dein attr. das beginnt nicht immer mit _Illuminance - es wird mittlerweile mit nur Illuminance im dp geschrieben, dafür ist es in einem anderen ordner in der sonoff-instanz

                      letztlich ist aber dein vorschlag interessant - man kann mit einer klasse alles abdecken - muss halt gut geschrieben sein - ändert sich was, muss nur die class geändert werden und nicht überall mit if gearbeitet werden

                      in meinem tabellescript werde ich das nicht verwenden - ist mir im moment zuviel anpassung

                      aber ich versuche gerade ein neues project - ich habe den firetv adapter nie stabil zum laufen bekommen - evtl versuche ich da mal was mit class und einem script ans laufen zu bekommen

                      auf jeden fall danke für die idee

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      F 1 Antwort Letzte Antwort
                      0
                      • liv-in-skyL liv-in-sky

                        @fastfoot sagte in Tasmota 10 und sonoff adapter:

                        habe das nochmal angesehen - habe nicht so viel erfahrung mit class. habe mal vor langer zeit ein java project gemacht - ist lange her.
                        das gefällt mir besonders:

                         states.each(state => {
                                    const dp = state.split('.').pop();
                                    let attr = dp.slice(dp.indexOf('_') + 1);
                                    this.dp[attr.toLowerCase()] = state
                        

                        leider bin ich da am selben problem - ich muss die abfragen, um was es für dp geht , auch auf alle möglichkeiten hin abfragen. z.b dein attr. das beginnt nicht immer mit _Illuminance - es wird mittlerweile mit nur Illuminance im dp geschrieben, dafür ist es in einem anderen ordner in der sonoff-instanz

                        letztlich ist aber dein vorschlag interessant - man kann mit einer klasse alles abdecken - muss halt gut geschrieben sein - ändert sich was, muss nur die class geändert werden und nicht überall mit if gearbeitet werden

                        in meinem tabellescript werde ich das nicht verwenden - ist mir im moment zuviel anpassung

                        aber ich versuche gerade ein neues project - ich habe den firetv adapter nie stabil zum laufen bekommen - evtl versuche ich da mal was mit class und einem script ans laufen zu bekommen

                        auf jeden fall danke für die idee

                        F Online
                        F Online
                        fastfoot
                        schrieb am zuletzt editiert von
                        #39

                        @liv-in-sky sagte in Tasmota 10 und sonoff adapter:

                        z.b dein attr. das beginnt nicht immer mit _Illuminance - es wird mittlerweile mit nur Illuminance im dp geschrieben, dafür ist es in einem anderen ordner in der sonoff-instanz

                        aber das ist doch der Sinn der Klasse! Du möchtest einen DP abfragen der irgendwas mit illuminance enthält, entweder _illuminance oder Info1_Illuminance oder auch Info2.illuminance usw. Mit der Klasse werden die Attribute vereinfacht zu illuminance, egal in welcher Hierarchie sie stehen. Alles vor und incl. _ wird gelöscht. Das wäre auch schon der Nachteil, im tr-064 Adapter gibt es jede Menge json DP, da klappt das nur wenn man nicht den gesamten Adapter durchsucht sondern nur den nächst höheren Level. Für normale Geräte sollte es aber nur ein on oder rgb oder volume etc. geben und da ist es dann egal wo sie stehen.

                        In einer 2ten Version habe ich die Getter dynamisch erstellt, d.h. man muss die Klasse nicht anpassen sondern greift einfach auf NeuesLicht.NeuesFeature zu und erhält den Wert ohne ihn vorher in der Klasse explizit definiert zu haben und ohne zu wissen wo er genau steht. Auch ist es so erweitert dass man auch auf den Originalnamen zugreifen kann, also device.hostname und device.Info1_hostname liefern den gleichen Wert

                        Ich habe mir Teile deines Skriptes angesehen und denke immer noch dass das genau das ist was du brauchst. Allerdings müssen die DP eindeutige Namen haben, rgb etc darf nicht zweimal erscheinen.

                        iobroker läuft unter Docker auf QNAP TS-451+
                        SkriptRecovery: https://forum.iobroker.net/post/930558

                        1 Antwort Letzte Antwort
                        0

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

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

                        349

                        Online

                        32.9k

                        Benutzer

                        83.1k

                        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