Fehler im Script aber Script testen geht ? ! ? ! ?

Fehler in Firmware und WebUI & Workarounds

Moderator: Co-Administratoren

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von jmaus » 15.02.2016, 15:20

dtp hat geschrieben: Damit bringe ich dann ja meine CCU gezielt zum Absturz, oder? Muss nicht wirklich sein, finde ich. ;)
Da stürzt gar nix ab. Du solltest aber danach einen Reboot vorsehen damit der Variablencache (wenn es sowas wirklich gibt?!!?) wieder geleert wird.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Xel66
Beiträge: 14148
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: AW: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von Xel66 » 15.02.2016, 16:19

Wo sollten denn sonst die Variablen und ihre Inhalte denn sonst gespeichert werden? Es ist nur ein zugewiesener Speicherbereich im RAM. Wobei eigentlich sogar davon auszugehen ist, dass diese Zuweisung dynamisch erfolgt, da der In Wäre es anders, würde deren Inhalt den Reboot (wie bei den Systemvariablen) überleben. Dieses Löschen der in einem Script benutzten Variablen müsste eigentlich nach jedem Scriptlauf geschehen. Das passiert aber nicht und somit summiert es sich zu einem Problem.

Gruß Xel66
Zuletzt geändert von Xel66 am 15.02.2016, 23:00, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: AW: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von jmaus » 15.02.2016, 17:06

Xel66 hat geschrieben:Wo sollten denn sonst die Variablen und ihre Inhalte denn sonst gespeichert werden? Es ist nur ein zugewiesener Speicherbereich im RAM. Wäre es anders, würde deren Inhalt den Reboot (wie bei den Systemvariablen) überleben. Dieses Löschen der in einem Script benutzten Variablen müsste eigentlich nach jedem Scriptlauf geschehen. Das passiert aber nicht und somit summiert es sich zu einem Problem.
Das ist mir schon klar das RegaHSS die variablen im RAM halten muss. Ich würde hier allerdings nicht den Begriff "Cache" verwenden, denn das ist meiner Meinung nach nicht der richtige Begriff und macht nur den Eindruck das dieses Verhalten gewollt ist – was es aber nicht sein kann.

Im übrigen kann man den Bug auch auf Konsolenebene mittels eines tclsh skriptes sehr gut demonstrieren. Hier einmal der Skript den ich dazu verwende:

Code: Alles auswählen

#!/bin/tclsh
load tclrega.so

array set result [rega_script {

var i1=1; if(i1==1) { WriteLine(i1); }
var i2=2; if(i2==2) { WriteLine(i2); }
var i3=3; if(i3==3) { WriteLine(i3); }
var i4=4; if(i4==4) { WriteLine(i4); }
var i5=5; if(i5==5) { WriteLine(i5); }
var i6=6; if(i6==6) { WriteLine(i6); }
var i7=7; if(i7==7) { WriteLine(i7); }
var i8=8; if(i8==8) { WriteLine(i8); }
var i9=9; if(i9==9) { WriteLine(i9); }
var i10=10; if(i10==10) { WriteLine(i10); }
var i11=11; if(i11==11) { WriteLine(i11); }
var i12=12; if(i12==12) { WriteLine(i12); }
var i13=13; if(i13==13) { WriteLine(i13); }
var i14=14; if(i14==14) { WriteLine(i14); }
var i15=15; if(i15==15) { WriteLine(i15); }
var i16=16; if(i16==16) { WriteLine(i16); }
var i17=17; if(i17==17) { WriteLine(i17); }
var i18=18; if(i18==18) { WriteLine(i18); }
var i19=19; if(i19==19) { WriteLine(i19); }
var i20=20; if(i20==20) { WriteLine(i20); }
var i21=21; if(i21==21) { WriteLine(i21); }
var i22=22; if(i22==22) { WriteLine(i22); }
var i23=23; if(i23==23) { WriteLine(i23); }
var i24=24; if(i24==24) { WriteLine(i24); }
var i25=25; if(i25==25) { WriteLine(i25); }
var i26=26; if(i26==26) { WriteLine(i26); }
var i27=27; if(i27==27) { WriteLine(i27); }
var i28=28; if(i28==28) { WriteLine(i28); }
var i29=29; if(i29==29) { WriteLine(i29); }
var i30=30; if(i30==30) { WriteLine(i30); }
var i31=31; if(i31==31) { WriteLine(i31); }
var i32=32; if(i32==32) { WriteLine(i32); }
var i33=33; if(i33==33) { WriteLine(i33); }
var i34=34; if(i34==34) { WriteLine(i34); }
var i35=35; if(i35==35) { WriteLine(i35); }
var i36=36; if(i36==36) { WriteLine(i36); }
var i37=37; if(i37==37) { WriteLine(i37); }
var i38=38; if(i38==38) { WriteLine(i38); }
var i39=39; if(i39==39) { WriteLine(i39); }
var i40=40; if(i40==40) { WriteLine(i40); }
var i41=41; if(i41==41) { WriteLine(i41); }
var i42=42; if(i42==42) { WriteLine(i42); }
var i43=43; if(i43==43) { WriteLine(i43); }
var i44=44; if(i44==44) { WriteLine(i44); }
var i45=45; if(i45==45) { WriteLine(i45); }
var i46=46; if(i46==46) { WriteLine(i46); }
var i47=47; if(i47==47) { WriteLine(i47); }
var i48=48; if(i48==48) { WriteLine(i48); }
var i49=49; if(i49==49) { WriteLine(i49); }
var i50=50; if(i50==50) { WriteLine(i50); }
var i51=51; if(i51==51) { WriteLine(i51); }
var i52=52; if(i52==52) { WriteLine(i52); }
var i53=53; if(i53==53) { WriteLine(i53); }
var i54=54; if(i54==54) { WriteLine(i54); }
var i55=55; if(i55==55) { WriteLine(i55); }
var i56=56; if(i56==56) { WriteLine(i56); }
var i57=57; if(i57==57) { WriteLine(i57); }
var i58=58; if(i58==58) { WriteLine(i58); }
var i59=59; if(i59==59) { WriteLine(i59); }
var i60=60; if(i60==60) { WriteLine(i60); }
var i61=61; if(i61==61) { WriteLine(i61); }
var i62=62; if(i62==62) { WriteLine(i62); }
var i63=63; if(i63==63) { WriteLine(i63); }
var i64=64; if(i64==64) { WriteLine(i64); }
var i65=65; if(i65==65) { WriteLine(i65); }
var i66=66; if(i66==66) { WriteLine(i66); }
var i67=67; if(i67==67) { WriteLine(i67); }
var i68=68; if(i68==68) { WriteLine(i68); }
var i69=69; if(i69==69) { WriteLine(i69); }
var i70=70; if(i70==70) { WriteLine(i70); }
var i71=71; if(i71==71) { WriteLine(i71); }
var i72=72; if(i72==72) { WriteLine(i72); }
var i73=73; if(i73==73) { WriteLine(i73); }
var i74=74; if(i74==74) { WriteLine(i74); }
var i75=75; if(i75==75) { WriteLine(i75); }
var i76=76; if(i76==76) { WriteLine(i76); }
var i77=77; if(i77==77) { WriteLine(i77); }
var i78=78; if(i78==78) { WriteLine(i78); }
var i79=79; if(i79==79) { WriteLine(i79); }
var i80=80; if(i80==80) { WriteLine(i80); }
var i81=81; if(i81==81) { WriteLine(i81); }
var i82=82; if(i82==82) { WriteLine(i82); }
var i83=83; if(i83==83) { WriteLine(i83); }
var i84=84; if(i84==84) { WriteLine(i84); }
var i85=85; if(i85==85) { WriteLine(i85); }
var i86=86; if(i86==86) { WriteLine(i86); }
var i87=87; if(i87==87) { WriteLine(i87); }
var i88=88; if(i88==88) { WriteLine(i88); }
var i89=89; if(i89==89) { WriteLine(i89); }     
var i90=90; if(i90==90) { WriteLine(i90); }     
var i91=91; if(i91==91) { WriteLine(i91); }     
var i92=92; if(i92==92) { WriteLine(i92); }     
var i93=93; if(i93==93) { WriteLine(i93); }     
var i94=94; if(i94==94) { WriteLine(i94); }     
var i95=95; if(i95==95) { WriteLine(i95); }     
var i96=96; if(i96==96) { WriteLine(i96); }     
var i97=97; if(i97==97) { WriteLine(i97); }     
var i98=98; if(i98==98) { WriteLine(i98); }     
var i99=99; if(i99==99) { WriteLine(i99); }     
var i100=100; if(i100==100) { WriteLine(i100); }
var i101=101; if(i101==101) { WriteLine(i101); }
var i102=102; if(i102==102) { WriteLine(i102); }
var i103=103; if(i103==103) { WriteLine(i103); }
var i104=104; if(i104==104) { WriteLine(i104); }
var i105=105; if(i105==105) { WriteLine(i105); }
var i106=106; if(i106==106) { WriteLine(i106); }
var i107=107; if(i107==107) { WriteLine(i107); }
var i108=108; if(i108==108) { WriteLine(i108); }
var i109=109; if(i109==109) { WriteLine(i109); }
var i110=110; if(i110==110) { WriteLine(i110); }
var i111=111; if(i111==111) { WriteLine(i111); }
var i112=112; if(i112==112) { WriteLine(i112); }
var i113=113; if(i113==113) { WriteLine(i113); }
var i114=114; if(i114==114) { WriteLine(i114); }
var i115=115; if(i115==115) { WriteLine(i115); }
var i116=116; if(i116==116) { WriteLine(i116); }
var i117=117; if(i117==117) { WriteLine(i117); }
var i118=118; if(i118==118) { WriteLine(i118); }
var i119=119; if(i119==119) { WriteLine(i119); }
var i120=120; if(i120==120) { WriteLine(i120); }
var i121=121; if(i121==121) { WriteLine(i121); }
var i122=122; if(i122==122) { WriteLine(i122); }
var i123=123; if(i123==123) { WriteLine(i123); }
var i124=124; if(i124==124) { WriteLine(i124); }
var i125=125; if(i125==125) { WriteLine(i125); }
var i126=126; if(i126==126) { WriteLine(i126); }
var i127=127; if(i127==127) { WriteLine(i127); }
var i128=128; if(i128==128) { WriteLine(i128); }
var i129=129; if(i129==129) { WriteLine(i129); }
var i130=130; if(i130==130) { WriteLine(i130); }
var i131=131; if(i131==131) { WriteLine(i131); }
var i132=132; if(i132==132) { WriteLine(i132); }
var i133=133; if(i133==133) { WriteLine(i133); }
var i134=134; if(i134==134) { WriteLine(i134); }
var i135=135; if(i135==135) { WriteLine(i135); }
var i136=136; if(i136==136) { WriteLine(i136); }
var i137=137; if(i137==137) { WriteLine(i137); }
var i138=138; if(i138==138) { WriteLine(i138); }
var i139=139; if(i139==139) { WriteLine(i139); }
var i140=140; if(i140==140) { WriteLine(i140); }
var i141=141; if(i141==141) { WriteLine(i141); }
var i142=142; if(i142==142) { WriteLine(i142); }
var i143=143; if(i143==143) { WriteLine(i143); }
var i144=144; if(i144==144) { WriteLine(i144); }
var i145=145; if(i145==145) { WriteLine(i145); }
var i146=146; if(i146==146) { WriteLine(i146); }
var i147=147; if(i147==147) { WriteLine(i147); }
var i148=148; if(i148==148) { WriteLine(i148); }
var i149=149; if(i149==149) { WriteLine(i149); }
var i150=150; if(i150==150) { WriteLine(i150); }
var i151=151; if(i151==151) { WriteLine(i151); }
var i152=152; if(i152==152) { WriteLine(i152); }
var i153=153; if(i153==153) { WriteLine(i153); }
var i154=154; if(i154==154) { WriteLine(i154); }
var i155=155; if(i155==155) { WriteLine(i155); }
var i156=156; if(i156==156) { WriteLine(i156); }
var i157=157; if(i157==157) { WriteLine(i157); }
var i158=158; if(i158==158) { WriteLine(i158); }
var i159=159; if(i159==159) { WriteLine(i159); }
var i160=160; if(i160==160) { WriteLine(i160); }
var i161=161; if(i161==161) { WriteLine(i161); }
var i162=162; if(i162==162) { WriteLine(i162); }
var i163=163; if(i163==163) { WriteLine(i163); }
var i164=164; if(i164==164) { WriteLine(i164); }
var i165=165; if(i165==165) { WriteLine(i165); }
var i166=166; if(i166==166) { WriteLine(i166); }
var i167=167; if(i167==167) { WriteLine(i167); }
var i168=168; if(i168==168) { WriteLine(i168); }
var i169=169; if(i169==169) { WriteLine(i169); }
var i170=170; if(i170==170) { WriteLine(i170); }
var i171=171; if(i171==171) { WriteLine(i171); }
var i172=172; if(i172==172) { WriteLine(i172); }
var i173=173; if(i173==173) { WriteLine(i173); }
var i174=174; if(i174==174) { WriteLine(i174); }
var i175=175; if(i175==175) { WriteLine(i175); }
var i176=176; if(i176==176) { WriteLine(i176); }
var i177=177; if(i177==177) { WriteLine(i177); }
var i178=178; if(i178==178) { WriteLine(i178); }
var i179=179; if(i179==179) { WriteLine(i179); }
var i180=180; if(i180==180) { WriteLine(i180); }
var i181=181; if(i181==181) { WriteLine(i181); }
var i182=182; if(i182==182) { WriteLine(i182); }
var i183=183; if(i183==183) { WriteLine(i183); }
var i184=184; if(i184==184) { WriteLine(i184); }
var i185=185; if(i185==185) { WriteLine(i185); }
var i186=186; if(i186==186) { WriteLine(i186); }
var i187=187; if(i187==187) { WriteLine(i187); }
var i188=188; if(i188==188) { WriteLine(i188); }
var i189=189; if(i189==189) { WriteLine(i189); }
var i190=190; if(i190==190) { WriteLine(i190); }
var i191=191; if(i191==191) { WriteLine(i191); }
var i192=192; if(i192==192) { WriteLine(i192); }
var i193=193; if(i193==193) { WriteLine(i193); }
var i194=194; if(i194==194) { WriteLine(i194); }
var i195=195; if(i195==195) { WriteLine(i195); }
var i196=196; if(i196==196) { WriteLine(i196); }
var i197=197; if(i197==197) { WriteLine(i197); }
var i198=198; if(i198==198) { WriteLine(i198); }
var i199=199; if(i199==199) { WriteLine(i199); }
var i200=200; if(i200==200) { WriteLine(i200); }
var i201=201; if(i201==201) { WriteLine(i201); }
var i202=202; if(i202==202) { WriteLine(i202); }
var i203=203; if(i203==203) { WriteLine(i203); }
var i204=204; if(i204==204) { WriteLine(i204); }
var i205=205; if(i205==205) { WriteLine(i205); }

} ]                                             

set result_size [array size result]
puts "array size: $result_size"                 
                                                
set i1 $result(i1)                              
puts "i1 = $i1"                                 
                                                
set i149 $result(i149)                          
puts "i149 = $i149"                             
                                                
set i180 $result(i180)                          
puts "i180 = $i180"                             
                                                
set i200 $result(i200)                          
puts "i200 = $i200"                             
                                                
set i201 $result(i201)                          
puts "i201 = $i201"                             
Dieser Skript (wenn man ihn als tclsh script auf die CCU kopiert und dort per kommandozeile ausführt) gibt folgende Ausgaben/Fehlermeldungen zurück:

Code: Alles auswählen

array size: 201
i1 = null
i149 = null
i180 = null
Kürzt man den Skript entsprechend ab und lässt nur bis X (z.B. i190) den script ausführen kommt hingegen folgende Ausgabe:

Code: Alles auswählen

array size: 193
i1 = 1
i149 = 149
i180 = 180
Man sieht also sehr gut das ab einer gewissen Anzahl von Scriptvariablen ReGaHSS irgendein Überlauf (nennen wir es mal so) provoziert und damit dann die gesamte skriptausführung dieses Skriptes ein Fehler produziert.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Xel66
Beiträge: 14148
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: AW: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von Xel66 » 15.02.2016, 23:15

jmaus hat geschrieben:Ich würde hier allerdings nicht den Begriff "Cache" verwenden, denn das ist meiner Meinung nach nicht der richtige Begriff ...
Hmmm... Ein Cache ist ein Zwischen- oder auch Pufferspeicher. Er kann physisch als separater Speicher oder auch nur als reservierter Bereich ausgeführt sein. Das Cachen während des Scriptlaufes ist durchaus beabsichtigt, erwünscht und notwendig. Nur hat sich vermutlich in der Behandlungsroutine für Scriptvariablen ein Fehler eingeschlichen und der Speicher wird nach dem Scriptlauf nicht geleert.

Wobei ich denke, dass die Beschränkung auf 200 Variablen beabsichtigt ist. Mehr braucht man eigentlich auch innerhalb eines Scripts nicht. Auf Grund des fehlenden Flush wirkt sich das aber nun global in der ganzen CCU und bei allen Scripts aus.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von dtp » 16.02.2016, 08:20

jmaus hat geschrieben: Da stürzt gar nix ab. Du solltest aber danach einen Reboot vorsehen damit der Variablencache (wenn es sowas wirklich gibt?!!?) wieder geleert wird.
Ah. Alles klar. Dann kann ich das vor dem nächsten geplanten Neustart der CCU mal durchführen. Vielleicht gibt's ja bald wieder ein FW-Update. ;)

Vielleicht kann ja uwe111 mal ein CUxD-Gerät implementieren, das durch entsprechenden Aufruf in einem WebUI-Programm oder Skript den Cache leert. Also nur, falls eQ-3 da nichts in die Richtung unternimmt.

Bis dann,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von jmaus » 16.02.2016, 09:24

dtp hat geschrieben: Vielleicht kann ja uwe111 mal ein CUxD-Gerät implementieren, das durch entsprechenden Aufruf in einem WebUI-Programm oder Skript den Cache leert. Also nur, falls eQ-3 da nichts in die Richtung unternimmt.
Und wie genau soll das bitte funktionieren? Wenn es einen bekannten Weg geben würde (ausser einem Neustart von ReGaHSS) den Cache zu leeren wäre das hier sicherlich schon als Workaround genannt worden. Ich hatte mir sogar schon die mühe gemacht ReGaHSS einmal zu Debuggen um zu schauen ob es vielleicht irgendwo eine versteckte option oder so gibt um hier etwas zu erreichen, aber auch ohne Erfolg. Meines Wissens gibt es eben momentan ausser einem Neustart von ReGaHSS keine Möglichkeit das Problem zu umgehen.
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

dtp
Beiträge: 10658
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von dtp » 16.02.2016, 14:18

jmaus hat geschrieben: Und wie genau soll das bitte funktionieren?
Keine Ahnung. War auch nur so ein Gedanke. Wenn's da keinen Workaround gibt, dann bleibt wohl nur zu hoffen, dass sich eQ-3 der Sachen annimmt. Aber irgendwo muss doch die maximale Anzahl von 200 definiert sein. Das scheint ja schließlich kein Zufallswert zu sein, oder?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

BadenPower

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von BadenPower » 16.02.2016, 16:06

jmaus hat geschrieben: Und wie genau soll das bitte funktionieren? Wenn es einen bekannten Weg geben würde (ausser einem Neustart von ReGaHSS) den Cache zu leeren wäre das hier sicherlich schon als Workaround genannt worden.
ClearCache() ???

Müsste eigentlich eine Funktion des Objekts "system" sein.

Hab es leider nicht probiert, denn ich habe nur eine CCU und die ist im Betriebs-Modus, also nichts zum Testen.


.
Zuletzt geändert von BadenPower am 16.02.2016, 16:09, insgesamt 1-mal geändert.

Benutzeravatar
jmaus
Beiträge: 9844
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 462 Mal
Danksagung erhalten: 1863 Mal
Kontaktdaten:

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von jmaus » 16.02.2016, 16:08

BadenPower hat geschrieben: ClearCache() ???

Hab es leider nicht probiert, denn ich habe nur eine CCU und die ist im Betriebs-Modus, also nichts zum Testen.
Und wo genau ist das Bitte dokumentiert?
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

BadenPower

Re: Fehler im Script aber Script testen geht ? ! ? ! ?

Beitrag von BadenPower » 16.02.2016, 16:14

jmaus hat geschrieben:Und wo genau ist das Bitte dokumentiert?
70% aller zur Verfügung stehenden Funktionen und Methoden sind nicht dokumentiert.

Die Sysntax für solche Sachen ist:
"search CCU" && ("try and fail" || "try and success")


.

Antworten

Zurück zu „HomeMatic - bekannte Bugs“