radio button ist erst ab 12.5.0.2 verfügbar
Beiträge von gemu2015
-
-
Code
Alles anzeigen>D but=0 slide=0 mixer=0 cbox=1 text="hallo" dtime="" number=20 uhr="" >W ; button bu(but "An" "Aus") ; checkbox ck(cbox "pumpe: " 100) ; slider sl(0 100 slide "0" "volume" "100") ; radio button rb(mixer "mixer" 100 "auf" "aus" "zu") ; pulldown pd(mixer "mixer: " 70 "auf" "aus" "zu") ; full date time tx(dtime "Zeit " 180 "datetime-local") ; text tx(text "text: " 180) ; time tm(uhr "Uhrzeit: " 80) ; number nm(1 100 0.01 number "Zahl: " 80 2)
-
Mit dem Script von oben kann es definitiv nicht gehen auch nicht mit Tasmota 12
in der Decoder Zeile muss der Kode aus dem Dump vorkommen, also z.B
1-1:2.8.0(000010.34*kWh)
muss im Dekoder so eingetragen werden:
1,1-1:2.8.0(@1,Total Out,KWh,Total_out,1
-
du kannst problemlos mehrere Zähler mit einem ESP32 mit dem SML Treiber abfragen. bei eine ESP8266 kann es Probleme geben da es nur eine Hardware serielle Schnittstelle gibt. Falls du nur einen Transmit und 2 Receive brauchst geht es auch mit einem ESP8266.
Den Tasmota eigenen SDM72 Treiber kannst du nicht ohne Quelltextänderungen anpassen.
Ich würde also zunächst einmal den SDM72 Treiber aus den SML Beispielen hernehmen und dabei mit den Hardware Ports 1 und 3 arbeiten.
Wenn das funktioniert würde ich versuchen den Holley mit einer Software Serial dazu zunehmen.
Falls der Holley aber auch einen Transmit braucht musst du auf ESP32 umstellen.
-
-
-
Hi
globale Variablen in Tasmota sind was anderes wie globale Variablen im script.
'gtmp' ist die Temperatur von irgend einem in Tasmota auf diesem Gerät eingebunden Temperatursensor.
g:tmp ist eine globale Variable die überall in deinem WLAN Netz erreichbar ist.
Es gibt bei den Scripting Docs ein Beispiel wie das geht.
Meines Erachtens ist das das einfachste.
Du kannst auch über Websend von irgend einem Gerät eine Variable in einem anderen setzen, (http://192.168.178.32/cm?cmnd=script>var=1234)
Das Abfragen einer einzelnen Variablen über Websend ist deutlich komplizierter.
-
Was genau möchtest du erreichen ?
%var% wird nur gebraucht z.B. bei
1. Ausgaben mit print
2. Anzeigen im WEBUI (html)
3. an Tasmota geschickte Kommandos. (=>)
Wenn du eine Zahl in formatierten Text im script selbst umwandeln willst musst du die Zahl in einen String umwandeln.
>D
svar=""
dat=""
>S
svar=s(2.0day)
print %svar%
; z.B. Datum
dat=s(0day)+"."+s(0month)+"."+s(0year)
print %dat%
-
ups, sorry dummer Tipfehler
-
das doppelte Gleichheitszeichen !!!!
-
1. Vergleiche auf Gleichheit brauchen unbedingt ein doppeltes Gleichheitszeichen
2. die IP ist immer ein String, also braucht es Anführungszeichen.
3. lip ist eine Systemvariable und ist ebenfalls ein String
4. Prozentzeichen braucht man nur wenn man z.B. im Webdisplay (HTML) oder bei der Tasmota Befehlen eine script Variable in text umwandeln will-
also z.B.
if lip=="192.168.111.111"
then
print lokale ip = 192.168.111.111
endif
die lokale ip im Webdisplay anzeigen (das {m} ist eine spezielles Zeichen das in einen Tabulator umgewandelt wird)
>W
lokale IP: {m}%lip%
-
erstaunlich was hier so für Mythen drin stehen.
Obis geht mit Software und Hardware Serial 7E1 wird als 8E1 empfangen und das Parity wird ignoriert.
SerialConfig macht hier gar keinen Sinn.
Software Serial ist nur ein Problem bei höheren Baudraten z.B. 115200 da sollte man immer Hardware Serial benutzen.
Dein Problem liegt bei der WEMOS Hardware. Sollte eigentlich in dem Thread mal angesprochen worden sein.
RX ist mit 500 Ohm mit dem USB-UART Chip verbunden und zieht den Eingang deshalb nach HIGH so dass der Fototransistor es nicht mehr schafft die GPIO nach Masse zu ziehen.
Entweder den Widerstand auslöten oder vergrößern , z.B. auf 4,7 k
oder auf einen anderen Pin gehen mit Softwareserial.
-
MQTT ist ein zu großer Treiber der überall eingreift. Das geht nicht so einfach.
im wesentlichen Sensortreiber aber auch andere könnten so angepasst werden.
Ich brauche so ca 1-4 Stunden einen Treiber anzupassen je nach Komplexität. Das kann jeder der kodieren kann auch selbst machen. Gibt ein readme in meinem Fork.
Glaube aber trotzdem nicht das sich das durchsetzt. Werde auch erst mal keinen PR bei Tasmota dafür machen.
Die Vorteile sind dass auch jeder der sich mit Selbst kompilieren schwer tut die Treiber ganz einfach hinzufügen kann.
Die Nachteile sind dass es für jeden Treiber dann eine eigene binary geben muss und das für jeden Prozessortyp da es sich ja um Maschinenkode handelt der spezifisch für jeden CPU Typ ist. (das wären also bisher mindestens 3 verschiedene Binaries pro Treiber)
Und man hätte dann immer eine Quelltext Version für Tasmota original und für Plugin Version.
Also eher unwahrscheinlich, hat aber Spass gemacht das umzusetzen.
-
Hi,
Das habe ich als "brainjogging" mal eingebaut. Wollte beweisen dass es möglich ist Tasmota Treiber zur Laufzeit einzubinden und auch wieder zu entfernen ohne Neustart. Habe dazu einige Treiber so modifiziert dass man sie "nachladen" kann.
Am besten mal ausprobieren. installiere eine der obigen Binaries und sieh dir den Ordner Binary an. in dem sind verschiedene Treiber die man im Menu Plugins Directory nachladen kann. Die werden dann im Flash zusätzlich zu den bereits vorhanden Tasmota Treibern addiert.
Ist eigentlich selbsterklärend. Wenn du die Treiber beim Neustart starten willst must du auf einem Pin OPTION A 7 einstellen. Es verhält sich dann so als wären die Treiber mit kompiliert worden.
Die meisten sind I2C Sensoren dazu muss man in Tasmota natürlich die I2C Pins definieren und die entsprechenden Sensoren anschliessen.
-
gemu2015 : Welch eine Überraschung... werde das gleich mal testen.
Hast du vielleicht den Fingerprint R503 auch auf deiner Liste ?
Der wird doch von Tasmota schon unterstützt:
#define USE_AS608
dieser Treiber funktioniert auch für R503 -
zufällig arbeite ich gerade unter anderem an diesen beiden Treibern.
Der PN532 is sehr unzuverlässig über serielle Schnittstelle und sollte gar nicht mit Software seriell betrieben werden.
Beim RDM stört das weniger.
Habe beide Treiber umgeschrieben und der PN532 geht jetzt auch mit I2C. dort scheint er erheblich stabiler zu sein.
Allerdings laufen beide jetzt mit einer neuen Software Schnittstelle (Plugins)
Wenn jemand das ausprobieren will => Binaries deutsch mit SML und SCRIPT
Dazu geht ihr ins Menu Plugins und ladet dort eine der Treiber aus dem Link hoch. Die Treiber werden ohne Neustart eingebunden oder auch wieder gelöscht. Wenn ihr die Treiber beim Neustart starten wollt müsst ihr Option A7 auf einem Pin definieren.
Beim PN532 ist Mode ! default (I2C) Mode 0 ist seriell
-
So hier wie versprochen erstmal für Leute die sich mit dem selbst kompilieren schwertun die binaries für 1M und 4M esp8266, ESP32
SML
SCRIPT mit 8k Textspeicher.
DISPLAY Treiber über uDisplay
email Versand
Unterstützung für Plugins (nachladbare Sensor Treiber)
ca 20k freies RAM bei aktivem Script.
Update: 13.0.0.2
-
ok werd mich mal drum kümmern dass hier verschiedene binaries zur Verfügung gestellt werden mit scripting und SML.
Leider gibt es beim Tasmota niemanden der auch nur im geringsten an Scripting interessiert ist und ähnlich steht es mit SML.
Das war auch schon so lange bevor es das Berry Scripting für ESP32 gab.
Die Gründe sind mir schleierhaft.
Allerdings werden da meine neusten Entwicklungen drin sein die manchmal noch wenig getestet sind.
Habe gerade wenig Zeit, kann deshalb bis zum Wochenende dauern.
Ihr könnt noch Vorschläge machen was noch drin sein soll.
-
ok, du brauchst unbedingt die neueste dev version, sonst funktioniert die "so" Zeile nicht und erzeugt Syntax Fehler.
der Medianfilter hilft wenn es gelegentliche Aussetzer gibt. der geht auch in der alten Version.
es gab aber jede Menge Verbesserungen im SML Treiber weshalb du auch deshalb besser die neueste dev nehmen solltest.
-
du hast die Variable pwr ja gar nicht definiert!
deshalb bekommst du ein ???
du must alle Variablen die du verwenden willst in >D definieren
>D
pwr=0
der WebQuery in der Antwort vorne dran ist nur die Befehlsbestätigung , der Payload sollte mit StatusSNS anfangen