D0 Zähler SML auslesen mit Tasmota


  • Hast Du in der user_config_override.h das Scripting aktiviert anstatt der Rules ?!Wenn nicht, dann hiermit ergänzen:

    Code
    1. #ifndef USE_SCRIPT
    2. #define USE_SCRIPT
    3. #endif
    4. #ifdef USE_RULES
    5. #undef USE_RULES
    6. #endif
    7. #define USE_SCRIPT_WEB_DISPLAY
    8. #define USE_SCRIPT_JSON_EXPORT


    Dann auf der Weboberfläche "Einstellungen" > "Edit Script" und dann folgendes eintragen:


    Dann noch "enable Script" anklicken und "Speichern".

  • Ein einfacheres Schema gäbe es nicht? Ist TTL erforderlich? Etwas Ähnliches wie auf dem Bild. Leider gibt es keinen Widerstand oder Widerstandswerte. :-(

    nein ttl ist nicht zwingend.
    bzgl deiner Frage, solltest du dich mit den Grundlagen beschäftigen.
    Denn die Werte sind abhängig von den verwendeten Bauteilen.
    Ein gewisses Grundwissen ist daher von Vorteil. Im Internet findest du sicher einige Anleitungen wie man einen Basis Widerstand berechnet und auch das ohmische Gesetz solltest du dir aneignen.
    Eine gute Anlaufstelle für all diese Sachen ist diese Website:

    Link

  • nein ttl ist nicht zwingend.
    bzgl deiner Frage, solltest du dich mit den Grundlagen beschäftigen.
    Denn die Werte sind abhängig von den verwendeten Bauteilen.
    Ein gewisses Grundwissen ist daher von Vorteil. Im Internet findest du sicher einige Anleitungen wie man einen Basis Widerstand berechnet und auch das ohmische Gesetz solltest du dir aneignen.
    Eine gute Anlaufstelle für all diese Sachen ist diese Website:

    Link

    Widerstand nach der Diode etwa berechnen, aber nicht mehr abschätzen, welche NPN- und PNP-Transistoren zu verwenden sind, oder Widerstand gegen sie.

  • Widerstand nach der Diode etwa berechnen, aber nicht mehr abschätzen, welche NPN- und PNP-Transistoren zu verwenden sind, oder Widerstand gegen sie.

    Ob der Widerstand vor oder nach der Diode ist, ist bei einer simplen Reihenschaltungen völlig egal. Dh. Du musst einfach nur den passenden vorwiderstand für die Diode berechnen.
    Da du vorhast den Transistor als Schalter zu verwenden, muss dieser im gesättigten Bereich (V be Sat) betrieben werden. Er muss schließlich nicht nur „schalten“ sondern auch genug Strom durchlassen um die Diode zu betreiben. Wo dieser Bereich liegt ist den Datenblättern der jeweiligen Transistoren zu entnehmen. Damit solltest du auch den passenden Basis Widerstand ermitteln können.
    Ich würde es mal mit Transistoren aus der BC Reihe probieren. Bc457 / Bc557

  • Ohne es nachgerechnet zu haben, kommt mir der U4 Vorwiderstand zu groß vor. Wie in meinem geposteten Link im vorherigen Post recht gut beschrieben, kann man den HFE bei den Transistoren in der Art der Schaltung eher im Bereich von 20-50HFE sehen.


    Aber du kannst das gerne mal bauen und ausprobieren.

  • Ohne es nachgerechnet zu haben, kommt mir der U4 Vorwiderstand zu groß vor. Wie in meinem geposteten Link im vorherigen Post recht gut beschrieben, kann man den HFE bei den Transistoren in der Art der Schaltung eher im Bereich von 20-50HFE sehen.


    Aber du kannst das gerne mal bauen und ausprobieren.

    Hallo


    Ich habe diesen bidirektionalen optischen Leser für die Viessmann Wärmepumpe gebaut. https://github.com/openv/openv…r-Huzzah32-and-Proto-Wing

    Es scheint sogar mit meinem Messgerät zu funktionieren, es sendet ein Signal, das Messgerät antwortet kurz, sendet das andere und das Messgerät antwortet sehr lange. Ich habe ihn so eingestellt, dass er 300 Baud verwenden möchte.

    Sie scheinen zu plaudern, aber Tasmota versteht nichts, er schreibt nichts.


    Irgendwelche Ideen?

  • Evtl. Pollzeit für Tx mal ändern und auch mal mit 9600 Baud probieren. Und wie gesagt: Sensor53 dX.
    x=Nummer an der Dein Zähler im Skript eingetragen ist.

    Code
    1. >D
    2. >B
    3. =>sensor53 d1
    4. >M 1
    5. +1,3,o,0,9600,STROM,1,100,2F3F210D0A,063035310D0A
    6. 1,1-0:1.8.1*255(@1,Total consumption,KWh,Total_in,4
    7. #

    Wie das?

  • Code
    1. >D
    2. >B
    3. =>sensor53 d1
    4. >M 1
    5. +1,3,o,0,9600,STROM,1,100,2F3F210D0A,063035310D0A
    6. 1,1-0:1.8.1*255(@1,Total consumption,KWh,Total_in,4
    7. #

    Wie das?

    Wenn ich sensor53 d1 eingebe und neu starte, ist das Skript deaktiviert. Ich habe Baud in Skript und HEX auf 9600 geändert, reagierte aber nicht mehr. :-(

  • Genial! Ich kann den LOGAREX-Stromzähler ablesen. Vielen Dank!

    Wie füge ich dem Menü und mqtt Werte hinzu? Es zeigt mir nichts.


    Der nächste Teil des Projekts wird Deepsleep sein. :)

  • hätte ich auch drauf kommen können...

    Und ich dachte der Gaszähler geht dann auch nicht.


    Danke

    Hallo


    Ich hänge gerade an einen Punkt ich möchte eigentlich erst einmal nur den Gaszähler und den Wasserzähler mit loggen.

    Habe USE_SML_M also nicht aktiviert da wenn ich es richtig verstanden haben für den Gaszähler nicht benötige.


    MEin Scrpt sieht folgender Maßen aus

    Mein Problem ist nun das nicht mitgezählt wird und das ich den Zählerstand nicht setzten kann. Sensor53 c1 xxxx geht nicht, kann nach meinen Verständnis auch nicht gehen da ich USE_SML_M nicht mit eingebunden habe.

    Hat einer für mich ein Tipp um mich in die richtige Richtung zuschubsen stehe im Moment auf dem Schlauch


    VG Alex

    Hausautomation

    Server: HP-T610 - Debian 10 aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly1&2 | MQTT2

    1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm

    2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT

  • majestro84

    Puh, ich würde an Deiner Stelle erst mal ein nach dem anderen machen und das script so einfach wie möglich...

    um erst mal zu schauen ob was ankommt, ggf. am Sensor beim Gas nur ne LED um zu schauen ob er reagiert...


    probiere mal so, habe jetzt nicht getestet...


  • @AingTii

    Danke für deine Antwort

    Der Sensor reagiert wenn ich GPIO4 auf Counter stelle. So hatte ich es Anfangs laufen nur weicht die Zählung dann relativ schnell ab.


    Was mich irritiert ist das ich auf der Konsole ein Sensor53 c1 10000 auch nicht gesetzt bekomme.

    sonder nur die Meldung

    Code
    1. 17:31:48 CMD: Sensor53 c1 10000
    2. 17:31:48 MQT: stat/WGCounter/RESULT = {"Command":"Error"}
    3. 17:31:48 MQT: tele/WGCounter/STATE = {"Time":"2019-11-21T17:31:48","Uptime":"0T00:03:26","UptimeSec":206,"Heap":28,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"WiFi Majestro","BSSId":"44:4E:6D:88:D9:A8","Channel":6,"RSSI":100,"LinkCount":1,"Downtime":"0T00:00:05"}}[tt]<span id="selection-marker-1" class="redactor-selection-marker woltlab-bbcode-marker"></span>

    Mir scheint es so als würde das Script nicht berücksichtigt.

    Code
    1. #undef USE_RULES #define USE_SCRIPT


    Habe ich in user_config_override.h eingetragen


    VG Alex

    Hausautomation

    Server: HP-T610 - Debian 10 aktuellen FHEM-Docker Image:Z-Wave (RollerShutter,DoorWindow,Socket,PIR,....) | ENIGMA2 | EGPM2LAN | BLE-Tag(PRESENCE) | HUE | alexa-fhem | Shelly1&2 | MQTT2

    1.Pi-Zero:Viessmann(optolink) mit 89_VCONTROL300.pm

    2.Pi3 Dongle Server: Zigbee2MQTT(CC1352P-2), Z-Wave(UZB1), BT