SensorAndSwitch Haus-Automation auf Webserver-Basis

@JL3: Ja die Vermutung ist richtig ich lasse zum Testen bei mir ein Script mit Cron laufen und sehe bei Gelegenheit mit dem Browser nach was gerade geschalten hat. Eine Frage kannst Du mir sicher beantworten: Wie kann ich das Script das mit Cron läuft mal zu Testzwecken beenden ( bitte Befehlszeile schreiben ) und dann nach dem Test wieder starten. Ich habe leider keine Ahnung von Linux.

Gruß ElefantenMaus
 
@ElefantenMaus: Die einfachste Methode ist, die smarthomeauto.php, die vom Cron aufgerufen wird in z. B. smarthomeautotest.php umzubenennen und mit diesem Namen im Browser dann starten, testen, usw...
Wenn dann fertig, die Datei wieder zurückbenennen und der cron macht von selbst wieder weiter. In der Zwischenzeit ruft er halt regelmäßig statt dem Script nichts auf. :)
 
Bis auf die Schaltlogikverknüpfung und den Button zur Datumsübernahme ist alles in 4.01 eingebaut. Teste es aber erst noch, bevor ich es einstelle.

Realisiert ist:
  • Getrennte Zenit-Einstellungen für Sonnenauf-/untergang (Anpassung in allen Scripten)
  • Separates Verzeichnis conf/ für die Konfigurationsdateien.
    Das Script kopiert das automatisch vom alten auf den neuen Standort. (Anpassung in allen Scripten)
  • smarthome.php?name=Steckdosenname&schalter=toggle oder
    smarthome.php?ain=AINDerSteckdose&schalter=toggle
    zum Schalten eines Gerätes in den gegenteiligen Zustand per url ist realisiert (Anpassung in smarthome.php)
  • smarthomeupdate.php?update=erzwingen erzwingt einen Update, obwohl die aktuelle Version gleich oder neuer der Downloadversion ist.
    Damit kann man missglückte Installationen ggf. reparieren.
 
Zuletzt bearbeitet:
@JL3: Danke für den Hinweis mit dem Umbenennen, jetzt konnte ich das Script mit dem Browser starten und die Spalte "geschaltet" zeigt es mit "ja" in grün und "nein" in rot an für eine kurze Zeit.
 
@ElefantenMaus: Okay, das passt, da das Script sich im Browser zweimal die Minute aufruft, um sicherzugehen, dass es jede Minute mindestens einmal läuft. Das erste Grün heißt, es hat was getan, das zweite mal mit rot ist auch ok, da es ja vorher gearbeitet hat und der gewünschte Schaltzustand bereits erreicht ist.
 
Zuletzt bearbeitet:
@JL3: Ich habe mir mal die error.log im Verzeichnis "log" von "Apache" angesehen und habe da eine Fehlermeldung entdeckt.
Keine Fehlermeldung wenn das Script mit Cron alleine läuft, diese Fehlermeldung aber wenn Script mit Browser läuft und Fehlermeldung wenn beide laufen.

[Fri Nov 07 21:06:20 2014] [error] [client 192.168.178.24] PHP: syntax error, unexpected TC_STRING in /var/media/ftp/server/apache/cgi-bin/php.ini on line 95

die Zeile 95 in der PHP.INI hat folgenden Code: magic_quotes_gpc = Off [Performance]
 
Zuletzt bearbeitet:
Ganz einfach: Da fehlt zwischen off und [Performance] ein Zeilenumbruch :)

falsch:
Code:
magic_quotes_gpc = Off [Performance]
richtig:
Code:
magic_quotes_gpc = Off
[Performance]

Nachtrag: Nochmal schnell zur Erklärung. Nur wenn php über den Browser und somit über Apache läuft werden Fehler in der php.ini protokolliert.

PHP im cron und somit im Parser-Mode protokolliert nicht in eine Datei, es sei denn, man sagt es dem Teil.

Also nochmal schnell gesagt: Mach aus Zeile 95 zwei Zeilen (95 und 96) und es gibt diesen Fehler nicht mehr. Aber Achtung! Die php.ini wird erst beim Neustart des Apache neu eingelesen.
 
Zuletzt bearbeitet:
Ok werde das mal ändern, an der Zeile 95 hatte ich selbst nicht verändert war schon im Original so.

Werde den Tipp beachten und Apache neu starten mit der geänderten php.ini.

Danke
 
Zuletzt bearbeitet:
Weißt du wie man nach der Änderung den Apache neu startet, dass die geänderte php.ini auch neu eingelesen wird?


./apache -k restart

wobei apache auch bei dir apache2 oder anders heißen kann. Das Kommando muss man in dem Verzeichnis ausführen, wo die binäre apache-Datei sich befindet. Bei mir z. B. unter apache/bin/.
 
Werde mir mal die Infos notieren müssen um das alles auch später noch anwenden zu können falls ich noch mal neu starten muss.
 
SmartHome Update auf Version 4.01.4753
(Anmerkung: Bei der Version 4.01.4752 war ein kleiner Bug in der Config-Verschiebung, der hier korrigiert ist)

Neue Funktionen:
  • Getrennte Zenit-Einstellungen für Sonnenauf-/untergang (Anpassung in allen Scripten)
  • Separates Verzeichnis conf/ für die Konfigurationsdateien.
    Das Script kopiert die Konfigurationsdateien automatisch vom alten auf den neuen Standort. (Anpassung in allen Scripten)
  • smarthome.php?name=Steckdosenname&schalter=toggle oder
    smarthome.php?ain=AINDerSteckdose&schalter=toggle
    zum Schalten eines Gerätes in den gegenteiligen Zustand per url ist realisiert (Anpassung in smarthome.php)
  • smarthomeupdate.php?update=erzwingen erzwingt einen Update, obwohl die aktuelle Version gleich oder neuer der Downloadversion ist.
    Damit kann man missglückte Installationen ggf. reparieren.

Update mit grünem Update-Button update.png im WebGUI starten
 
Zuletzt bearbeitet:
  • Separates Verzeichnis conf/ für die Konfigurationsdateien.
    Das Script kopiert die Konfigurationsdateien automatisch vom alten auf den neuen Standort. (Anpassung in allen Scripten)
...bei mir bleibt die smarthome.conf im Root-Verzeichnis liegen, der Ordner \conf wird aber angelegt... hab' ich was überlesen, oder soll das so?
 
update hat einwandfrei geklappt ... das ist ein super service ;)
 
[/LIST]
...bei mir bleibt die smarthome.conf im Root-Verzeichnis liegen, der Ordner \conf wird aber angelegt... hab' ich was überlesen, oder soll das so?
Das war der Bug von der 4.01.4752. Mit der 4.01.4753 müsste es beim ersten Aufruf von smarthome.php verschoben werden. Wenn nicht, bitte nochmal posten, dann schaue ich mir das nochmal an.+
 
Zuletzt bearbeitet:
ich habe mir gerade mal noch 2 dect 200 bestellt .... so machen die noch viel mehr Spaß ...
 
@HarryHase: Ich arbeite bereits am Konzept für die Multischaltbedingungen. Sollte das irgendwann fertig sein, dann kann man die recht starren und primitiven Schaltvorgaben der Fritzbox-Firmware komplett vergessen. Ich werde bei Gelegenheit aber noch ein paar Fragen dazu haben. Inzwischen baue ich eine SCHID (SchaltID) für jeden Schaltvorgang ein, sodass ich dann diese beliebig verknüpfen kann. Mir schwebt da eine Idee vor, aber ich muss sehen, wie ich sie am besten realisieren kann, ohne die kompletten Scripte smarthomeauto.php und smarthomeautoui.php komplett neu erfinden zu müssen, dann wäre ein Update der smarthomeauto.conf schwierig. Naja, mal sehen. :)
 
habe mal mit den Zenitwerten experimentiert und folgende Daten ermittelt:
Zenitwert für Sonnenaufgang : 91
Zenitwert für Sonnenuntergang : 90
Nochmals danke für die ermittelten Werte. Bei mir stimmen nun die Schaltvorgänge minutengenau überein. Für unsere Breitengrade sind dies wohl die Idealwerte. :)

In der neuen Version kann man diese nun auch getrennt erfassen. Der ehemalige alte Wert wird dabei nicht übernommen. Das heißt, man muss nochmal in den Einstellungen die Werte eintragen, weil die beiden neuen Zenit-Werte auf default gesetzt wurden.
 
Wird bei mir auch nicht verschoben!

Außerdem wird der Wochentag hier nicht übernommen:

2014-11-08 14_51_46-Smart Home Automation.png
Außerdem schaltet mein DECT nur wenn ich die Seite (smarthomeauto.php) im Browser offen habe.

Und ist das gewollt, das man die smarthomeauto.php nicht per klick aufrufen kann?
 
Zuletzt bearbeitet:
bei mir sind die .conf Dateien verschoben worden, alles ok.
 
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.