Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für das Tasmota Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Hi,

    ich nutze Gosund SP1 geflasht mit Tasmota 11.
    Lust zu auf Helfen auf jeden Fall, Zeit ist meist das größere Problem, aber wir probieren das mal.

    Grüße
    Gunnar

    Kommentar


      #62
      Zitat von gklein Beitrag anzeigen
      Lust zu auf Helfen auf jeden Fall, Zeit ist meist das größere Problem, aber wir probieren das mal
      Schau mal hier. Da gibt es eine Version mit weiteren Verbesserungen. Damit sollte beim Start das Status richtig geladen werden. Zumindest klappt es bei mir
      Probierst Du mal?

      Hier ist beschrieben, wie man das ein einfachsten macht. Oder einfach hart drüberbügeln.

      Kommentar


        #63
        Ok, probier ich aus. Die Config bleibt gleich oder ist noch was zu ergänzen?

        VG

        Kommentar


          #64
          Zitat von gklein Beitrag anzeigen
          Ok, probier ich aus. Die Config bleibt gleich oder ist noch was zu ergänzen?
          Bleibt alles gleich. Du musst aber alle Dateien aus meinem Repo nutzen (hab die Version hochgezählt und einen Parameter mit einem Default ergänzt).

          Probier mal.

          Kommentar


            #65
            Plugin läuft. ich mach mich mal ans Testen.

            Schönen Sonntag
            Gunnar

            Kommentar


              #66
              Hallo Sisamiwe

              erstes Update/Ergebnis:

              1. Ausgangslage - SHNG läuft, alle Stecker waren online

              ++ WebIF zeigt alles sauber an; Items werden betankt;
              -- Online Status für Power ist noch nicht korrekt, Schalten geht aber. Danach bleibt auch der Status sauber, auch bei Schalten am Stecker - schienbar hakt es noch am init beim Plugin-Start?

              2. Stecker raus und wieder rein
              - Stecker verschwindet sauber im WebIF; Device-Status geht aus flase; Item geht auf Online
              - Online-Status wird wieder sauber erkannt und auch alle Items wieder sauber betankt
              - Schalten geht direkt!!
              - WebIf zeigt auch alles wieder korrekt an

              3. "neuen" Stecker hinzufügen, der beim Starten von SHNG nicht online war

              - wird erkannt und sauber befüllt
              - Power-Status ist korrekt !!

              Grüße
              Gunnar

              Kommentar


                #67
                Hallo,

                ich nochmal. Nachdem die Intgeration der Gosund-Stecker so gut läuft, habe ich jetzt meine Sonoff RF-Bridge noch von Espurna auf Tasmota umgeflasht.
                Das Gerät läuft, Steckdosen sind angelernt und lassen sich auch über das Frontend und MQTT schalten. Das Plugin sieht die Bridge auch schon. 👍

                Eine Thema wo ich jetzt einen Knoten im Kopf habe, ist die Item-Integration. Was ist da Dein Ansatz? Aus der plugin.yaml werde ich so nicht schau.
                Tasmota hat zwei Switche für jedes Relay - einmal ein, einmal aus. Wie krieg ich das jetzt an das Item - zwei Items je Stecker, oder ...?

                Hier ist mal meine erste Item-Conf, was so aber sicher nicht läuft.


                ### Sonoff RF Bridge - 5 Relays

                Sonoff:
                type: bool
                tasmota_topic: sonoff

                Relay1:
                type: bool
                tasmota_topic: ..:.
                tasmota_relay:
                # Status über die beiden Items erkennen
                rf_recv: Rfkey1 Rfkey2
                # sende das angelernte Rf-Signal - aus Tasmota-Doku
                rf_send: 6
                # das macht so ggf. keinen Sinn, da das Plugin entscheiden müsste. Damit wäre nur "um"-schalten möglich.
                rf_key_send: 1 2
                cache: true

                Relay2:
                type: bool
                tasmota_topic: ..:.
                tasmota_relay:
                rf_recv: Rfkey3 Rfkey4
                rf_send: 6
                rf_key_send: 3 4
                cache: true

                Danke und Grüße
                Gunnar

                Kommentar


                  #68
                  gklein

                  Das funktioniert so:
                  Empfang: es gibt ein Item, das den RFkey empfängt. Das Item Trigger eine Logik, in anhand des RfKeys die Aktion ausgelöst wird.
                  Senden: hier wird der RFkey an ein Item übergeben, der das dann sendet.

                  Soviel mal aus der Ferne bzw aus dem Kopf. Beispiele schicke ich, wenn ich wieder zu Hause bin.

                  Beste Grüße



                  Kommentar


                    #69
                    Zitat von gklein Beitrag anzeigen
                    Eine Thema wo ich jetzt einen Knoten im Kopf habe, ist die Item-Integration. Was ist da Dein Ansatz?
                    Wie schon gesagt, ist mein Ansatz for den Empfang von RF-Tastern und auslösen von Aktionen wie folgt:

                    item.yaml:
                    Code:
                    tasmota:
                        sonoff_rf1:
                            online:
                                type: bool
                                tasmota_topic: SONOFF_RF1
                                tasmota_attr: online
                            rf_rec_data:
                                type: str
                                tasmota_topic: SONOFF_RF1
                                tasmota_attr: rf_recv
                            rf_send:
                                type: dict
                                tasmota_topic: SONOFF_RF1
                                tasmota_attr: rf_send
                            rf_key_send:
                                type: dict
                                tasmota_topic: SONOFF_RF1
                                tasmota_attr: rf_key_send
                    und dazu die Logik tasmota_rfbridge_action.py wobei die Logik auf das Item "rf_rec_data" hört bzw. davon getriggert wird:
                    Code:
                    #!/usr/bin/env python3
                    # tasmota_rfbridge_action.py
                    
                    ## Logik, um basierend auf dem Code eines RF-Tasters Aktionen auszuführen
                    
                    
                    logger.info(f"Logik '{logic.id()}' ausgelöst durch: {trigger['by']} und {trigger['source']} mit Wert {trigger['value']}")
                    
                    #Wenn Trigger das Item war, dann RF-Data einlesen
                    if trigger['by'].lower() == 'item':
                        rf_data = trigger['value']
                    
                        ##RF-Data auswerten
                        # Licht Dachboden an bei Empfgang von 3602B2 (links)
                        if rf_data == '3602B2':
                            sh.licht.dg.dachboden.decke.onoff(1)
                        # Licht Dachboden toggeln bei Empfgang von 3602B4 (Mitte)
                        if rf_data == '3602B4':
                            sh.licht.dg.dachboden.decke.onoff(not sh.licht.dachboden.decke.onoff())
                        # Licht Dachboden aus bei Empfgang von 3602B8 (rechts)
                        if rf_data == '3602B8':
                            sh.licht.dg.dachboden.decke.onoff(0)
                        # Licht Garage aus bei Empfang von CC2871
                        if rf_data == 'CC2871':
                            sh.licht.aussen.garage.decke.onoff(0)
                        # Steckdose Waschmaschine aus bei Empfang von 021FE2
                        if rf_data == '021FE2':
                            sh.steckdosen.ug.waschkueche.waschmaschine.onoff(not sh.steckdosen.ug.waschkueche.waschmaschine.onoff())
                            logger.info(f"Steckdose Waschmaschine geschaltet. Neuer Zustand ist {sh.steckdosen.ug.waschkueche.waschmaschine.onoff()}")
                        # Steckdose Wäschetrockner aus bei Empfang von 021FE4
                        if rf_data == '021FE4':
                            sh.steckdosen.ug.waschkueche.waeschetrockner.onoff(not sh.steckdosen.ug.waschkueche.waeschetrockner.onoff())
                            logger.info(f"Steckdose Wäschetrockner geschaltet. Neuer Zustand ist {sh.steckdosen.ug.waschkueche.waeschetrockner.onoff()}")
                    Für das Senden sind die beiden Items "rf_key_send" und "rf_send" da.
                    Schreibst Du die Tastennummer in das Item "rf_key_send", wird diese Aktion auslöst, die im der RF-Bridge für diese Taste hinterlegt ist.
                    In das Item "rf_send" musste Du die RF-Daten direkt schreiben, so dass die RF-Bridge das als RF-Signal versendet. (Die RF-Daten sind die Daten, die bspw. in der RF-Bridge auf einer Taste abgespeichert sind")

                    Hilft Dir das?

                    Michael

                    Kommentar


                      #70
                      Hallo Michael,

                      danke für die Erläuterung. Hatte am Wochenende endlich mal Zeit mich damit auseinander zu setzen. Für mich sieht es aus als wenn wir zwei verschiedene Use-Cases haben. Du ungehst (evtl. mit Absicht?) die Zuordnung im Tasmota, damit lässt sich ja auch die Anzahl der zugeordneten Devices aushebeln.
                      Ich würde die Zuordnung an sich gerne im Tasmota vornehmen. Damit kann ich die Fernbedienung nutzen und sehe den Status im Smarthome und kann auch von dort Schalten (z.b. USZU). Ich nutze das u.a. um meine Sonos-Boxen über Nacht und bei Abwesenhet Offline zu nehmen.
                      Das lässt sich dann heute nur über die Logik zuordnen, geht damit erstmal. 👍

                      Cool wäre als Erweiterung je Item ein Tag On-Key/Off-Key. Der zugehörige RC-Code lässt sich im Tasmota sogar auslesen - "RfKey[1-16] 5"

                      09:21:14.031 CMD: RfKey1 5
                      09:21:14.038 MQT: stat/sonoff/RESULT = {"RfKey1":{"Sync":5630,"Low":190,"High":540,"Da ta" :"015533"}}
                      09:21:18.672 CMD: RfKey2 5
                      09:21:18.679 MQT: stat/sonoff/RESULT = {"RfKey2":{"Sync":5620,"Low":190,"High":530,"Da ta" :"01553C"}}
                      Viele Grüße
                      Gunnar

                      Kommentar


                        #71
                        Zitat von gklein Beitrag anzeigen
                        Cool wäre als Erweiterung je Item ein Tag On-Key/Off-Key. Der zugehörige RC-Code lässt sich im Tasmota sogar auslesen - "RfKey[1-16] 5"
                        Hi,
                        ich kann gern eine Erweiterung einbauen, so dass einem Item direkt ein RfKey oder ein "Rf-Datenset" zugewiesen werden kann. Das Item wird dann aktualisiert, wenn die RF-Bridge den entsprechenden Befehl empfängt.
                        Mir ist aber nicht klar, wie Du das Senden bzw. den Status umsetzen willst. Über das Item kannst Du dann auch den das Senden eines RfKeys auslösen. Wie bekommst Du aber mit, ob An oder Aus geschaltet wurde? Hilf mir mal auf die Sprünge?

                        Beschreibe doch bitte mal Deine Items und RF-Daten.

                        Danke dir.

                        Kommentar


                          #72
                          Hi,

                          ich habe heute mit Erschrecken festgestellt, dass meine Antwort nie hier angekommen ist - strange.
                          Ich hole nochmal mal ein wenig zum Erklären aus. Ich nutze eine Itead 433Mhz Bridge mit Tasmota geflasht - Device "RF Bridge". Das Ganze sieht dann so aus

                          tasmota.jpg

                          Jeden verbundenen Schalter werden 2 Switche zugewiesen, einer für Ein und einer für Aus. Diese können angelernt werden
                          Zum Auslesen des Codes, den Du ja aktuell verwendest, gibt es das Kommando RFfKey[1-16] 5, d.h.

                          Code:
                          14:51:02.724 CMD: RfKey1 5
                          14:51:02.731 MQT: stat/sonoff/RESULT = {"RfKey1":{"Sync":5630,"Low":190,"High":540,"Data" :"015533"}}
                          14:51:07.512 CMD: RfKey2 5
                          14:51:07.520 MQT: stat/sonoff/RESULT = {"RfKey2":{"Sync":5620,"Low":190,"High":530,"Data" :"01553C"}}
                          Mit Kommando "RfKey[1-16] 2", sendet man den gelernten Code raus.

                          Für das Item würde das für mich bedeuten, das man 2 Attribute benötigt - RfKeyOn: 1 (Einschalten) und RfKeyOff: 2 (Ausschalten).
                          Bei Bedarf könnte man dort auch den RF-Code einbauen, das benötigt aber ggf. wieder Deine Auswertung, wenn der Code gleich ist.
                          Empfangen von Signalen der Fernbedienung läuft damit auch und wird dem Key zugeordnet:

                          Code:
                          15:00:52.833 MQT: tele/sonoff/RESULT = {"Time":"2022-04-03T15:00:52","RfReceived":{"Sync":5670,"Low":180," High":540,"Data":"015533","RfKey":1}}
                          15:00:53.294 MQT: tele/sonoff/RESULT = {"Time":"2022-04-03T15:00:53","RfReceived":{"Sync":5640,"Low":190," High":530,"Data":"015500","RfKey":"None"}}
                          15:00:56.323 MQT: tele/sonoff/RESULT = {"Time":"2022-04-03T15:00:56","RfReceived":{"Sync":5680,"Low":170," High":550,"Data":"01553C","RfKey":2}}

                          Heißt zusammen:

                          Code:
                          Sonoff:
                                 type:  bool
                                  tasmota_topic: sonoff
                          
                          Relay1:
                                type:bool
                                tasmota_topic:  ..:.
                                tasmota_relay:
                                              RfKeyOn: 1
                                              RfKeyOff: 2
                          Hoffe das ist verständlich.

                          Grüße und schönen Sonntag
                          Gunnar
                          Zuletzt geändert von gklein; 03.04.2022, 20:29. Grund: Code-Block aufgräumt

                          Kommentar


                            #73
                            Zitat von gklein Beitrag anzeigen
                            Hoffe das ist verständlich.
                            Hallo Gunnar,

                            wie wäre es mit folgendem Vorschlag:

                            Du erstellst ein Item für jeden Steckdose mit dem Typ 'bool'. Im u.a. Beispiel heißt es "sonos_plug_1". Da kannst Du mit USZU etc arbeiten.
                            Hinzu kommt ein on_update attribut. Dazu kommen wir gleich.
                            Weiterhin gibt es in child-item (im Beispiel heißt es "rf_key"). Das Item wir so konfiguriert, dass der RFKey gesendet werden, dessen Wert das Item bekommt. Bedeutet, wird diesem Item der Wert 1 zugewiesen, wir der RFKey1 gesendet, usw.

                            Die Verbindung zwischen den Items stellt das on_update Attribut her. Dieses wird bei jedem Update des Items ausgeführt und besagt in diesem Falle, dass dem Child-Item rf_key der Wert 1 zugewiesen werden soll, wenn der Item-Wert "True" ist ansonsten der Wert 2. Hier musst Du nun die RFKey Nummern einsetzt, mit denen Du Ein- und Aus-schaltest.

                            Code:
                            sonos_plug_1:
                                type: bool
                                enforce_updates: yes
                                struct: uzsu.child
                                on_update: .rf_key = 1 if value == True else 2
                                
                                rf_key:
                                    remark: helper item to send RFKey of item value (e.g. if item value is '1', RFKey1 is send)
                                    type: num
                                    tasmota_topic: SONOFF_RF1
                                    tasmota_attr: rf_key_send
                                    enforce_updates: yes
                            Kannst Du das nachvollziehen?
                            Was meinst Du dazu?

                            Beste Grüße
                            Michael

                            Kommentar


                              #74
                              Ich würde gerne meine Gosund SP111 einbinden, kapier aber die Namensgebung zwischen Tasmota und dem Plugin nicht ganz:

                              1. Die Konfiguration im Stecker

                              Tasmota02.png

                              2. Das sieht man auf der Console

                              11:37:32.449 MQT: NE57/Wohnen/WE-HT-GO-01/tele/SENSOR = {"Time":"2022-05-19T11:37:32","ENERGY":{"TotalStartTime":"2020-04-27T16:01:38","Total":65.651,"Yesterday":0.140,"Tod ay":0.217,"Period": 1,"Power":11,"ApparentPower":22,"ReactivePower": 19 ,"Factor":0.50,"Voltage":230,"Current":0.097}}

                              11:42:32.460 MQT: NE57/Wohnen/WE-HT-GO-01/tele/STATE = {"Time":"2022-05-19T11:42:32","Uptime":"0T05:04:33","UptimeSec":182 73,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"Lo a dAvg":19,"MqttCount":2,"POWER":"ON","Wifi":{"AP":1 ,"SSId":"A","BSSId":"7C:FF:4D5:82:B1","Channel" :6, "Mode":"11n","RSSI":100,"Sign al":-46,"LinkCount":1,"Downtime":"0T00:00:04"}}
                              3. Das liefert der Stecker über den MQTT Explorer

                              Tasmota01.png

                              Aber wie muss ich nun die Items passend anlegen, damit das übereinstimmt und empfangen und gesendet werden kann.

                              Vielleicht könnt ihr mir da ein Besipiel geben, aus der Doku werde ich da nicht wirklich schlau.

                              VG Andi

                              Kommentar


                                #75
                                Hallo,

                                hier mal mein Beispiel dazu

                                item-Config

                                ### Gosund 1 - Kuehlschrank Garage
                                Gosund1:
                                type: bool
                                tasmota_topic: gosund1 -> Feld Client in der MQTT-Config von Tasmota
                                tasmota_attr: online

                                Schalter:
                                type: bool
                                tasmota_topic: ..:.
                                tasmota_attr: relay
                                enforce_updates: true


                                Leistung:
                                tasmota_topic: ..:.
                                tasmota_attr: power
                                type: num

                                Spannung:
                                tasmota_topic: ..:.
                                type: num
                                tasmota_attr: voltage

                                Strom:
                                tasmota_topic: ..:.
                                type: num
                                tasmota_attr: current

                                Energy_total:
                                type: num
                                tasmota_topic: ..:.
                                tasmota_attr: power_total

                                Energy_yesterday:
                                type: num
                                tasmota_topic: ..:.
                                tasmota_attr: power_yesterday

                                Energy_today:
                                type: num
                                tasmota_topic: ..:.
                                tasmota_attr: power_today
                                database: true
                                database_maxage: 730

                                Hilft Dir das schon?

                                Viele Grüße

                                Kommentar

                                Lädt...
                                X