SensorAndSwitch Haus-Automation auf Webserver-Basis

Die SensorAndSwitch V2.00 ist nun bei mir im Beta-Test.
Alle Probleme sind nun soweit gefunden und behoben. Alle Weboberflächenteile von der WebGUI incl. sasap-Status, sasapui und die Einstellungsmasken sind im Aufruf und Verarbeitung unter 1 Sekunde. Wenn der Beta-Test bei mir fehlerfrei läuft, gibt es in einigen Tagen die neue Version. Bis dahin noch etwas Geduld. :)
 
Hallo,
:) Kann man sie dann einfach als Update laufen lassen? Oder sind noch andere Änderungen notwendig?
Wenn ich Dich richtig verstanden habe, hast Du ja eine Menge an der Software geschraubt ;)
 
Problemlos updatefähig, trotzdem ich da fast alles auf den Kopf gestellt habe. ;)
 
Sehr schön, freut mich.
Es brennt mir zwar in den Fingern, aber ich warte trotzdem das reguläre Update ab.
:rolleyes:

Was mir noch eingefallen ist...
Wenn der crond sasap.php Aufruf sowieso jede Minute das Login mit der sid= macht,
kann er dann nicht einfach diese dann immer wieder verwenden?
So nach der Logik: Ich hol nur eine Neue sid= wenn die Alte ungültig ist
( Brain oder Konfigurationsdatei )
 
Zuletzt bearbeitet:
Wenn es nur eine Fritzbox wäre, aber theoretisch können ja mehrere in sas eingebunden werden ... mit der SID muss ich mir nochmal was überlegen, aber bis jetzt stört es wohl nicht.

Die Labor ........ naja, ich denke ich stelle sie besser doch mal ein. Aber nicht per Updatefunktion, dafür ist sie noch zu sehr "Labor" und ungetestet.
Daher Nutzung auf eigene Gefahr ;) : zurück, wegen Fehler. Es kommt gleich eine neue Labor.... sorry
 
Zuletzt bearbeitet:
Ok, noch ein Versuch: Link gelöscht, da veraltet.
 
Zuletzt bearbeitet:
geht soweit, aber nach dem schalten erscheinen für einen refresh lauf alle sensoren doppelt, bzw. dreifach. ein weiterer zyklus dann ist wieder alles okay.

kann man super in einen extra Ordner kopieren und dort aufrufen ...
 
@HarryHase: Das Phänomen hatte ich noch nicht. Dafür fehlten alle Pseudoscripte in der Anzeige bei der Wahl Pseudo... ist (hoffentlich jetzt) korrigiert. Ist noch nicht eingestellt. Suche noch einen anderen Fehler.
 
Problem lokalisiert. Es ist das Problem, dass sasap noch nicht fertig ist und es erneut vom cron gestartet wird. Übeltäter ist cURL. Ich experimentiere gerade mit timeouts. Zu kurz gesetzt und die Fritzbox sendet nichts mehr. Zu lang und sasap stapelt sich... ich arbeite an dem Problem... :gruebel:
 
kein Ding, melde halt was auffällt, dazu sind die Betas ja da ...
 
Ja, genau. Nicht jeder hat die gleichen Pseudoscripte, Sensoren und Geräte in sas. Bei bestimmten Konstellationen gibt es die unterschiedlichsten Probleme. Feedback ist da immer gut.

Welche Sensoren betrifft es bei dir? Sind es Pseudoscripte? Wenn ja, welche?

Ich habe inzwischen Probleme in der Array-Generierung gefunden, wenn nur Fritzbox-Geräte oder nur Pseudoscripte existieren. Das konnte ich beheben.
Nächster Punkt sind Websensoren. Ist die Seite nicht erreichbar, ist das Timeout von cURL sehr lange, das sasap hängt und es wird von cron schon das nächste geladen. Je mehr sasap laufen, desto langsamer die weitere Abarbeitung, bis fast nichts mehr geht.
Nächster Punkt die Fritzbox-Steckdosen. Aufruf der Fritzbox zum Schalten und Status Lesen ist zeitintensiv. Das macht in Summe auch ein großes Problem. Wartet die Funktion nicht lange genug, endet das Script ohne Schaltvorgang.
Weiter geht es mit Edimax-Steckdosen. Sind die nicht erreichbar, aber online, so wartet hier cURL minutenlang. Gerade die machen hier richtig Probleme.
Nächster Punkt ist, dass das sasap und seine nachfolgend aufgerufenen gleichzeitig den Gerätecache schreiben wollen. Auch das macht Probleme.
Dazu kommt, wenn sas schaltet, muss es ebenfalls den Gerätecache neu schreiben. Es muss warten, bis sasap nichts mehr daran macht. Auch eine Verzögerung.
Das sind momentan so die Grundprobleme, mit denen ich mich herumschlage. sasap muss unter einer Minute laufen, besser sehr viel weniger, dass sas zwischendurch auch mal schreiben darf.
Im Augenblick habe ich eine weitere Beta (eher Alpha), mit der ich an den Timeouts feile.

Am besten, jeder von uns schafft sich einen Cray XS Series Supercomputer an, auf den er einen Webserver mit sas drauf laufen hat. Da hätten wir keine Verarbeitungsgeschwindigkeitsprobleme mehr... aber vermutlich eine hohe Stromrechnung ;)
Spaß beiseite. Im Ernstfall muss man einfach die Anzahl der Abrufintensiven PseudoScripte reduzieren, bis es vernünftig läuft.

Wie sieht es bei Euch mit der Himbeere aus, wenn Ihr sas im Browser laufen habt und munter schaltet? Kommt da auch sasap ins stocken? Wenn ich nur DECT200 dran habe, geht es eigentlich glatt. Nur PseudoScripte mit Sensoren ist auch ok. Edimax-Dosen laufen, bis man sie rauszieht oder reinsteckt, dann wirds problematisch. Hat man alles gemischt, gehts oft schief... im Augenblick weiß ich mir keinen Rat, wie das in den Griff zu bekommen ist. :gruebel:

Vielleicht hat jemand von Euch noch eine Idee, denn ansonsten ist das schon eine gelungene Sache mit der Hintergrundabfrage, wenn nicht immer sasap ins stocken geraten würde und dann plötzlich mehrere laufen. Einfach den Start einer weiteren Instanz zu verhindern wäre keine gute Idee, weil dann automatische Schaltvorgänge vergessen gingen. Naja, mal sehen, wird schon werden. :)

Nachtrag: Neue Labor 1644 neue Alpha 1657 (wieder mit neuen Zicken, deswegen die Labor statt die Alpha unten im Download)
 
Zuletzt bearbeitet:
SAS-Labor 1644 Link entfernt.
 
Zuletzt bearbeitet:
Moin

Nächster Punkt ist, dass das sasap und seine nachfolgend aufgerufenen gleichzeitig den Gerätecache schreiben wollen.
Die sasap.php könnte vielleicht eine Sperrdatei anlegen, oder eine (Arbeitskopie, temporäre) Kopie der Brain.
In den Zeiten wo sasap.php noch werkelt braucht es sowas damit nachfolgende Skripte nicht reinpfuschen können.

Auch mal über den Refresh im Webgui nachdenken. Denn wir wissen das 1 Sekunde nach jeder Minute der crond Aufruf startet.
Das würde sas.php und sasap.php betreffen.

SAS-Labor 1644
Erst lief die Version, aber aus unerfindlichen Grund hängt der Webguiaufruf (Im Browser) von sasap....
ps
Code:
31474 root       0:00 {php.sh} /bin/sh /var/media/NEW_LINK/mips/php.sh sensorandswitchautopro.php
31475 root       0:00 /var/media/NEW_LINK/cgi-bin/php-cgi -c /var/media/NEW_LINK/mips/php.ini ${1}
syslog
Code:
Jan 22 10:14:27 crond[972]: crond: crond (busybox 1.21.1) started, log level 8
Jan 22 10:15:01 crond[972]: crond: USER root pid 1021 cmd /var/media/NEW_LINK/cgi-bin/php-cgi -f /var/media/NEW_LINK/sensorandswitch/sasap.php
Jan 22 10:16:01 crond[972]: crond: user root: process already running: /var/media/NEW_LINK/cgi-bin/php-cgi -f /var/media/NEW_LINK/sensorandswitch/sasap.php
Jan 22 10:17:01 crond[972]: crond: user root: process already running: /var/media/NEW_LINK/cgi-bin/php-cgi -f /var/media/NEW_LINK/sensorandswitch/sasap.php
Jan 22 10:18:01 crond[972]: crond: user root: process already running: /var/media/NEW_LINK/cgi-bin/php-cgi -f /var/media/NEW_LINK/sensorandswitch/sasap.php
...da passiert gar nichts mehr, bis ich mit...
killall php-cgi
...den Prozess abschiesse.

V 2.00.1621
Funktioniert soweit.
Pseudoschalter allerdings nicht (SaS@FB, SQLite und shell_exec('ctlmgr_ctl ....'))
..die werden einfach von crond sasp.php wieder auf aus gesetzt.
In der Logdatei (sensorandswitchautopro.html) steht auch nur das ausgeschaltet wurde.
 
Zuletzt bearbeitet:
Das Sperren des Gerätecaches von sasap gegenüber nachfolgend aufgerufenen sasap habe ich mit einer Sperrdatei angegangen. Die Folge ist nur, dass nun immer mehr sasap auf ihren Vorgänger warten. Was auch noch ist: Wenn Edimax-Dosen mit externem cURL aufgerufen werden, wartet alles, bis sich diese cURLs nach Minuten wieder beenden. Ich werde jetzt sasap in Automations-Schaltung und Cachepflege aufsplitten sodass zumindest die Automation nicht unterbrochen wird. Wenn dann die Cachepflege länger dauert, wird einfach kein neuer Prozess gestartet. Irgendwie muss das ja in den Griff zu bekommen sein. :)

Läuft bei der 1644 nach dem kill dann wieder alles eine Weile normal, oder taucht das Probem dann nach gewisser Zeit wieder auf?
 
Hallo,
kurze Frage am Rande des Tellers :) Besteht die Möglichkeit einer Update-Funktion, sofern eine neue Labor erscheint?
 
Leider nein, da der Updatemechanismus dann auch für die anderen Versionen anspricht und diese Chaos-Version ist da dann nicht geeignet.
 
Hallo,
:hehe: Ich habe mir mal eine selber gebastelt. Scheint zu klappen :).
So konnte ich zumindest eine "Neuinstallation des SAS machen. Ich komme hier nur mittels WebFTP auf den Raspi und könnte die Dateien nur separat hochladen. Naja, so geht es :)
 
Inzwischen habe ich ein Problem, was etwas verwirrend ist.

Das WebGUI schaltet eine Weile schnell und sicher. Dann wieder nicht. Dann geht es wieder, ohne dass ich etwas verändert hätte............ :gruebel:
 
SAS-Labor 1664 Link entfernt.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.