D0 Zähler SML auslesen mit Tasmota

  • Hallo sunburstc

    ich gebe ja die Werte an die Influxdb Datenbank weiter, und dorthin kann ich nach meinem Verständnis einzelne Werte besser hineinschreiben als diese Sammelwerte.

    Da ich diese dann auch nochmal aus der Datenbank heraushole und mit Excel auch verarbeiten zu können.

    Deshalb möchte ich ja dieses System beibehalten.

    Ich habe:

    4 Wettersensoren

    18 Gosund Steckdosen mit Zählerständen und Verbrauchsanzeigen

    4 OBI Steckdosen ohne Messeinrichtung

    2x Shelly1

    2x Shelly1 PM

    1 WGS Zähler

    1x Wemos

    Deshalb möchte ich meine Struktur beibehalten weil ich über "topic" diese Geräte unterscheide, wo sie sind oder was sie für Geräte schalten.

    Ich teste jetzt nochmal dein beispiel mir s4 und s5

  • Hallo sunburstc

    Zitat

    Genau dieses Problem habe ich dann auch:

    https://github.com/jziolkowski/tdm/issues/100

    Direkt nach dem Start stürzt das Programm ab. Erst konnte ich es noch starten, nachdem ich meine Broker-Daten eingegeben hatte hat wurden keine Geräte angezeigt, unten links stand Connectet mit IP-Adresse port trotzdem keine Geräte gefunden

    Jetzt stürzt das Programm direkt nach dem start ab sowohl die 64bit als auch die x86 Version!

    Alles was ich heute machen möchte funktioniert nicht :(8|

    Einmal editiert, zuletzt von meierchen006 (30. August 2020 um 19:05)

  • Hallo sunburstc

    so jetzt habe ich evt. doch eine Lösung gefunden meine "retained Nachrichten" zu entfernen:

    Im Netzt gefunden hier Dort unter dem Punkt:

    Wenn Sie den Mosquitto MQTT-Broker verwenden, deaktivieren Sie "Beibehaltene Nachrichten" mit der von Mosquitto bereitgestellten offiziellen Methode

    • in der Datei mosquitto.conf eingefügt "persistence false" statt " persistence true"
    • Datei speichern
    • danach ein "sudo reboot"
    • dann im ioBroker weiter
    • unter MQTT ganz rechts über den Mülleimer alle nicht vorhandenen einträge gelöscht.
    • danach noch zweimal "sudo reboot" gemacht Retain Geräte/Einträge/Nachrichten bisher nicht wieder da
  • Hallo,

    das von oben scheint bei allem zu funktionieren nur an meine Garage werden dann auch keine Positionen mehr gemeldet. Nachdem eine Reedkontakt von "Tor zu" eine "1" wird sie beim öffnen nicht mehr auf "0" im ioBroker geändert, am Wemos selbst funktioniert alles wie gehabt.

    Somit funktioniert zwar das obige; musste es aber wierder auf " persistence true" setzen da wie geschrieben es scheinbar auch Nachteile für mich in diesem Fall hatte!

  • meierchen006

    Gut, dass es nun klappt!

    Im Prinzip ging es ja auch nur darum die Retain Messages zu löschen. Ansonten lief der MQTT Server ja.


    Verstehe ich es richtig, dass du nicht den Sonoff Adapter sondern den MQTTServer in ioBroker verwendest?

    Dann ergibt das natürlich auf einmal alles einen Sinn.

    Wenn du den sonoff Adapter verwenden würdest, würde der aus diesem JSON String automatisch einzelne Datenpunkte erzeugen.

    Deshalb bekam ich auch bei deiner telemessage keine Datenpunkte. Ich nutze den sonoff Adapter.

    Wie hast du es nun gelöst?

  • hab jetzt neuen Stromzähler bekommen EBZ DD3Bz06 es ist ein OBIS Zähler Pin von dem Versorger bekommen ,alles was möglich war freigeschaltet.

    Mein Script sieht so aus

    Alle funktioniert.

    Was ich gerne noch machen würde ist Tages ,Monat, Jahr Anzeige für gesamt Verbrauch .

    hat jemand so ein Zähler und einen passenden Script? mit Variablen blicke irgentwie nicht durch :(

  • djuscha Hier, ein eben zusammengeschriebenes Beispiel. Keine Garantie das es läuft.

    Das beste ist, wenn du dich selbst ein wenig damit beschäftigst. Es gibt viele Beispiele in der Tasmota Doc im Bereich SML und auch Scripting.

    Die Kommentare kannst du um Zeichen zu sparen direkt weglassen.

    Am besten nutzt du den fantastischen Editor zum Hochladen.

    Um mehr Zeichen zur Verfügung zu haben, beachte die Hinweise dazu auf der Tasmota Scripting Seite (Script buffer size), oder ein paar Seiten vorher hier im Forum.

    Nötige Definitionen beim Kompilieren:

    Code
    #define USE_SML_M
    #define USE_SCRIPT_WEB_DISPLAY

    Alternativ, falls du zusätzlich mit:

    Code
    #define USE_SML_SCRIPT_CMD
    #define USE_SCRIPT_SUB_COMMAND

    kompiliert hast.


  • Hallo sunburstc

    ja ich nutze nicht den Sonoff Adapter sondern den MQTT Adapter im ioBroker:

    wenn ich dich richtig verstehe nutzt du diesen:


    Eingestellt ist das im Script wie schon mehrmals gezeigt. Im MQTT-Adapter dann so:

    die mit den Kreuzen sind die Datenpunkte wie sie dann in MQTT ankommen

    So wird dann in die Datenbank gespeichert/übergeben (Influxdb)

    wie sieht das bei dir im Sonoff aus?

  • meierchen006

    Ja genau, ich nutze den Sonoff Adapter. Fand den einfach handlicher. Mich nervten die Datenpunkte wie du Sie unter Info1-3 hast.

    Also das die JSON Strings direkt als Datenpunkt ankommen und nicht aufgedröselt werden.

    Aufgrund des rumprobierens, sind jetzt natürlich deine Datenpunkte auch noch bei mir vorhanden. Hatte sie noch nicht gelöscht. So hätte es aussehen können :P

    Siehe Foto:

    Einmal editiert, zuletzt von sunburstc (31. August 2020 um 16:07)

  • Hallo sunburstc

    ich bin zur Zeit daran eine aktuelle Firmware zu erstellen

    Download von Tasmota Firmware Version 8.4.0.3 => Download heute Morgen 31.08.2020 09:08

    Download von gemu2015 Firmware Version 8.4.0.2=> Download heute Morgen 31.08.2020 09:06

    In beiden Versionen kann ich kein "BME280" darstellen steht oben nur ein @ Zeichen:

    so sieht es noch bei 8.1.0.9 aus

    2 Mal editiert, zuletzt von meierchen006 (31. August 2020 um 16:14)

  • meierchen006

    Füge in deiner config_override mal

    Code
    //BME280 Support
    #define USE_I2C
    #define USE_BMP

    hinzu.

    Sensoren sind in der Standard Version (my_user_config.h) nun grundsätzliche alle deaktiviert. Deshalb gibt es die Tasmota_Sensors.bin.

    Von daher musst du also nicht nur das "undef" auskommentieren in deiner override (was du ja bereits getan hast), sondern auch noch zusätzlich definieren, dass dieser Treiber überhaupt geladen wird.


    djuscha Dann hast du nicht gut gelesen was ich schrieb.

    Ich habe ausdrücklich darauf hingewiesen das bestimmte definitionen beim Kompilieren vorhanden sein müssen.

    Einmal editiert, zuletzt von sunburstc (31. August 2020 um 18:29)

  • @sunburstc o doch

    Code
    #define USE_SML_M
    #define USE_SCRIPT_WEB_DISPLAY

    das hab ich beim kompilieren im Code gehabt, zweite Version hab ich nur als Test ausprobiert. Hab danach nochmal den Code überprüft die zwei define waren drin.

  • djuscha

    Alles was im Code in der >W Sektion steht, wird in der WebGUI angezeigt.

    Sofern #define USE_SCRIPT_WEB_DISPLAY beim kompilieren vorhanden ist.

    Was sagt die WebConsole beim Speichern des Skripts?

    Bitte vorher Weblog 4 in die WebConsole eingeben.

    Irgendwelche Fehlermeldungen?

  • Hallo sunburstc

    wann ist denn die Änderung gekommen, muss irgenwie an mir vorbei gegangen sein, dabei lese ich fast jeden Tag in den beiden Quellen?

    Danke hat funktioniert

    Genau kann ich dir das auch garnicht sagen. Es ist irgendwie an mir vorbei gegangen. Glaube mit der Einführung von 8.3 oder 8.4. Tendiere eher zu 8.3. Habe das auch nur logisch geschlussfolgert. Ständig werden Isssues erstellt, in denen sich darüber beschwert wird, dass der Sensor nach einem Update auf die aktuellste Version nicht mehr funktioniert. Dort wird dann auf die Tasmota-Sensors.bin verwiesen.

    War persönlich von dem Problem nie betroffen, weil ich ähnlich wie du alles via #undef ausgeschaltet habe. In meiner override habe ich mehrere Geräte definiert die ich öfter mal Flashe. Shelly für Rolläden, Shelly als Schalter,Sonoff Basic, Sonoff 4ch, Esp32 SML, ESPZigbee... Aber statt das #undef auszukommentieren wie in deinem Fall, habe ich einfach wieder ein #define bei dem jeweiligen Gerät hinzugefügt. Immer eben genau das, was ich bei den jeweiligen Boards benötige.

    Habe das gleiche auch bei den tasmota_envs gemacht. Einfach weitere Environments hinzugefügt mit den entsprechenden Einstellungen. Zum Beispiel größerer Flash speicher beim Wemos.