Tasmota mit Scripting

Begonnen von gloob, 06 Juni 2020, 18:33:56

Vorheriges Thema - Nächstes Thema

gloob

Hallo,

Hat jemand von euch zufällig eine fertige BIN für Tasmota inklusive Scripting? Würde es gerne mit einem 2-Relay testen und will mir eigentlich den Compiling Stress sparen.

Gruß
Stefan
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

RaspiLED

#1
Hi,
was meinst Du mit Scripting?
Rules in den Erweiterungen per Haken aktivieren geht mit den Standard BIN.

<Edit> Ah scrpting, kannte ich noch nicht, gleich mal ansehen...</Edit>

Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

TomLee

Anbei, allerdings mit 8.2.0.
Mehr Arbeit wollt ich mir auf die Schnelle nicht machen  ;)
Ne aktuelle kann ich dir morgen wieder kompilieren.

Gruß

Thomas

RaspiLED

Hi,
Hier ist was cooles:

https://github.com/benzino77/tasmocompiler/blob/master/README.md

(https://uploads.tapatalk-cdn.com/20200606/46131e47af70ceecebc710bcba7be305.jpg)

Rules raus und script rein und voila...

http://cloud.tapatalk.com/s/5edbd9812b40c/firmware.zip

Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Billy

#4
Inzwischen gibt es ein weiteres feature zum scripting.
ZitatOptional external editor

you may use a special external editor with syntax highlighting to edit the scripts. (mac and pc) you may use any number of comments and indents to make it better readable. then with cmd r the script is transfered to the ESP and immediately started. (all comments and indents are removed before transfering) see further info and download here
Kann ich nur empfehlen.
https://tasmota.github.io/docs/Scripting-Language/
Editor mit highlighting für Tasmota Scripter.
Per Knopfdruck kann man den Skript direkt auf das tasmota Gerät (esp 8266) hochladen.
Der Skript wird dabei auch noch komprimiert. ;D

Billy

PS: Wer Scripter verstanden hat will keine Rules mehr!
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Billy

Ich habe in Anlage mal ein Beispiel für Scripting basierend auf dem neuen Editor angehängt!

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Skusi

Hallo zusammen,
ich gebe es nun auf und brauche mal die Hilfe von jemanden der sich mit Tasmota Scripts auskennt.
Ich habe mir die Erklärungen auf der Tasmota Seite nun schon Stundenlang angeschaut und rum probiert, aber bin zu keinem funktionierendem Ergebnis gekommen.

Ich lese meinen Stromzähler per Wemos D1 und Tasmota über das SML Protokeoll aus- Das funktioniert auch super. Nun brauche ich aber in Fhem die Leistung einmal als positives Reading in Bezug Richtung und separat einmal als positiven Wert in Einspeise Richtung. Mien Zähler gibt aber nur einen Wert raus der je nach Richtung sein Vorzeichen wechselt. Also negative Werte für Einspeisung und positive für Bezug.

Nun dachte ich das es doch das Einfachste wäre in Tasmota ein das Script mit einer if then Schleife zu erweitern die den entprechenden Wert in 2 weite Ausgaben erzeugt.

Hier mal mein Versuch (der leider nicht funktioniert):

>D
sum=sml[6]
bez=0
ein=0

>S
if sum > 0
then
bez=sum
ein=0
else
ein=sum *-1
bez=0
endif

=>Publish /%topic%/tele/Bezug %3bez%
=>Publish /%topic%/tele/Einspeisung %3ein%

>B
=>sensor53 r

>M 1
+1,3,s,0,9600,SML
1,77070100010800ff@1000,Verbrauch_Summe,kWh,Verbrauch_Summe,3
1,77070100020800ff@1000,Einspeisung_Summe,kWh,Einspeisung_Summe,3
1,=h--
1,77070100240700ff@1,Leistung_L1,W,Watt_L1,0
1,77070100380700ff@1,Leistung_L2,W,Watt_L2,0
1,770701004c0700ff@1,Leistung_L3,W,Watt_L3,0
1,77070100100700ff@1,Leistung_Summe,W,Watt_Summe,16
#


Irgenwie verstehe ich diese Syntax wohl falsch.

Kann mir bitte jemand auf die Sprünge helfen ???
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Skusi

Hat sich mittlerweile erledigt.  :-\

Ich hatte beim flashen einen Fehler gemacht.

Das Skript sieht nun so aus und funktioniert !
>D
sum=0
bez=0
ein=0

>S
sum=sml[6]
if sum>0
then
bez=sum
ein=0
else
ein=sum*-1
bez=0
endif

=>Publish /%topic%/SENSOR/SML_Watt_Bezug %0bez%
=>Publish /%topic%/SENSOR/SML_Watt_Einspeisung %0ein%

>B
=>sensor53 r

>M 1
+1,3,s,0,9600,SML
1,77070100010800ff@1000,Verbrauch_Summe,kWh,Verbrauch_Summe,3
1,77070100020800ff@1000,Einspeisung_Summe,kWh,Einspeisung_Summe,3
1,=h--
1,77070100240700ff@1,Leistung_L1,W,Watt_L1,0
1,77070100380700ff@1,Leistung_L2,W,Watt_L2,0
1,770701004c0700ff@1,Leistung_L3,W,Watt_L3,0
1,77070100100700ff@1,Leistung_Summe,W,Watt_Summe,16
#


Falls es jemand braucht...
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Ralf9

Hallo,

ich möchte per Publish Werte zum MQTT2_FHEM_Server schicken, bei mir funktioniert dies aber nicht so wie gewünscht.

Ich verwende die tasmota Version 9.5.0

ich verwende in script zum Testen den folgenden code:
>D
var1 = 0

>S
if upsecs%20==0
then
var1 = 18
=>Publish ...
endif
...


mit folgendem Publish funktionierts
=>Publish sml/tasmota_5562F0/SENSOR/Watt 17
Im MQTT2_FHEM_Server kommt folgendes an:
in@192.168.0.14:56981 PUBLISH: 0"(0)(30)sml/tasmota_5562F0/SENSOR/Watt17
MQTT2_FHEM_Server_192.168.0.14_56981 DVES_5562F0 PUBLISH sml/tasmota_5562F0/SENSOR/Watt:17


Wenn ich aber mit Publish den Wert einer Variable übergeben will, kommt in fhem der Wert nicht an
=>Publish sml/tasmota_5562F0/SENSOR/Watt %var1%
oder
=>Publish sml/tasmota_5562F0/SENSOR/Watt %0var1%

Im MQTT2_FHEM_Server kommt folgendes an:
in@192.168.0.14:56981 PUBLISH: 0#(0)(30)sml/tasmota_5562F0/SENSOR/Watt???

Weiß jemand was da nicht passt?

Gruß Ralf

FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Hab den Fehler gefunden, im Code darf vor und hinter dem = kein Leerzeichen stehen. Nun funkttionierts.
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7