NEWS
[gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?
-
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ß
MarhalScreenshot unleserlich.
-
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 1Ein reboot und fertig.
im iobroker findest du noch ein POWER und ein counter state
Grüße aus Griechenland.
@stratos-gkrekidis
Dein Lösung funktioniert super.
Ich habe nun zusätzlich an meinen D1 mini einen IR-Lesekopf für meinen Stromzähler angeschlossen.
Dadurch musste ich Tasmota mit SML selber kompilieren. Für SML muss jedoch Scripting Languages genutzt werden. Die Rules kann man dann wohl nicht mehr verwenden.Weißt du oder jemand anderes hier, wie meine deine Lösung als Tasmota Script abbilden kann?
-
>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
Hi, ich hätte auch Interese an dem Script mit funktionierender Kostenrechnung.Hab soweit alles hinbekommen Firmware Compilierung mit Script aktivierung.
Reed Kontak mit Wemos D1 Mini am Gaszähler zählt und erscheint in TasmotaWeb.
Nur bei dem Scripten hab ich nen knoten im Kopf lese schon seit Tagen die Scripting Language auf und ab auf Github ... denke ich werd einfach zu alt ;-),
daher wäre ich für die Hilfe bzw. fürs bereitstellen eines funktionierenden Scriptes sehr Dankbar. -
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 1Ein reboot und fertig.
im iobroker findest du noch ein POWER und ein counter state
Grüße aus Griechenland.
@Stratos-Gkrekidis und
@Sandmanyzich habe leider nicht verstanden, was genau ihr macht. Und da es bei mir mit dem Zählen noch nicht läuft, will ich gerne auch Eure Lösung "einbauen" / bzw nachbauen.
In meinem Fall ist der Zähler am D1Mini an D7 angeschlossen als Zähler. (mit 10 kOhm gegen 3,3V) Module Parameter /ModuleType von Tasmota ist Generic0 und GPIO 13 ist auf Counter, 1 gestellt

Könntet Ihr so nett sein und mir für DUMMIES erklären, was ich also noch machen soll, das was Stratos schreibt scheint ja einigen geholfen zu haben, aber ich verstehe es nicht :-)
Vielleicht könntet Ihr so nett sein, mir ein paar Screens Eurer Tasmota Einstellungen hier einstellen und dann den Rest in Worte, die ich als nicht so erfahrener User verstehe, packen??Danke
LEM@stratos-gkrekidis sagte 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 1Ein reboot und fertig.
im iobroker findest du noch ein POWER und ein counter state
Grüße aus Griechenland.
-
@Stratos-Gkrekidis und
@Sandmanyzich habe leider nicht verstanden, was genau ihr macht. Und da es bei mir mit dem Zählen noch nicht läuft, will ich gerne auch Eure Lösung "einbauen" / bzw nachbauen.
In meinem Fall ist der Zähler am D1Mini an D7 angeschlossen als Zähler. (mit 10 kOhm gegen 3,3V) Module Parameter /ModuleType von Tasmota ist Generic0 und GPIO 13 ist auf Counter, 1 gestellt

Könntet Ihr so nett sein und mir für DUMMIES erklären, was ich also noch machen soll, das was Stratos schreibt scheint ja einigen geholfen zu haben, aber ich verstehe es nicht :-)
Vielleicht könntet Ihr so nett sein, mir ein paar Screens Eurer Tasmota Einstellungen hier einstellen und dann den Rest in Worte, die ich als nicht so erfahrener User verstehe, packen??Danke
LEM@stratos-gkrekidis sagte 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 1Ein reboot und fertig.
im iobroker findest du noch ein POWER und ein counter state
Grüße aus Griechenland.
@Lenny-CB
Wie hast du das ganze gemacht ich habe heute mein D1 Mini Tasmota geflasht mit scripting funktion
und habe dein script mal rein gemacht aber der zeigt mir immer noch auf der main seite Zähler 50bevor ich es vergesse habe Tasmota 12 drauf
-
Hallo zusammen,
ich habe es nun auch so realisiert. Funktioniert gut an einem ESP8266 D4 GPIO2.
@Lenny-CB vielen Dank für das Skript, es hat mir sehr geholfen :)
Ich hätte da ein paar Fragen zum code:-
- Was bedeutet die 2 vor den Variablen?
%2hkw1%-
- Was bedeutet die 2 nach dem M?
>M 2-
- Was bedeutet diese Zeile?
2,=h=========================-
- Wie kann ich die Nachkommastellen anpassen?
Das Skript habe ich abgeändert, ein Haushalt inklusive Kostenrechnung.
-Mit gp=10.65 lässt sich der Gaspreis anpassen.
-Den MQTT Part habe ich auch etwas 'optimiert'. Der Zählerstand lässt sich nun direkt abgeifen über "value".
-Optional habe ich einen Websend direkt an cuxd für Homematic falls man kein MQTT verwenden möchte.>D p:m1=0 s1=0 p:g1=0 h1=0 hkw1=0 gkw1=0 skw1=0 hgp=0 ggp=0 hr=0 mi=0 zu=0.9617 br=11.233 gp=10.65 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" >B ->sensor53 r tper=10 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu ggp=(gkw1*gp)/100 skw1=s1*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 g1=h1 svars endif if upsecs%tper==0{ =>Publish keller/%topic%/main/td_m3 %2h1% =>Publish keller/%topic%/main/td_kwh %2hkw1% =>Publish keller/%topic%/main/yd_m3 %2g1% =>Publish keller/%topic%/main/yd_kwh %2gkw1% =>Publish keller/%topic%/main/value %2s1% =>Publish keller/%topic%/main/json {"value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"} ;Senden an Homematic Variable xxxxxxxx ;=>websend [ip-adresse_ccu:8181] /cuxd.exe?Status=dom.GetObject('xxxxxxxx').State(%2s1%) } >T s1=GAS1#Stand_Haus1 >W ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2ggp% € >M 1 +1,2,c,1,-25,GAS1 1,1-0:1.8.0*255(@100,Zählerstand,m³,Stand_Haus1,18 #Die MQTT Ausgabe ist:

-
-
Hallo zusammen,
ich habe es nun auch so realisiert. Funktioniert gut an einem ESP8266 D4 GPIO2.
@Lenny-CB vielen Dank für das Skript, es hat mir sehr geholfen :)
Ich hätte da ein paar Fragen zum code:-
- Was bedeutet die 2 vor den Variablen?
%2hkw1%-
- Was bedeutet die 2 nach dem M?
>M 2-
- Was bedeutet diese Zeile?
2,=h=========================-
- Wie kann ich die Nachkommastellen anpassen?
Das Skript habe ich abgeändert, ein Haushalt inklusive Kostenrechnung.
-Mit gp=10.65 lässt sich der Gaspreis anpassen.
-Den MQTT Part habe ich auch etwas 'optimiert'. Der Zählerstand lässt sich nun direkt abgeifen über "value".
-Optional habe ich einen Websend direkt an cuxd für Homematic falls man kein MQTT verwenden möchte.>D p:m1=0 s1=0 p:g1=0 h1=0 hkw1=0 gkw1=0 skw1=0 hgp=0 ggp=0 hr=0 mi=0 zu=0.9617 br=11.233 gp=10.65 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" >B ->sensor53 r tper=10 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu ggp=(gkw1*gp)/100 skw1=s1*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 g1=h1 svars endif if upsecs%tper==0{ =>Publish keller/%topic%/main/td_m3 %2h1% =>Publish keller/%topic%/main/td_kwh %2hkw1% =>Publish keller/%topic%/main/yd_m3 %2g1% =>Publish keller/%topic%/main/yd_kwh %2gkw1% =>Publish keller/%topic%/main/value %2s1% =>Publish keller/%topic%/main/json {"value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"} ;Senden an Homematic Variable xxxxxxxx ;=>websend [ip-adresse_ccu:8181] /cuxd.exe?Status=dom.GetObject('xxxxxxxx').State(%2s1%) } >T s1=GAS1#Stand_Haus1 >W ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2ggp% € >M 1 +1,2,c,1,-25,GAS1 1,1-0:1.8.0*255(@100,Zählerstand,m³,Stand_Haus1,18 #Die MQTT Ausgabe ist:

Oha, da ist lange her. Versuche es mal aus dem Kalten heraus.
-
- Was bedeutet die 2 vor den Variablen?
%2hkw1%
- Was bedeutet die 2 vor den Variablen?
Anzahl der Nachkommastellen
-
- Was bedeutet die 2 nach dem M?
M 2
- Was bedeutet die 2 nach dem M?
2 Counter
-
- Was bedeutet diese Zeile?
2,=h=========================
- Was bedeutet diese Zeile?
Sollte mal eine Linie erzeugen, tuts aber nicht mehr. k.A. vielleicht wurde was bei Tasmota Scripting geändert.
Also weg, ist unnütz.-
- Wie kann ich die Nachkommastellen anpassen?
siehe oben
Diese Seite ist sehr zu empfehlen falls du noch tiefer einsteigen willst.
https://tasmota.github.io/docs/Scripting-Language/#script-sections -
-
@Lenny-CB
Wie hast du das ganze gemacht ich habe heute mein D1 Mini Tasmota geflasht mit scripting funktion
und habe dein script mal rein gemacht aber der zeigt mir immer noch auf der main seite Zähler 50bevor ich es vergesse habe Tasmota 12 drauf
@rattenfänger sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
zeigt mir immer noch auf der main seite Zähler 50
??? Mach mal ein Bild.
-
@rattenfänger sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
zeigt mir immer noch auf der main seite Zähler 50
??? Mach mal ein Bild.
@lenny-cb
Vielen Dank für die Erklärung ;) tasmota.github.io war bereits meine erste Anlaufstelle, hat mir sehr geholfen, aber ich habe im Netz nach fertigen Skripten gesucht und bin dann auf diese Seite gestoßen.
@rattenfänger
Ich vermute dass du einen Counter auf einen GPIO gelegt hast (Einstellungen->Gerätekonfiguration), deswegen wird dir Zähler 50 angezeigt.
Der Zähler wird nicht benötigt, du kannst den GPIO auf 'none' lassen.Die Firmware muss richtig kompiliert sein.
- Smart Meter Interface
#ifndef USE_SCRIPT #define USE_SCRIPT #endif #ifndef USE_SML_M #define USE_SML_M #endif #ifdef USE_RULES #undef USE_RULES #endif- !!!und ganz wichtig:
#ifndef USE_SCRIPT_WEB_DISPLAY #ifndef USE_SCRIPT_WEB_DISPLAY #endifSonst erscheint keine Textausgabe auf der Tasmota Seite ;)
Anbei die kompilierte Firmware:
ESP8266
tasmota_12.02_smart_meter_web_display.binESP32
tasmota32_12.02_smart_meter_web_display.binGruß
Sven -
@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 Hallo habe dein script verwendet und ich habe folgendes Problem, entweder wird der verbrauch gestern angezeigt und der verbrauch heute steht auf null oder nach neustart zeigt er den verbrauch heute an und der verbrauch gestern geht auf null.......für Hilfe und tips wäre ich dankbar.....habe das image aus diesem Forum verwendet. und Tasmota 12.2 auf den wemos d1 mini geflasht.....
-
@lenny-cb
Vielen Dank für die Erklärung ;) tasmota.github.io war bereits meine erste Anlaufstelle, hat mir sehr geholfen, aber ich habe im Netz nach fertigen Skripten gesucht und bin dann auf diese Seite gestoßen.
@rattenfänger
Ich vermute dass du einen Counter auf einen GPIO gelegt hast (Einstellungen->Gerätekonfiguration), deswegen wird dir Zähler 50 angezeigt.
Der Zähler wird nicht benötigt, du kannst den GPIO auf 'none' lassen.Die Firmware muss richtig kompiliert sein.
- Smart Meter Interface
#ifndef USE_SCRIPT #define USE_SCRIPT #endif #ifndef USE_SML_M #define USE_SML_M #endif #ifdef USE_RULES #undef USE_RULES #endif- !!!und ganz wichtig:
#ifndef USE_SCRIPT_WEB_DISPLAY #ifndef USE_SCRIPT_WEB_DISPLAY #endifSonst erscheint keine Textausgabe auf der Tasmota Seite ;)
Anbei die kompilierte Firmware:
ESP8266
tasmota_12.02_smart_meter_web_display.binESP32
tasmota32_12.02_smart_meter_web_display.binGruß
Sven -
Hi zusammen,
Ich verfolge diesen Post schon länger und Versuche Grade die ganzen Zeilen im Skript zu verstehen.
Das was ich nicht rausfinde, ist eine Bedeutung unter >W.
Wofür steht {m} ??
Ich hoffe, jemand kann mir das sagen :)
-
Hi zusammen,
Ich verfolge diesen Post schon länger und Versuche Grade die ganzen Zeilen im Skript zu verstehen.
Das was ich nicht rausfinde, ist eine Bedeutung unter >W.
Wofür steht {m} ??
Ich hoffe, jemand kann mir das sagen :)
W bedeutet Text-Ausgabe auf der Tasmota Startseite.
Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
das {m} steht für eine Einrückung/TAB -
W bedeutet Text-Ausgabe auf der Tasmota Startseite.
Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
das {m} steht für eine Einrückung/TABIch habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?
>M 1 +1,13,c,1,-25,GASDie 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
Hier mein komplettes Script:>D p:m1=0 c1=0 s1=0 p:g1=0 h1=0 hkw1=0 gkw1=0 skw1=0 hgp=0 ggp=0 hr=0 mi=0 zu=0.9617 br=11.233 gp=17.956 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" gasinit=5952.06 gastotal=0 >B =>sensor53 r =>sensor53 12 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu ggp=(gkw1*gp)/100 skw1=s1*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 g1=h1 svars endif if upsecs%tper==0{ =>Publish tele/%topic%/main/td_m3 %2h1% =>Publish tele/%topic%/main/td_kwh %2hkw1% =>Publish tele/%topic%/main/yd_m3 %2g1% =>Publish tele/%topic%/main/yd_kwh %2gkw1% =>Publish tele/%topic%/main/value %2s1% =>Publish tele/%topic%/main/gastotal %2gastotal% =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"} } >T s1=GAS#Stand c1=Counter#C1 gastotal=(c1/100)+gasinit >W Zählerstand: {m} %gastotal% m³ ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2ggp% € >M 1 +1,14,c,1,-25,GAS 1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3) # -
W bedeutet Text-Ausgabe auf der Tasmota Startseite.
Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
das {m} steht für eine Einrückung/TABDanke für die Info. >W warmir bekannt, funktioniert auch alles. Wollte nur verstehen, was {m} bedeutet (Dank dir, weis ich es jetzt). Wo kann man das denn nachlesen? Auf der Tasmota Seite konnte ich nichts dazu finden...
-
Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?
>M 1 +1,13,c,1,-25,GASDie 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
Hier mein komplettes Script:>D p:m1=0 c1=0 s1=0 p:g1=0 h1=0 hkw1=0 gkw1=0 skw1=0 hgp=0 ggp=0 hr=0 mi=0 zu=0.9617 br=11.233 gp=17.956 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" gasinit=5952.06 gastotal=0 >B =>sensor53 r =>sensor53 12 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu ggp=(gkw1*gp)/100 skw1=s1*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 g1=h1 svars endif if upsecs%tper==0{ =>Publish tele/%topic%/main/td_m3 %2h1% =>Publish tele/%topic%/main/td_kwh %2hkw1% =>Publish tele/%topic%/main/yd_m3 %2g1% =>Publish tele/%topic%/main/yd_kwh %2gkw1% =>Publish tele/%topic%/main/value %2s1% =>Publish tele/%topic%/main/gastotal %2gastotal% =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"} } >T s1=GAS#Stand c1=Counter#C1 gastotal=(c1/100)+gasinit >W Zählerstand: {m} %gastotal% m³ ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2ggp% € >M 1 +1,14,c,1,-25,GAS 1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3) #@thgorjup said in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
=>sensor53 r
=>sensor53 12 <-- wozu diese Zeile?! Könnte es eventuell daran liegen?Wenn du damit die Board LED ansteuern willst, müsste dort sensor53 l2 hin
-
@thgorjup said in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
=>sensor53 r
=>sensor53 12 <-- wozu diese Zeile?! Könnte es eventuell daran liegen?Wenn du damit die Board LED ansteuern willst, müsste dort sensor53 l2 hin
@todayslost
Laut Doku ist das die LED beim D1 Wemos Mini die angesprochene wird.For example you can use sensor53 l2 for the onboard LED on a Wemos D1-mini
Aber ich sehe gerade, dass es keine 12 ist, sondern l2
Ich ändere das mal. -
Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?
>M 1 +1,13,c,1,-25,GASDie 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
Hier mein komplettes Script:>D p:m1=0 c1=0 s1=0 p:g1=0 h1=0 hkw1=0 gkw1=0 skw1=0 hgp=0 ggp=0 hr=0 mi=0 zu=0.9617 br=11.233 gp=17.956 farbe1="#008000" farbe2="#f00000" farbe3="#00fdfd" gasinit=5952.06 gastotal=0 >B =>sensor53 r =>sensor53 12 >S h1=s1-m1 hkw1=h1*br*zu hgp=(hkw1*gp)/100 gkw1=g1*br*zu ggp=(gkw1*gp)/100 skw1=s1*br*zu hr=hours if chg[hr]>0 and hr==0 then m1=s1 g1=h1 svars endif if upsecs%tper==0{ =>Publish tele/%topic%/main/td_m3 %2h1% =>Publish tele/%topic%/main/td_kwh %2hkw1% =>Publish tele/%topic%/main/yd_m3 %2g1% =>Publish tele/%topic%/main/yd_kwh %2gkw1% =>Publish tele/%topic%/main/value %2s1% =>Publish tele/%topic%/main/gastotal %2gastotal% =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"} } >T s1=GAS#Stand c1=Counter#C1 gastotal=(c1/100)+gasinit >W Zählerstand: {m} %gastotal% m³ ============ Zustandszahl: {m} %zu% Brennwert: {m} %br% kWh/m³ Gaspreis: {m} %gp% Cent/kWh ============ Verbrauch: --------------------- Heute: {m} %2h1% m³ | %2hkw1% kWh Kosten: {m} %2hgp% € --------------------- Gestern: {m} %2g1% m³ | %2gkw1% kWh Kosten: {m} %2ggp% € >M 1 +1,14,c,1,-25,GAS 1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3) #@thgorjup said in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:
Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?
>M 1 +1,13,c,1,-25,GASDie 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?Das Problem hatte ich auch gerade....
Deswegen habe ich jetzt mal GPIO14 angeschlossen und das geht.