SensorAndSwitch Haus-Automation auf Webserver-Basis

nur zur Info,

funktiioniert auch bei mir.

Frage: wenn ich bei der Version 4.0 danach nochmal den Update Button drücke, lande ich wieder auf der Forum Seite.
sollte da nicht sowas wie "Software ist aktuell" oder "kein Update vorhanden" kommen?

Nochwas zu meinem apache, Busybox. Hab jetzt mal einen anderen USB-Stick genommen, bei dem ist der Energieverbrauch und CPU Auslastung viel geringer!

Fazit, eventuell mehrere USB-Sticks Versuchen!
hab 3 Stück mit 32 GB
Intenso-BusinesLine, Verbatim-STORENGO und CnMemory Spaceloop.
der CnMemomory hat die besten Werte.
 
@ws65: Da dürfte es keinen grünen Update-Button geben. :gruebel: Da ist dann nur der blaue Weblink-Button zum Forum.

Jep, bei mir brauchte meine 1 TB-Festplatte mit USB-Stromversorgung auch weniger als mein Mini-USB-Stick. Ist wirklich nicht immer nachvollziehbar. :)

Hier gehts später mal zum Download:
Link gelöscht, da alter Webspace...
 
Zuletzt bearbeitet:
Hallo JL3,

habe auch die SmartHome Test Version 4.00 getestet läuft bei mir bis auf einen Anzeigefehler ganz ohne Probleme.

Nach der Eingabe meiner Standort-Koordinaten zeigt das gestartete Programm "smarthomeauto.php"
das der Sonnenaufgang 10 Minuten später wäre und der Sonnenuntergang 3 Minuten früher ist.
Dieser "Fehler" ist jeweils in der Spalte Heute und Morgen zu sehen.

Da ich die aktuellen Daten "Sonnenaufgang und Sonnenuntergang" mit einem GPS-Empfänger vergleichen kann ist mir der
Fehler aufgefallen.
Ein schalten mit den falschen "Anzeigezeiten" in dem Programm "smarthomeauto.php" habe ich noch nicht probiert.

Die gleichen Koordinaten in meiner Fritz!Box 7390 schalten meine 2 DECT-200 richtig bei Sonnenaufgang bzw Sonnenuntergang.

Diesen "Anzeigefehler" beobachte ich schon seit einiger Zeit.

Die Test-Version 3.93.3981 konnte ich noch nicht testen.
Versuche schon seit 2 Tagen die Version 3.93.3981 Test zip zuladen mit dem Link aus #132
aber leider ist der Inhalt der ZIP-Datei der Inhalt der Version 3.92.3951.

Mit freundlichen Grüßen

ElefantenMaus
 
@ElefantenMaus: Das Problem mit der Sonnenauf-/Untergangssteuerung ist das, das ich die PHP-Funktion date_sunrise() und date_sunset() nutzen muss. Beide liefern nur annähernde Werte. Das weitere Problem ist der 3. Wert Zenit, der ganze Webseiten füllt, wie er für einen Standort richtig berechnet wird. Hier kannst du im übrigen bei den Einstellungen selbst korrigieren. Welchen Wert die Fritzbox-FW hier nimmt, habe ich noch nicht ergründen können, da diese diesen Wert nicht anzeigt, so als wäre er für die Berechnung nicht relevant. Leider müssen wir momentan mit dieser Ungenauigkeit leben.

Das mit Post #132 sehe ich mir an und versuche neu zu verlinken. Einfacher ist aber jetzt bei Version 4.00 zu bleiben, da dies die neueste Version ist und in Bezug auf astronomische Schaltung keine Unterschiede zur 3.93 aufweist.

Nachtrag: Habe den Link rausnehmen müssen, da hat sich die Forensoftware irgendwie verschluckt. In meinem Anhang-Manager taucht die Datei nicht mehr oben auf nur noch unten. Da stimmt irgendwas nicht.:gruebel:
 
Zuletzt bearbeitet:
@JL3: Danke für die Tipp, werde mal ein wenig die Einstellungen ändern um die Ungenauigkeit
auf ein fast richtiges Ergebnis zu bringen.
 
Wenn du den Wert raus hast, der für Zenit halbwegs passt, bitte hier posten, das ist wirklich eine Wissenschaft für sich. :)

Wenn der Wert einmal für Sonnenaufgang passen sollte und ein anderer Wert für Sonnenuntergang, dann beide Werte mitteilen, denn dann könnte ich das in beiden Berechnungen splitten. Im Augenblick ist bei beiden Berechnungen der gleiche Zenitwert.
 
Zuletzt bearbeitet:
Für das nächste Update habe ich noch einige Dinge im smarthomeautoui.php eingebaut, sodass nur Geräte gewählt werden können, die auch die Funktion besitzen. Temperaturvergleich nur bei Geräten mit Sensor. Zum Schalten wählen, nur bei denen, die man auch schalten kann und für den Energieverbrauch auch nur solche, die Werte liefern können. Gruppen werden von mir künstlich mit Watt (Gesamtwatt aller Gruppenmitglieder) bedacht, sodass diese pseudomäßig eine Wattangabe liefern. Das Ganze kommt beim nächsten Update.

Noch Ideen? Wenn ja, immer fleißig posten. :)
 
Zuletzt bearbeitet:
Ich habe mich eine ganze Zeit Lang mit Smart Home Systemen auseinander gesetzt. Was mir schon immer bei dem ganzen Smart Home gefehlt ist ist das verknüpfen von Funktionen und darauf hin Schalthandlungen oder sagen wir besser Aktionen auszuführen; Das müsste wir mal gemeinsam überlegen wir man das gut hinbekommt.

Wenn Leistung an Steckdose 1 > 2000 Watt dann Steckdose 3 einschalten und email senden. - Der Anwendungsfall ist wenn die PV einspeist über einen Wert 2000 dann den Heizstab anschalten.
Wenn Leistung an Steckdose 1 < 2000 Watt dann Timer 60 Sek. wenn dann immer noch > 2000 dann Steckdose 3 ausschalten und email senden. - Der Anwendungsfall ist wenn die PV nicht mehr einspeist nichts sofort auf einen Wolke reagieren sondern noch ein wenig warten bevor ausgeschaltet wird.

Wenn Dose X einmal eingeschaltet dann er erst wieder ausschalten wenn Leistung für x Minuten bei < Y Watt

Das beliebig stapelbar ...

Ich weiß das ist nicht ohne, aber wenn das geht wird das der Knaller ....
 
Moin

HarryHase schrieb:
Was mir schon immer bei dem ganzen Smart Home gefehlt ist ist das verknüpfen von Funktionen und darauf hin Schalthandlungen oder sagen wir besser Aktionen auszuführen

Ideal für sowas wäre eigentlich: FSM (Finite State Machine)
(Hab keine deutsche Doku gefunden, deswegen Bilder des FSM-Editors)
Der Anwendungsbereich kann sehr breit gefächert sein/werden.
Das reicht von...
Verbessern der KI in einem Spiel (VBS, ArmA I bis III)
...bis...
Hochkomplexe Steuer- und Produktionsabläufe (z.B. CNC Maschinen)
...und wäre nahezu Ideal für abhängigkeitsgesteuerte Schaltvorgänge von Aktoren.

Das Produkt eines FSM Editors ist ein Skript welches in einer Endlosschleife läuft.
Die "Zielskriptsprache" muss diesem Editor natürlich bekannt sein, oder beigebracht werden können.
 
Zuletzt bearbeitet:
Hello again :D

Also bei mir hat das Update auf die Version 4 auch keine Probleme gemacht.
Freue mich, das du das mit dem automatischen Update so super hinbekommen hast!
 
Ich hoffe, es funktioniert alles. Bei mir lief es bei allen Tests gut. Ein 504 Gateway-Fehler kann auftreten. Wenn dies passiert, Browser schließen, öffnen und nochmal probieren.

Tut's, allerdings musste ich dem Webserververzeichnis mindestens 707 inkl. Vererbung auf die smarthomeupdate.php verpassen - und in meiner Umgebung* fehlte auch noch das Paket php5-curl, aber nun geht's!


*Debian 7.7 x64 mit apache2 und php5 in einer 24/7 VM
 
Hallo,
Ist es eigentlich möglich, mittels dieses Scripts auch von Extern zu arbeiten?
Ich weiß, es ist risikoreich, aber wenn man einen eingeschränkten Benutzer hat, sollte es gehen, oder?
 
Dafür, und um das "sensible" Webinterface nicht (die meiste Zeit) unbenutzt freigeben zu müssen,
ist doch VPN da. Ansonsten, klar kann man den Webserver fürs Internet freigeben.
Apache erlaubt ja auch: .htaccess
 
Zuletzt bearbeitet:
Auf ein paar Fragen will ich mal allgemein antworten, ob was geht oder nicht. (Anmerkung des Posters: Wenn ich sage, es geht nicht, heißt das im allgemeinen nur, dass ichs nicht in den nächsten 5 Minuten hinbekomme, aber Spaß beiseite :) )

Thema: Steuern von Außen
Wenn man mit einem Browser von außen die PHP-Datei per Link aufrufen kann, dann kann man auch die Steckdosen schalten. Also prinzipiell möglich, wenn man es zulässt und hat mit den Servereinstellungen und nichts mit dem Script zu tun.

Thema: Schaltlogikverknüpfungen (ich nenne das mal der Einfachheit halber so)
Da bastle ich dran. Das Problem ist, dass der Aufbau der smarthomeauto.conf wie ursprünglich gedacht da etwas im Weg steht. Daher müsste ich mir erstmal ein Konzept ausdenken, dass beliebige Verknüpfungen in ihrer logischen Reihenfolge abarbeitet. Ich denke, das wird Version 5.00 können. Zunächst müsste ich Schaltbedingungen mit Wartezeit implementieren. Sprich, schalte nach Ablauf von x Minuten. Und diese müsste mit weiteren schon bestehenden Bedingungen verknüpft werden können. Wie gesagt. ich arbeite an dem Problem. Jedenfalls ist es bis zum Kaffeekochen können :saufen2: dann nicht mehr weit. ;)

Das war jetzt nur mal so schnell und grob geantwortet. ich lese es mir sobald ich mehr Zeit habe nochmal in Ruhe durch.

Jedenfalls Danke an alle für die Rückmeldungen und Ideen. :)
 
Hallo,
;) Ich meinte nicht, von Außen auf den Link zugreifen, sondern die Daten/das Script auf meinem Webspace (extern, im Internet) bedienen und damit die Dosen schalten, also eine Verbindung per https://meine externe IP aufbauen.
 
@SF1975: Ja, habs verstanden. Dann muss nur die Fritzbox von außen regulär ansprechbar sein. Im Script gibt man in den Einstellungen ja an, wie die Fritzboxadresse ist. Da kann auch eine https-Adresse rein, oder der DynDS-Name der Fritzbox. Ist natürlich auch ein gewisses Sicherheitsrisiko.

Als Beispiel: https://MeineFritzboxAdresse:123

wobei MeineFritzboxadresse die externe IP oder der externe Name der Fritzbox ist und 123 der evtl. abweichende Port ist.
 
Zuletzt bearbeitet:
Hallo JL3,

habe mal mit den Zenitwerten experimentiert und folgende Daten ermittelt:
Zenitwert für Sonnenaufgang : 91
Zenitwert für Sonnenuntergang : 90

Kommawerte konnte ich vernachlässigen hatten keine Auswirkungen auf das Anzeigeergebnis.

Laut GPS ist der Wert für den Sonnenaufgang 07:07 Uhr und das Programm ermittelt 07:08 Uhr,
der Wert für den Sonnenuntergang 16:29 Uhr und das Programm ermittelt 19:28 Uhr.

Mit diesen kleinen Abweichungen kann man aber sicher arbeiten.

Nun habe ich noch eine Frage, es gibt ja die Spalte "geschaltet" im Programm "smarthomeauto.php" und ich kann mich erinnern
das die Anzeige von "NEIN" in ROT auf "JA" in GRÜN immer mal umgeschalten hat und auch wieder zurück.
Aber leider bleibt die Anzeige immer auf "NEIN" in ROT obwohl Schaltvorgänge mit dem Script erfolgen und die DECT-200 schaltet.
 
Kleiner BUG:

Ich kann wenn ich die Seite (smarthomeautoui.php) aufrufe einfach auf "Okay" klicken
und es wir ein Eintrag erzeugt der nur mit den vor definierten Variablen gefüllt ist.
Das ist aber doch doof.

Des weiteren ein kleine Schönheitsverbesserung:

Wäre es nicht besser die conf - Dateien, wie die Bilddateien in ein
Unterverzeichnis "conf" zu legen?

Feature Wunsch:
Auf der Seite smarthomeautoui.php neben das Datum eine Schaltfläche mit der man das aktuelle Datum
eintragen lassen kann.
 
Zuletzt bearbeitet:
@ElefantenMaus: Erstmal danke für die Werte, ich trenne nun Zenit in zwei Felder und baue diese ein. Nachtrag: Eingebaut.

Das mit dem "geschaltet" in smarthomeauto.php ist folgendes. Wenn das Script per Cron und per Browser läuft, so schaltet vermutlich das Script per Cron und das Script per Browser zeigt dies nicht an und schaltet auch nicht nochmal, weil der gewünschte Schaltzustand bereits erreicht ist. Läuft das Script bei dir in dem Moment per Cron und per Browser gleichzeitig?


-@dtrieb: Wenn man "OK" anklickt wirds gespeichert, weil das ein gültiger möglicher Schaltvorgang darstellt. Da hilft nur nochmal anklicken und ändern. Wenn ich einen leeren Formularsatz liefere, so gäbe das einen Haufen Probleme, die ich in PHP bei Formularen nicht abfangen kann. PHP ist Server-seitig, nicht Browser-Seitig. Es kommt nur zurück, was immer der User an Eingaben verbrochen hat. Um Formularinhalte vorab zu testen müsste ich JavaScript mit etlichen Prüfroutinen einbauen und dieser Code müsste mit PHP beim Erzeugen des Formulars zur Aufrufzeit mit reingeschrieben werden und viele haben JavaScript deaktiviert, sodass dann Müll in der Config landet.

Gleiches Problem mit dem Wunsch für einen Button "Übernehme aktuelles Datum" statt der Platzhaltersternchen.

Ich versuche es einmal so zu erklären. Jeder Buttonaufruf schreibt die Formulardaten in ein Array $_POST. Dann ruft sich das Script damit selbst auf. Am Anfang des Scripts wird nun geprüft, ob es sich selbst aufgerufen hat und mit welchem Grund und verzweigt dann in den jeweiligen Code, ruft sich dann wieder selbst auf mit dem Hinweis, dass es das jetzt getan hat usw. usw... Das passiert bei jeder Veränderung der Anzeige im Browser.

Das mit "Übernehme aktuelles Datum" versuche ich mal einzubauen, aber eigentlich ist nach Verlassen des Forms kein Zurückkehren in das selbe vorgesehen. Das wird einiger Programmieraufwand. Mal sehen... :)
 
Zuletzt bearbeitet:
Des weiteren ein kleine Schönheitsverbesserung:

Wäre es nicht besser die conf - Dateien, wie die Bilddateien in ein
Unterverzeichnis "conf" zu legen?
Ups, überlesen.

Nein, das wäre schon sinnvoll. Das Problem ist nur, dass ich mir was ausdenken muss, wie ich die conf-Dateien gefahrlos während des "Betriebs" verschieben kann. Ich behalte es mal im Auge für die nächste Version 4.01 oder so. :)

Nachtrag: Erledigt, ist in der nächsten Version eingebaut.
 
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.