Beiträge von StephanF
-
-
welches Release - geht nur bis 13.3.5 und man darf den gesamten Stringspeicher von ca 650 Zeichen nicht überfahren
Wie sieht deine Testzeile aus ?
Nun Dein Beispiel.
Webbutton1 Zeile1<p>Zeile2
Ich nutze Tasmota V14.5.x -
Webui wird nur alle 2 Sekunden refresht !
Diese Zeit kann zu Lasten der Cpu-Leistung mit einem Parameter verstellt werden.
WebRefresh Web page refresh
1000..10000 = set refresh time in milliseconds (default = 2345)Zudem in der >T Section die HX711 Auswertung oder einen Interrupt organisiert?
Hey karoCB
Also ich meine NICHT die WEBUI.
Es geht mir um die Geschwindigkeit in z.B. der Konsole oder ser seriellen Konsole.
Hier mein Script
Damit kann ich alle 100ms den Gewichtswert in der Console ausgeben lassen. In der Console wird das auch entsprechend schnell angezeigt.
Jedoch dauert es bis die Waage eine Änderung registriert.
Kann man "Dämpfungen" oder Mittelwertfilter in HX711 einstellen? (Ich vermute es ist irgendeine "Standard Glättung"
Ich habe mir mal gerade ein ganz banales script in den ESP geladen welches NUR den Istwert ausliest.
dann die Hand mal auf die Messzelle und wieder weg.
Ist rasend schnell..
Update 25.3.2025.
Ich habe die "Bremse" gefunden! Es ist der HX711 Treiber. Dort wird eine Dämpfung gemacht.
Ich habe den Treiber entsprechend umgeschrieben, bzw. erweitert (dem Sensor34 noch die Optionen 13-19 hinzugefügt, so habe ich dann, zur Laufzeit, mehr Einfluss auf die Werte die da kommen und wie die verarbeitet werden.
Im ersten Moment sieht es so ganz gut aus. Ich muss noch ausführliche Tests machen, aber auf jeden Fall bin ich nun bei jede 100ms (>F) eine Wertänderung -
Webbutton1 Zeile1<p>Zeile2
oder Devicename und Slider hier
Also das mit dem 2 Zeiligen Webbutton funktioniert bei mir nicht
-
Hey zusammen.
Ich habe dieser Tage einen ESP mit Tasmota mit einer Waage mit einem HX711 verbunden.
Klappt auf Anhieb. Der Gewichtswert wird nach der Kalibration sehr genau angezeigt.
Jedoch sehe ich keine Gewichtsänderungen in Echtzeit....Also nur so ca. alle 2 Sekunden
(habe eine Ausgabe des Gewichts alle 100ms in der console realisiert, per Script)
Hat einer schon mal damit gearbeitet und kann mir sagen woran es liegen könnte?
LGStephan
-
Alles klar! Danke für die Antwort.
Mit "websensor" hast du natürlich vollkommen recht. Hab ich wiedermal mit "i2cdriver" verwechselt ... Sorry!
Aber im Grunde verfolgen wir das selbe Ziel --> Tasmota-GUI zu ändern
Ich kenne mich mit Script leider nicht aus. Ich ändere meine Tasmota.bins direkt im Quellcode.
Edit: Dieser ESP32c6 misst alle Klimawerte im und rum ums Haus, steuert EQ3 Heizkörperventile, die LED und ein Buzzer dienen für verschiedene Signalmeldungen. Wird alles in IOBroker eingelesen und verarbeitet. Aber für den Notfall will ich alle Werte am ESP direkt sehen.
Wo änderst du den da konkret? im Webserver?
-
Ja, Einstein67, du darfst fragen
Der Befehl Websensor ist nicht zum deaktivieren des Sensors, wie du das vermutest. Der Sensor funktioniert weiter im Hintergrund...Ich gestalte mir mein WebUI nur immer gerne selber per script. So blende ich zum Beispiel einen DS18B20 auch immer aus und zeige diese mir mit meinen "Namen" entsprechend im WebUI an..
Hier ein Beispiel : einmal mit ausgeblendeten Sensoren und einmal mit eingeblendeten. -
-
-
Update zu dem Thema
Mit der neuesten Tasmota Version V14.4.n.n ist es möglich das script in die user_config_override.h zu integrieren. Habe ich also auf diese weise dann lösen können! -
-
Hallo Zusammen.
Ich habe mit über einen ESP32 eine Rollladensteuerung realisiert.
Das klappt auch sehr gut. Entsprechend habe ich das WebUI auch "Aufgehübscht" (ich weiss, ist Ansichtsache)
Nun ich lese die Position des Shutters im Bereich >E ins eine Variable und zeige diese dann auch im WebUI an.
Das klappt sehr gut
Nun habe ich auch einen Button integriert, welcher den Shutter in eine "Sonnenschutz" Position fahren soll.
Um diese Position im WebUI änderbar zu machen, habe ich entsprechend zwei Eingabe Felder gemacht...Das klappt auch soweit...wenn ich die Zahl im Eingabefeld [1] oder [2] ändere, dann wird die Änderung auch übernommen, jedoch funktioniert meine Abfrage auf Änderung der entsprechenden Variable nicht und es kommt eine Fehlermeldung [3] in der Konsole
Es wird also die Variable "Shutter1#position" angemekert, die aber beim Normalen fahren des Rolladen ausgelesen und angezeigt wird..
Hier mal mein Script...
Kann mir da einer helfen und sagen was ich falsch mache?
1. warum kommt die Fehlermeldung in der Konsole, wenn ich den Wert eines Eingabefeldes Ändere?2. warum wird die Abfrage auf Änderung nicht ausgeführt?
Code
Alles anzeigen>D p:shpg=35 p:shpb=35 sht12=0 sht3=0 sht12aktiv=0 sht3aktiv=0 pos1=0 pos2=0 pos3=0 stop=0 >E pos1=Shutter1#Position pos2=Shutter2#Position pos3=Shutter3#Position >S ;Wenn eine Änderung der Positionen gemacht wird, diese im Flash speichern if (chg[shpg]>0) or (chg[shpb]>0) { Print 1Vars to flash svars Print 2Vars to flash ->webbutton9 Gäste-%shpg%%% ->webbutton12 Büro-%shpb%%% } >F if pwr[1]==0 and pwr[2]==0 and pwr[3]==0 and pwr[4]==0 and sht12aktiv==1 { sht12aktiv=0 } ; Anwahl Gäste Rolladen öffnen if pwr[7]==1 { sht12=1 =>power7 0 } ; Anwahl Gäste Rolladen schliessen if pwr[8]==1 { sht12=2 =>power8 0 } ; Anwahl Gäste Rolladen Sonnenschutz if pwr[9]==1 { sht12=3 =>power9 0 } ; Anwahl Gäste Rolladen Stop if sht12aktiv==1 and sht12<=3 and sht12>0 { sht12=4 } ; Anwahl Stop Rolladen Gäste und Büro if stop==1{ sht12=4 sht3=4 stop=0 } ; Befehle Gästerolladen ausführen switch sht12 case 1 ; Gäste Beide Rolläden öffnen print cases 1 - Gäste Beide Rolläden öffnen =>shutteropen1 =>shutteropen2 sht12aktiv=1 case 2 ; Gäste Beide Rolläden schliessen print cases 2 Gäste Beide Rolläden schliessen =>shutterclose1 =>shutterclose2 sht12aktiv=1 case 3 ; Gäste Beide Rolläden auf Sonnenschutz print cases 3 Gäste Beide Rolläden auf Sonnenschutz =>shutterposition1 %shpg% =>shutterposition2 %shpg% sht12aktiv=1 case 4 ; Gäste Beide Rolläden STOP print cases 4 Gäste Beide Rolläden STOP =>shutterstop1 =>shutterstop2 ends sht12=0 ; ========== AB HIER Büro Rolladen ========== if pwr[5]==0 and pwr[6]==0 and sht3aktiv==1 { sht3aktiv=0 } ; Anwahl Büro Rolladen öffnen if pwr[10]==1 { sht3=1 =>power10 0 } ; Anwahl Büro Rolladen schliessen if pwr[11]==1 { sht3=2 =>power11 0 } ; Anwahl Büro Rolladen Sonnenschutz if pwr[12]==1 { sht3=3 =>power12 0 } ; Anwahl Büro Rolladen Stop if sht3aktiv==1 and sht3<=3 and sht3>0 { sht3=4 } ; Befehle Bürorolladen ausführen switch sht3 case 1 ; Büro Rolladen öffnen print cases 1 - Büro Rolladen öffnen =>shutteropen3 sht3aktiv=1 case 2 ; Büro Rolladen schliessen print cases 2 Büro Rolladen schliessen =>shutterclose3 sht3aktiv=1 case 3 ; Büro Rolladen auf Sonnenschutz print cases 3 Büro Rolladen auf Sonnenschutz =>shutterposition3 %shpb% sht3aktiv=1 case 4 ; Büro Rolladen STOP print cases 4 Büro Rolladen STOP =>shutterstop3 ends sht3=0 >W @<div style="display: flex; border-style: solid; border-width: 5px; border-color: #0e70a4; background-color: #1f1f1f; padding: 10px;"><div> nm(5 99 1 shpb "Sonnensch. Büro : " 60 0) nm(5 99 1 shpg "Gäste: " 60 0) </div> </blockquote> bu(stop "Stop" "Stop") <b>Posistion Rolläden</b> <p>Gäste links: %0pos1% %% rechts: %0pos2% %% Büro %0pos3% %%</p> heap: {m}%heap%
-
Hallo.
Ich habe einen "Sender" und "Empfänger" es soll eine variable als "Schaltsignal genutzt werden.
Wenn ich auf der Sender Seite eine "1" da rein schreibe, soll auf der Empfänger Seite das Relais eingeschaltet werden.Wenn eine 0 drin steht, dann soll das Relais aus gehen.
Leider funktioniert das Update der Globalen variable nur sporadisch.Wie kann ich das Update der globalen variablen "forcieren"?
So sehen die Scripte bei mir aus:
Empfänger:
Code
Alles anzeigen>D g:laspre=0 >F if laspre>=1 then ->power1 1 else ->power1 0 endif >W laspre=%laspre%
Sender:
Ich habe ein "workaround" gefunden, indem ich, auf der Sender Seite, den Inhalt der Variable jeden Zyklus einmal ändere, also wenn eine "1" drin steht, schreibe ich eine "1.1" rein, wenn dann im nächsten Zyklus eine "1.1" drin steht, schreibe ich eine "1" rein. das gleiche mache ich mit der "0". Jetzt bekommt der Empfänger die variable upgedatet. Auf der Empfänger Seite habe ich den Vergleich dann auch entsprechend angepasst.
Sender:
Code
Alles anzeigen>D g:laspre=0 >B >F if laspre==1.1 then laspre=1 endif if laspre==1 then laspre=1.1 endif if laspre==0.1 then laspre=0 endif if laspre==0 then laspre=0.1 endif >W laspre=%laspre% nm(0 100 1 laspre "ltxt")
Empfänger:
Code
Alles anzeigen>D g:laspre=0 >F if laspre>1 then ->power1 1 else ->power1 0 endif >W laspre=%laspre%
LG Stephan
-
-
wenn das Gerät mit einer bekannten IP läuft kann der Script von extern so aktiviert werden
http://192.168.178.xx/cm?cmnd=script%201
Danke Dir.
Das ist schon mal ein erster Hinweis
-
Hallo liebe "Leidensgenossen".
Meine Firmware hat immer Script Support aktiviert und ich nutze auch die Scripte.
Ich erstelle mir in der Regel eine BIN Datei die sowohl die Vorlage als auch alle Settings schon beinhaltet. Somit hat jedes Gerät nach einen "Reset 1" alle notwendigen Einstellungen um wieder seine Arbeit aufzunehmen. Leider scheitet es noch am Script und dessen Aktivierung. Weiss jemand wie ich das in die Bin Datei integrieren kann?
gemu2015 Vlt du Gerhard?LG Stephan
-
Hallo zusammen.
Ich möchte gerne den optionalen Script Editor mit der Syntax Hervorhebung nutzen. Leider bekomme ich den nicht unter Windows "an laufen".Kann hier jemand Tips geben, was ich machen kann?
Hier der Link zu dem Optionalen Editor.Scripting Language - Tasmota
LG
Stephan -
-
Du musst dir eine BIN mit Script Support machen.
Dann kannst du Endschater oder sonstiges im WebUI anzeigen. EIgentlich alles was du möchtest!
-
Hallo
Ich habe mir für meinen Stromzähler einen IR Empfänger angeschaft um diesen nun auszulesen.
Das klappt auch prima. im WebUI wird alles angezeigt.
Nun möchte ich damit Relais schalten.
Dafür muss ich natürlich den entsprechenden Wert im Script verfügbar haben.
Das ist ja im Beispiel Script auch schon enthalten, doch leider bekomme ich dann in die Variable pin nicht rein...
Hier das script welches ich nutze.
https://tasmota.github.io/docs/Smart-Met…th-daily-values
und noch meine Ausgabe.....
Hat einer nen Hinweis wie ich den Wert aus dem SML string in eine variable bekomme?