NEWS
[gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?
-
@oberfragger ich hatte da zwischenzeitlich wieder dran "rumgebastelt" Die Kostenberechnung ist erst einmal wieder raus, dafür kam der zweite Gas-Zähler dazu. Das Script ist auch in der Länge begrenzt wenn man die Standard-Konfigurationen nutzt.
Hier mein Script:
Der Zauber geht aber nur wenn du dir eine Tasmota-Build kompilierst, indem Scripting aktiviert ist.
-
@lenny-cb
Danke!Ja mittlerweile bin ich "Profi" beim Tasmota kompilieren. Hab einiges dazugelernt, da ich mir mal mehrere AM2320 I2C Sensoren gekauft habe. Deshalb muss ich immer die Treiber einkompilieren und kann nix fertiges nehmen. Würde ich nicht mehr tun. BMEs werden viiiel besser unterstützt.
Aktuell BME680 in der Lüftungsanlage und dann noch nebenbei den Reedkontakt auslesen Deshalb die Bitte nach dem Script.
-
hey vielen Dank für das Skript. Funktioniert soweit alles wie es soll (Teste aktuell noch mit ein Magnet)
Wie ich das lese hat du den Debounce hier mit konfiguriert richtig?
+1,14,c,1,-25,GAS1
muss man jetzt extra nochmal in der Konsole eingeben?
CounterDebounce 1000
CounterDebounceLow 500
CounterDebounceHigh 500Und dann suche ich noch eine Möglichkeit wo man den Anfangszählerstand eintragen kann, sodass quasi wie beim Strom man den aktuellen Zählerstand sieht (auch zur Kontrolle, das der Reedkontakt richtig zählt).
Vielen Dank schonmal für den Skript!
-
muss man jetzt extra nochmal in der Konsole eingeben?
CounterDebounce 1000
CounterDebounceLow 500
CounterDebounceHigh 500jupp, habe ich so gemacht.
Wobei CounterDebounceHigh/CounterDebounceLow von der Hardware-Beschaltung abhängig ist. Beides einzutragen ist nicht kontraproduktiv.Und dann suche ich noch eine Möglichkeit wo man den Anfangszählerstand eintragen kann, sodass quasi wie beim Strom man den aktuellen Zählerstand sieht (auch zur Kontrolle, das der Reedkontakt richtig zählt).
gib mal in die Konsole ein:
Sensor53 c1 1234567
bedeutet, dass der erste Counter auf diesen Wert gesetzt wird (muss man aber nach jedem Neustart machen)
Beispiel: 1234567 = 12345,67 -
Muss nochmal blöd fragen, in der Konsole vom tasmota oder? Kommt bei mir immer unknown Command…:/
-
Muss nochmal blöd fragen, in der Konsole vom tasmota oder?
jupp.
Kommt bei mir immer unknown Command…:/
das ist komisch. Das Script läuft aber?
-
Jetzt gehts, irgendwie hat das mit den Handy Probleme gemacht. Mit Laptop ging es.
Als Pullup Widerstand habe ich jetzt ein 10k zwischen gpio und vcc (5v) ist das so korrekt?
Den ReedKontakt bring ich so an das er unter den letzten Zahlenrad am Gaszähler Sitz oder?
-
Als Pullup Widerstand habe ich jetzt ein 10k zwischen gpio und vcc (5v) ist das so korrekt?
Den ReedKontakt bring ich so an das er unter den letzten Zahlenrad am Gaszähler Sitz oder?
habs nicht mehr genau im Kopf, aber der Magnet sitzt bei den meisten Gas-Zähler in der 2. Nachkommastelle
-
Hat alles prima geklappt, ich danke dir 1000 mal.
Ich habe weiter oben gesehen du hattest auch mal den Verbrauch pro Stunde. Ich würde gern den Verbrauch pro Minute in meine InfluxDB schreiben und diesen per Graph in Grafana visualisieren.
;Minutenverbrauch sec=seconds if chg[sec]>0 and sec==0 then smsec=s1 svars endif if upsecs%tper==0 then ssms=s1-smsec endif
Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?
-
Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?
zeig mal das ganze Script.
-
>D p:m1=0 p:m2=0 s1=0 s2=0 g1=0 g2=0 h1=0 h2=0 hkw1=0 hkw2=0 gkw1=0 gkw2=0 skw1=0 skw2=0 sspr=0.095 ysgp=0.411 yspr=0 yapp=0 p:smsec=0 smseb=0 ssms=0 hr=0 mi=0 sec=0 zu=0.9290 br=11.237 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" >B ->sensor53 r tper=10 >S h1=s1-m1 h2=s2-m2 hkw1=h1*br*zu hkw2=h2*br*zu gkw1=g1*br*zu gkw2=g2*br*zu skw1=s1*br*zu skw2=s2*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 m2=s2 g1=h1 g2=h2 svars endif ;Minutenverbrauch sec=secs if chg[sec]>0 and sec==0 then smsec=s1 smseb=ssms svars endif if upsecs%tper==0 then ssms=s1-smsec endif ;Kosten yspr=hkw1*sspr+ysgp yapp= gkw1*sspr+ysgp endif if upsecs%tper==0{ =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch heute kWh":%2hkw1%}} =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch gestern kWh":%2gkw1%}} } >T s1=GAS1#Stand_Haus1 >W Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Kosten heute/ gestern: {m} %2yspr% € | %2yapp% € ========================= Haus 1: Verbrauch Minute: {m} %2ssms% kWh Verbrauch MinuteZusammen: {m} %2smseb% kWh Verbrauch heute: {m} %2h1% m³ | %2hkw1% kWh Verbrauch gestern: {m} %2g1% m³ | %2gkw1% kWh Verbrauch gesamt: {m} %2s1% m³ | %2skw1% kWh ========================= >M 2 +1,0,c,1,-25,GAS1 1,1-0:1.8.0*255(@100,Zählerstand Haus1,m³,Stand_Haus1,18 2,=h========================= #
-
@milanissimo sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
if upsecs%tper==0
warum rechnest du nochmal in dem Block?
Mache alles in dem Block darüber (Minutenverbrauch). -
@oberfragger
Könntest Du mir wohl das Script für deinen Zähler zur Vrefügung stellen, ich bastel da schon seit Tagen herum, bekomme es aber einfach nicht hin. Scripting Tasmota ist vorhanden, der Counter läuft, allerdings aktualisiert der
Verbrauchszählerstand nicht
Schon mal besten DankRalf
-
Bei welchem Wert laufen die Counter eigentlich über?
-
@stratos-gkrekidis
Hallo,Ich habe dein Script übernommen. Es funktioniert, aber erzeugt bei meine Zähler relativ viele MQTT Botschaften, weil der S0 Bus sehr oft triggert.
Ist es möglich, die MQTT Botschaften zu reduzieren und nur jeden 10 Impuls als Counterwert zu übertragen?
-
@stratos-gkrekidis Du nimmst einen Switch, um damit einen Counter hochzuzählen.
Ich habe versucht, direkt den Counter an den GPIO Pin zu konfigurieren und das führt dazu, dass der Counter mehr Pulse zählt als tatsächlich vorhanden sind.
Es scheint, dass durch die Konfigurierung der Trigger verändert wird.Stimmt das? ich habe dazu nichts gefunden. Könntest Du mir da einen Tipp geben.
-
@stratos-gkrekidis said in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.
Dann habe ich in der Konsole eingegeben:
switchmode1 1 counter1 <Geben Sie hier den Anfangszählerwert ein> rule1 on switch1#state=0 do Counter1 +1 endon rule1 5 rule1 1
Ein reboot und fertig.
im iobroker findest du noch ein POWER und ein counter state
Grüße aus Griechenland.
Hallo,
das ganze klingt sehr einfach, versteh nicht ganz wie du das ganze verkabelst und einstellst. Hättest du bitte eine Anschlußzeichnung des Kontaktes und wie du die GPIO eingestellt hast. Würde gerne einen Relaisekontakt auswerten.
Vielen vielen Dank für deine Hilfe! -
This post is deleted! -
Guten Morgen,
ich bin gerade dabei mich in Tasmota einzuarbeiten und fand obig genannte Scriptlösung für mein Projekt mit Reed-Kontakt-Wasserdurchlaufuhr. Wäre es vielleicht möglich, auch mir das Script zukommen zu lassen? Eine Anleitung zum ganzen Vorgang gibt es zufälligerweise nicht?
Wäre toll.
Danke vorab und schönes WE.
-
Hallo alle zusammen,
Das ist ja echt eine Supersache und ich wollte das gleich auf mein ESP32-Eth01 mit Tasmota auch ausprobieren. Habe am GPIO 2 mein Reedkontakt.
Aber wenn ich versuche das Script auszuführen bekomme ich nur folgende Fehler. Kann mir da jemand auf die Sprünge helfen ? bin da nicht so firm drin.Danke für eure Hilfe
Gruß
Marhal