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

    Support Thread für das Tasmota Plugin

    Dieses ist die erste Version des Tasmota Plugins.

    ACHTUNG: Das Plugin ist noch in der Entwicklung und unterstützt bisher nur Tasmota Switches. Es werden bis zu 4 Relais je Device unterstützt.

    Da mehrfach der Wunsch nach einer Tasmota Unterstützung für SmartHomeNG geäussert wurde, veröffentliche ich bereits diesen Entwicklungsstand mit dem kommenden Wartungs-Release v1.7.2 von SmartHomeNG im master Branch. Dadurch erhoffe ich mir Feedback, welche Devices mit Tasmota Firmware eingesetzt werden und welche Device Typen in der Plugin noch integriert werden sollten.

    Aktuell ist die erste Version im develop branch verfügbar. Sie funktioniert nur mit dem aktuellen develop branch des core von SmartHomeNG.

    tasmota_webif.jpg

    Zuletzt geändert von Msinn; 21.06.2020, 20:57.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    #2
    Hallo,

    danke für das Plugin! Läuft einwandfrei und zeigt wie toll smarthomeng ist. Hatte mein Steckdose in unter 5 Minuten eingebunden und vorher noch nie was mit MQTT und tasmota gemacht.

    Ich benutze das Plugin mit Gosound SP111 Zwischensteckern mit Strommessung mit dem folgenden tasmota Template

    {"NAME":"Gosund SP111 2","GPIO":[56,0,57,0,132,134,0,0,131,17,0,21,0],"FLAG":0,"BASE":18}.

    Items für den Verbrauch und die Spannungs/Strommessung wären noch schön.

    Kommentar


      #3
      Ich habe bisher nur ein Tasmota fähiges Device, welches keine Spannungs-/Strommessung beherrscht. Ich nehme das aber mal ins Backlog auf. Ob das bis zum kommenden Release klappt kann ich noch nicht sagen.
      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        #4
        android Die Erweiterung des Tasmota Plugins hat es in das Release 1.8 geschafft. Nun kannst Du auch die Spannung und die Leistungsinformatinen in Items einlesen. Ausserdem siehst Du in SmartHomeNG auch den richtigen Status, falls direkt an der Steckdose ein- bzw. Ausgeschalter wird.

        Siehe http://www.smarthomeng.de/user/plugins/tasmota/user_doc.html
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Danke. Werde die Tage auf 1.8 gehen und dann testen und berichten.

          Kommentar


            #6
            Warte am besten gleich auf das Bugfix Release v1.8.1 (Das hat zwar keine Tasmota Änderungen, aber andere Bug Fixes)
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #7
              Hallo Martin,

              ich bin gerade dabei einige Rollladen umzustellen. Hier kommt der Shelly 2.5 mit Tasmota zum Einsatz. Ich würde gerne mal das Plugin ausprobieren. Die beiden Relais zu schalten wird kein Problem sein, denke ich zumindest. Es gibt aber auch eine Funktion bei der man den Rolladen auf Position fahren kann. Das wäre evtl. noch eine sinnvolle Erweiterung.

              Gruß
              Michael

              Kommentar


                #8
                Hallo zusammen,

                ich habe nun angefangen zu testen:

                SmartHomeNG: V 1.8.1

                Device 1: ganz normaler shelly 1 mit Tasmota 8.2
                Device 2: Shelly 2.5 als Rolladen konfiguriert und mit Energiemessung. Tasmota 9.2

                hier mal meine items:
                PS: Nicht auf die Einrückung achten... die habe ich hier von Hand nachgezogen...
                Code:
                dg:
                    klima_moritz:
                        onl:
                            type: bool
                            visu_acl: rw
                           database: yes
                           database_maxage: 90
                           enforce_change: yes
                           tasmota_topic: klima_moritz
                           tasmota_attr: online
                        s1:
                           type: bool
                           visu_acl: rw
                           database: yes
                           database_maxage: 90
                           enforce_change: yes
                           tasmota_topic: klima_moritz
                           asmota_attr: relay
                           tasmota_relay: 1
                eg:
                    rolladen_bad:
                        onl:
                           type: bool
                           visu_acl: rw
                           database: yes
                           database_maxage: 90
                           enforce_change: yes
                           tasmota_topic: rolladen_bad
                           tasmota_attr: online
                       auf:
                           type: bool
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: relay
                           tasmota_relay: 1
                       zu:
                           type: bool
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: relay
                           tasmota_relay: 2
                       volt:
                           type: num
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: voltage
                       curr:
                           type: num
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: current
                       power:
                           type: num
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: power
                       power_gesamt:
                           type: num
                           visu_acl: rw
                           tasmota_topic: rolladen_bad
                           tasmota_attr: power_total
                wenn ich nun das Webinterface im plugin aufrufe kommt folgender Fehler.

                PHP-Code:
                2021-02-12 12:59:25 ERROR cherrypy.error.140189034067392 [12/Feb/2021:12:59:25HTTP
                Traceback 
                (most recent call last):
                File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py"line 638in respond
                self
                ._do_respond(path_info)
                File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cprequest.py"line 697in _do_respond
                response
                .body self.handler()
                File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/lib/encoding.py"line 219in __call__
                self
                .body self.oldhandler(*args, **kwargs)
                File "/home/smarthome/.local/lib/python3.7/site-packages/cherrypy/_cpdispatch.py"line 54in __call__
                return self.callable(*self.args, **self.kwargs)
                File "/usr/local/smarthome/plugins/tasmota/webif/__init__.py"line 81in index
                return tmpl.render(p=self.pluginitems=sorted(self.items.return_items(), key=lambda kstr.lower(k['_path'])))
                File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py"line 1090in render
                self
                .environment.handle_exception()
                File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py"line 832in handle_exception
                reraise
                (*rewrite_traceback_stack(source=source))
                File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/_compat.py"line 28in reraise
                raise value
                .with_traceback(tb)
                File "/usr/local/smarthome/plugins/tasmota/webif/templates/index.html"line 237in top-level template code
                {% set tab4title "<strong>" " Broker Information</strong>" %}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html"line 183in top-level template code
                {% if scroll_heading is not defined %}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html"line 1in top-level template code
                {% block doc -%}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html"line 4in block "doc"
                {%- block html %}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html"line 76in block "html"
                {% block body -%}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base.html"line 79in block "body"
                {% block content -%}
                File "/usr/local/smarthome/modules/http/webif/gtemplates/base_plugin.html"line 160in block "content"
                {% block bodytab3 %}
                File "/usr/local/smarthome/plugins/tasmota/webif/templates/index.html"line 214in block "bodytab3"
                <td class="py-1">{{ p.tasmota_devices[device].energy_sensors.voltage }}V</td>
                File "/home/smarthome/.local/lib/python3.7/site-packages/jinja2/environment.py"line 471in getattr
                return getattr(objattribute)
                jinja2.exceptions.UndefinedError'dict object' has no attribute 'energy_sensors' 
                evtl. jemand eine Idee? Habe auch schon nur den einen Shelly 1 ausprobiert... passiert das selbe.

                Gruß
                Michael
                Zuletzt geändert von macke384; 12.02.2021, 17:43.

                Kommentar


                  #9
                  hallo zusammen,
                  hier ein kurzer Nachtrag. Ich habe nochmals ein Testsystem aufgesetzt... Hier tritt der Fehler mit dem Webinterface nicht auf.

                  Den folgenden Fehler mit den Werten konnte ich lösen. Die werte werden vom Plugin als type List gesendet.

                  2021-02-12 14:29:11 WARNING lib.item.item Item eg.rolladen_bad.curr: value "[0.0, 0.0]" does not match type num. Via tasmota rolladen_bad:SENSOR
                  2021-02-12 14:29:11 WARNING lib.item.item Item eg.rolladen_bad.power: value "[0, 0]" does not match type num. Via tasmota rolladen_bad:SENSOR

                  Durch einen on_change Eintrag in items werden die beiden Werte aus der "Hilfsvariablen" in die beiden Variablen geteilt.

                  PHP-Code:

                  eg
                  :
                      
                  rolladen_bad:
                          
                  curr:
                               
                  type: list
                               
                  visu_aclrw
                               tasmota_topic
                  rolladen_bad
                               tasmota_attr
                  current
                               on_change
                  :
                                   - 
                  sh...curr1 value [0]
                                   - 
                  sh...curr2 value [1]
                          
                  curr1:
                               
                  typenum
                               visu_acl
                  rw
                          curr2
                  :
                               
                  typenum
                               visu_acl
                  rw
                          power
                  :
                               
                  type: list
                               
                  visu_aclrw
                               tasmota_topic
                  rolladen_bad
                               tasmota_attr
                  power
                               on_change
                  :
                                   - 
                  sh...pow1 value [0]
                                   - 
                  sh...pow2 value [1]
                          
                  pow1:
                               
                  typenum
                               visu_acl
                  rw
                          pow2
                  :
                               
                  typenum
                               visu_acl
                  rw 



                  Gruß
                  Michael
                  Zuletzt geändert von macke384; 12.02.2021, 17:41.

                  Kommentar


                    #10
                    4-fach Steckdosenleiste mit Tasmota 8.4.0.1

                    Hallo!
                    Ich bräuchte Hilfe bei einer 4-fach Steckdosenleiste (mit USB-Ports), die mit Tasmota 8.4.0.1 läuft und an SmartHomeNG [1.8.1.master (84873f74)] angebunden ist. Alles ist soweit in Ordnung, bis auf...

                    Relay 4 (alle anderen zeigen das Verhalten nicht!):
                    Nachdem das Relay 4 angeschaltet (bool=true) wird, springt es im Admin-Interface nach kurzer Zeit auf aus (bool=false). Angezeigt wird:
                    Code:
                    Änderungsinformationen:
                    Letztes Update                  11.03.2021 08:28:54 CET
                    Letze Änderung                  11.03.2021 08:28:54 CET
                    Zeit seit dem letzten Update    33.59 Sekunden
                    Zeit seit dem letzten Change    33.59 Sekunden
                    Update durch tasmota:           Steckdosenleiste_4-Fach:STATE
                    Change durch tasmota:           Steckdosenleiste_4-Fach:STATE
                    letzter Wert                    true
                    vorheriges Update               11.03.2021 08:27:50 CET
                    vorherige Änderung              11.03.2021 08:27:50 CET
                    Zeit seit dem vorh. Update      1 Minute, 4.23 Sekunden
                    Zeit seit dem vorh. Change      1 Minute, 4.23 Sekunden
                    vorheriges Update durch         admin
                    vorherige Änderung durch        admin
                    In Wirklichkeit ist das Relay 4 aber noch angeschaltet. D.h. der Schaltzustand in SmartHomeNG und der tatsächliche stimmen nicht überein.

                    Außerdem kommt noch folgende Warnung zum Bool-Item:
                    Code:
                    2021-03-11 08:23:54 WARNING lib.item.item Item tasmota_sh140.switch_4: value "15" does not match type bool. Via tasmota Steckdosenleiste_4-Fach:STATUS
                    Irgendwelche Hinweise?

                    Beste Grüße
                    Michael

                    Hier noch die Item-Definition:
                    Code:
                    tasmota_sh140:
                        switch_1:
                            type: bool
                            tasmota_topic: Steckdosenleiste_4-Fach
                            tasmota_attr: relay
                            tasmota_relay: 1
                            visu_acl: rw
                        switch_2:
                            type: bool
                            tasmota_topic: Steckdosenleiste_4-Fach
                            tasmota_attr: relay
                            tasmota_relay: 2
                            visu_acl: rw
                        switch_3:
                            type: bool
                            tasmota_topic: Steckdosenleiste_4-Fach
                            tasmota_attr: relay
                            tasmota_relay: 3
                            visu_acl: rw
                        switch_4:
                            type: bool
                            tasmota_topic: Steckdosenleiste_4-Fach
                            tasmota_attr: relay
                            tasmota_relay: 4
                            visu_acl: rw
                        online:
                            type: bool
                            tasmota_topic: Steckdosenleiste_4-Fach
                            tasmota_attr: online
                    Zuletzt geändert von knxms; 11.03.2021, 09:12. Grund: Warnung noch hinzugefügt.

                    Kommentar


                      #11
                      Plugin Funktionserweiterung

                      Hallo,
                      und jetzt nochmal im richtigen Thread....

                      ich habe das Tasmota-Plugin um ein paar Funktionen erweitert. Implementiert habe ich
                      • Version auf 1.1.0 hochgesetzt
                      • Sensoren DS18B20 und AM2301 (angeschlossen über GPIO an den ESP)
                      • RGBW-Controller (H801) mit Auswertung und Steuerung über HSB
                      • Empfang von RF-Daten aus der SONOFF-RF Bridge
                      Die UserDoku und das Webinterface habe ich noch in Arbeit. Kommt bald.

                      Die beiden angepassten Files des Plugins habe ich mal hier beigefügt. Vielleicht kann jemand man drüber schauen.

                      Danke.
                      Angehängte Dateien

                      Kommentar


                        #12
                        @macke384: Frage zu #8

                        Was war denn die Ursache des Fehlers beim Aufruf des Webinterfaces (Tasmota-Plugin)?

                        Kommentar


                          #13
                          Zitat von knxms Beitrag anzeigen
                          Was war denn die Ursache des Fehlers beim Aufruf des Webinterfaces (Tasmota-Plugin)?
                          Ich hatte das auch.
                          Das Problem liegt darin, dass es unter gewissen Umständen dazu kommt, dass in dem Dict, aus dem das WebInterface die Daten zieht, den Key "energy_sensors" nicht findet, bzw es diesen nocht gibt.
                          Daher die Fehlermeldung: "jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'energy_sensors'

                          Abhilfe schafft, wenn Du in der plugins/tasmota/webif/templates/index.html folgende Änderung in Zeile 201 machst:

                          Code:
                          {% if p.tasmota_devices[device]['energy_sensors'] == {} %}
                          ersetzten durch
                          {%  if 'energy_sensors' in p.tasmota_devices[device] and p.tasmota_devices[device]['energy_sensors'] != {} %}
                          Damit sollte es gehen.

                          Ich arbeite an einer Funktionserweiterung des Plugins. Da wäre das auch mit korrigiert.

                          Michael


                          Kommentar


                            #14
                            Danke für den Hinweis; es ändert aber leider bei mir nichts an der Fehlermeldung beim Aufruf des Webinterfaces.

                            Kommentar


                              #15
                              Zitat von knxms Beitrag anzeigen
                              leider bei mir nichts an der Fehlermeldung beim Aufruf des Webinterfaces.
                              Dann poste doch mal Deine Fehlermeldung

                              Kommentar

                              Lädt...
                              X