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?
>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%
Alles anzeigen