>D 48 ; Startminute P9=0 stm=0 ;dynamische Laufvariable i=0 cnt=0 at=0 BD="" st1="Neustart" sel1=0 boo=0 ges=0 heu=0 Tsu=0 Msu=0 Ssu=0 pu=0 ; Laufzeiteinstellung sle=0 wla=0 ss1=1 p12=120 ; p:p22=1 bu1=0 bu2=0 bu3=0 rb1=2 putz=10 ; Tageszyklen putz1=0 ; Tageszyklenzähler bl=0 an1=2000 an2=2000 stime=0 oset=-500 ; Timeroffset v1=0 ; Timerstartvergleich v2=0 ; Timerzeit -Pause v3=0 ; Timerzeit -Aktivzeit tmp=0 it=0 ; Intervall Tageszyklenübergabe F=0 ; Flag ;Dateiystem fr=0 Pu=0 Pl=0 A1="" A2="" str1="" res=0 mi=0 sres="" i3="" >B ;Notzeitzeit setzen =>time 1587435620 ;LED blue spinm(8 1) spin(8 1) ;GPIO02 Relais (out-Kanal) spinm(2 1) ; Time nur für Test =========== =>time 0 pu=20 putz=15 putz1=putz v1=millis P9=90000 ; 150 Sek - für Test 120 +30 Sek Pause P9=900000 ;15 Min F=0 ;=#neuedatei() +>status 1 =>WebColor {"WebColor":["#cccccc","#2f3133","#3d3f41","#dddddd","#293134","#ffb000","#293134","#ff5661","#008000","#ffffff","#ec7600","#bf5f00","#d43535","#931f1f","#47c266","#5aaf6f","#ffffff","#999999","#bc4d90"]} >F an1=adc(1)/112 ;Inverter einschalten ;print bu2 %0bu2% if chg[bu2]>0 then if bu2>0 then an2=14 st1="Inverter läuft" spin(2 1) ;AN spin(8 0) putz1=0 else st1="Inverter aus" spin(8 1) ;AUS spin(2 0) endif endif ; Anpassung Zyklusanzahl if chg[putz]>0 then putz1=putz v1=millis endif if chg[pu]>0 then putz1=putz v1=millis endif >S ; rücksetzen Tagesanfang Durchlaufzähler if time==2 then putz1=putz endif ; für ca. Anzeigezeit stime=(sunset/60-2) if rb1==1 then stm=780+oset-time else stm=sunset+oset-time endif ; Timerfunktionen=============== if chg[p22]>0 then switch p22 case 1 putz1=putz v1=millis spin(8 0) ;An spin(2 1) case 2 putz1=putz v1=millis spin(8 1) ;Aus spin(2 0) case 3 print noch ohne Funktion ends svar endif mi=mins if chg[mi]>0 and p22==4 then print Winteraufwärmen Minute prüfen switch mi case 5.00 print Winteraufwärmen ein =#datenw() spin(8 0) ;An spin(2 1) case 6.00 print Winteraufwärmen aus =#datenw() spin(8 1) ;An spin(2 0) ends endif ; ======Abarbeitung Timer =============================== ;-------------Intervall Laufzeit----------------- ;neg Zeit und pos. Anzahltageszyken dann Laufzeit + Pause abarbeiten ; Zeit ran, noch Umläufe if stm<0 and putz1>0 and p22==1 and bu==0 then ;Laufzeit in ms neg. dann aktiv v3=millis-v1-(pu*1000) if v3<0 ;-Start große Schleife--------- then an2=14 spin(2 1) spin(8 0) st1="Aktiv noch "+s(putz1)+" Mal" print Aktiv noch %putz1% heu=heu+v3/1000 else spin(8 1) spin(2 0) st1="Pause noch "+s(v2/60000)+" Minuten" endif ;!!v2 = Zeit - Startzeit - P9 Pause (900.000=15Min 9000=3Sek) v2=millis-v1-P9 if v2<0 then print Zykluspausenzeit %v2% else print _____v1-laden___ v1=millis putz1=putz1-1 spin(8 1) spin(2 0) endif else ;-else große Schleife--------- st1="warte auf Zyklus" v1=millis endif ;-Ende große Schleife--------- ;======================================================== ;Synchronisation if bu1>0 then =>time 0 bu1=0 endif ;Datumprüfen if year<2021 then if sel1<1 then sel1=1 BD="" else sel1=0 endif else BD="