SensorAndSwitch Haus-Automation auf Webserver-Basis

@JL3, warten wir es mal ab,

gerne würde ich auch die neuen Funktionen nutzen.

Habe nur etwas bedenken wegen Auslastung der FritzBox.
Hatte mal versucht 2 PHP Scripte laufen zu lassen, 1 für Fritz Steckdosen und 1 für Edimax, prompt ist sie mir wieder abgestürzt!
Bin am überlegen den Apache wo anders zu installieren, nur wohin?
Idee von mir, könnte das auch auf einem IP-Telefon funktionieren?
 
Hallo JL3 und fred_feuerstein,

ich kann leider auch bei mir diesen Fehler aus Post #238 feststellen.
Der Test mit der "phptest.zip" ergab bei mir diesen Hinweistext im Browser:

Verzeichnis testverz erstellt.
Datei test.conf in Verzeichnis testverz erstellt.

Ich verwende zum Testen am PC "server2go" auf einem USB-Stick und habe diesen Effekt
seit der Version Smarthome_v4.00.4728 festgestellt.

Die Variante "Webserver auf FritzBox" auf meiner TestBox läuft aber ohne Probleme bei mir.

Gruss ElefantenMaus
 
ich habe es auf einen raspberry pi laufen, das geht auch ohne Probleme
 
@fred_feuerstein:
Hm, haben die Scripte und die Verzeichnisse genügend Rechte? Wurde vom Script das Unterverzeichnis conf angelegt? Hat das genug Rechte?

Nachtrag: Das Verzeichnis conf/ wird normalerweise von den Scripten angelegt. In dieses werden die Konfigurationsdateien geschoben oder erzeugt.

Voraussetzung für SmartHome ist inzwischen die Schreibleserechte für Dateien und Verzeichnisse. Das ist im Apache einstellbar. Außerdem benötigt es in PHP uneingeschränkte fopen, unzip und curl Nutzung. Darunter auch die Erlaubnis, Dateien anzulegen, zu lesen, zu schreiben, zu löschen und zu verschieben. Ich denke, es ist eine reine Einstellungssache deines Webservers. Die Version 4.00 ist durch den Ein-Button-Klick-Update um einiges einfacher aber auch anspruchsvoller geworden, was die Serverumgebung angeht. Aber es ist kein unlösbares Problem. :)

Probiere mal die Datei im Anahang und poste, was sie meldet.


Also es kommt aus Ausgabe:

Verzeichnis testverz erstellt.
Datei test.conf in Verzeichnis testverz erstellt.


Wenn ich komplett neu anfange, über die smarthomeupdate.php, dann sehe ich eine leere Seite im Browser, aber das Verzeichnis "conf" wurde erstellt.
 
Zuletzt bearbeitet:
Zum Installationsproblem: Ich habe server2go ebenfalls hier laufen und die Installation getestet. Bei mir gibt es leider keinen Fehler.

@fred_feuerstein: Die Ausgabe bedeutet, dass es sich demnach nicht um ein Rechteproblem handelt. Jetzt heißt es herauszufinden, was der Grund sonst sein könnte. :confused:

@ElefantenMaus. Besteht die Möglichkeit zu Testzwecken deine server2go-Verzeichnisse vom Stick samt nicht laufenden SmartHome-Update in eine ZIP zu packen und hier als Anhang zu posten? Dann hätte ich einmal eine Version, wo es nicht läuft und könnte schauen, woran es liegt. Sobald ich es dann hier heruntergeladen habe, sage ich Bescheid, dass du es hier wieder löschen kannst.

@ws65: Ich hatte bei den ersten Versuchen mein Script in einer Endlosschleife laufen, da machte meine Fritzbox auch Probleme. Aber ein minütlicher Aufruf per cron lässt das Script nur 4-5 Sekunden laufen und das geht. :)

Nachtrag: @fred_feuerstein: Welche Eigentümer und welche Rechte haben das Verzeichnis /conf und die smarthome.conf, bzw. beim Test testverz/ und test.conf?
 
Zuletzt bearbeitet:
@JL3:

Ok werde mal mein server2go vom Stick packen mit ZIP und versuchen hochladen.
Es sind etwa 34 MB.

Leider das Problem das der Anhang zwar hochgeladen wird ( laut Menü) aber nicht in der Auswahl erscheint.
???
 
Zuletzt bearbeitet:
Machen wir es anders herum: Ich hab mein Server2go in eine Zip gesteckt, komplett konfiguriert und mit der smarthomeupdate.php schon drauf. Kannst du die testen, obs damit bei dir läuft? Gibt es hier in der Testarea.
 
Zuletzt bearbeitet:
@JL3

Bin gerade beim Download und gebe nach dem Test hier Bescheid.
 
@ElefantenMaus: Super, danke. :)
 
@JL3:

Hat leider bissl gedauert, die 300 MB auf den alten Stick zukopieren.
Der Test war OK alles gelaufen ohne Fehler von Download bis Installation ohne Probleme.
Der Fehler liegt demnach bei meinen "server2go" und wahrscheinlich fehlt ein Eintrag in einer INI.
 
@ElefantenMaus: Sehr schön, danke für die Info. Dann ists wohl immer jeweils die Servereinstellung, wenn das Script nicht läuft. Ist dann schonmal kein Fehler im Script und ich muss da drin nicht mehr weitersuchen. :)

Da warte ich nochmal auf fred_feuerstein und schau mal, obs bei ihm werkelt...
 
da bin ich :)

also deine server2go Variante funktioniert bei mir (natürlich). Ist mir schon klar, das es an meinem Apache liegt. Aber ich habe auch nicht viel Ahnung davon bzw. wie man da etwas ändern kann bzw. Rechte, User etc. D
Ich kann auch aktuell nicht viel dran verändern, da auf dem Raspi noch andere Dinge laufen. Aber ich habe noch nen 2. Raspi, den werde ich mal neu aufsetzen und dann man mit dem Apache experimentieren bis es klappt.

Und so lange bleib ich erstmal bei der alten Version.

Oder wenn Du 2 bis 3 Tipps hast, die ich ausprobieren kann, sag Bescheid ;)
 
@fred_feuerstein: Nein, das ist schon klar. Trotzdem will man ja den Grund wissen, warum es nicht läuft. Das Script ist damit erstmal ausgeschlossen, jetzt gehts mit php.ini und der Serverkonfiguration weiter. Was könnte da unterschiedlich sein? Fehlt vielleicht curl als Modul? Hast du mal ins Error.log des Apache einen Blick geworfen, ob da was drinsteht?
 
@JL3: @fred_feuerstein:

Habe mir mal die Mühe gemacht und die php.ini aus dem Verzeichnis

c:\server2go\server\config_tpl

angesehen und den Fehler für meinen "server2go" gefunden.

falscher Wert:

;extension=php_curl.dll

richtiger Wert:

extension=php_curl.dll

Ein Zeichen war zuviel in der INI und hat bei mir den Fehler verursacht.

Nach dem Ändern der PHP.INI kann ich meinen alten "server2go" verwenden und das Programm läuft ohne Probleme.

Vielleicht kann ich damit helfen.
 
@JL3, warten wir es mal ab,
Scriptaufruf mittels url statt Auslösen einer Schaltfunktion ist inzwischen eingebaut. Dem Fremd-Script wird ein Parameter schalter= mitgeliefert, den dann das Fremd-Script über $_GET[""schalter"] auswerten kann. Rückgabe ist ein einfaches echo 0; oder echo 1; vom Fremd-Script, das in der Statusanzeige der Automation erscheint. :)

Idee von mir, könnte das auch auf einem IP-Telefon funktionieren?
Wenn da ein Webserver mit PHP drauf läuft, ist das kein Problem. Ein NAS ginge auch. Wie gesagt, alles wo man einen Webserver drauf zum Laufen bekommt. Und für die Automation cron mit Kommandozeilenaufruf. Warum deine Fritzbox da so instabil läuft könnte an der Version des Webservers liegen. Versuch mal einen Apache 1.x mit PHP 5.x. Der verbraucht weniger Resourcen. Bei mir läuft z. B. Apache 2.2 besser als 2.4. Bei 2.4 hakt die Fritzbox öfters, stürzt aber wenigstens nicht ab. Wenn du die Möglichkeit hast, experimentiere nochmal mit nem anderen Server. :)
 
Zuletzt bearbeitet:
@ElefantenMaus: Durch das ";" war das curl-Modul auskommentiert und wurde nicht geladen. Entfernt man das ";", wird das Modul geladen und das Script kann es nutzen. Das nur kurz als Erklärung. ;)
 
Achja kannst du bei der AutomationsGUI noch Toggle als Schaltermöglichkeit einbauen?
 
@dtrieb: Gerade schnell eingebaut und funktioniert :)
 
Kurze Info zum Stand der Dinge:
Scriptaufruf mittels url funktioniert nun incl. Parameterübergabe sowohl als Pseudo-Schalter als auch als Pseudo-Sensor.

Schaltübergabe durch schalter=
0 - aus
1 - an
T - toggle

liefert zurück durch echo
0 - aus
1 - an
N - nicht geschaltet (kein Logeintrag)
E - nicht geschaltet wegen Fehler (Logeintrag) (gleichbedeutend wie Schalt-Gerät nicht aktiv)

Sensordaten übergeben durch info=
Schalter
Watt
Temp

liefert zurück durch echo
einen Wert für obig angeforderte Sensorbegriffe
E - Für Fehler (gleichbedeutend wie Sensor-Gerät nicht aktiv)

Ein Fremdscript muss, wenn es als Schaltscript eingesetzt wird, den Parameter $_GET["schalter"] auswerten können und liefert mit echo seinen Status wieder zurück.
Ein Fremdscript muss, wenn es als Sensorscript eingesetzt wird, den Parameter $_GET["info"] auswerten können und liefert mit echo den nummerischen Wert für die angefragten Daten zurück.

Die zwischengeschalteten Scripte ermöglichen eine hohe Flexibilität und bei Änderungen muss nicht smarthomeautopro.php, sondern nur das jeweilige Schalt- oder Sensor-Script angepasst werden. Woher und wie diese Scripte die Daten erhalten ist völlig frei. Sensorwerte übers Internet zu Temperatur oder von beliebigen anderen Geräten oder Quellen ist dann einerlei.

Noch zu realisieren:
Delay und Bedingungsverkettung.
 
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.