SensorAndSwitch Haus-Automation auf Webserver-Basis

Hallo und erst einmal vielen Dank!
Läuft bei mir ohne Probleme!
Freut mich.

Anzeige falls eine neue Version online ist.
Die Idee an sich finde ich sehr gut, nur habe ich das Problem, dass ich nicht weiß, worauf das Script zugreifen soll, um dies in Erfahrung zu bringen, dass es ein Update gibt, da ich die entprechende Zip-Datei nur hier hochlade. Mal sehen, vielleicht fällt mir dennoch etwas ein.

Benennen der Aktoren. (oder hab ich das übersehen?)
Dies kann man in der Fritzbox-Software machen und sollte es auch dort tun, sodass auch der Fritzbox die Namen bekannt sind. Dies auszugliedern wäre dann doppelt zu pflegen und etwas umständlich und somit, wie ich finde, wenig sinnvoll. In der Fritzbox nutzt man dazu Heimnetz - Smart Home - Schraubenschlüssel-Button -> Tab "Allgemein" und dort das Feld "Name". Dieser wird dann auch im Script angesprochen.

Link zu diesem Forumsbeitrag
Ja, das könnte auf das Einstellungsformular. In den nächsten Versionen, je nach dem, ob ich eine Lösung finde, neue Versionen zu melden. Dann wird man z. B. hierher weitergeleitet. Ich arbeite mal dran.

Ja, das sollte es geben, aber habe ich nicht notiert. Dafür gibts zu oft neue Versionen. Was die neue Version kann, wird aufgelistet. Mal sehen, ob ich das von vorher überhaupt noch rekonstruieren könnte. Allerdings ist das keine proessionelle Softwareentwicklung sondern just for fun und so soll es auch bleiben. Schaut sich auch kaum einer an. Wenn Fehler im Script sind, werden die gepostet. Da es letztendlich Textfiles sind, kann auch jeder gerne drin rumbasteln.

Falls mir noch mehr einfällt poste ich es hier. ;)
Gerne. Es wird sich zwar nicht alles umsetzen lassen, aber Ideen sind immer Willkommen.
 
Zuletzt bearbeitet:
@dtrieb: Eine Zwischenmeldung von mir. Der Button zur Verlinkung zum ersten Post im HauptGUI ist realisiert.

Ruft man die Einstellungsseite auf, so prüft das Script auch gleich, ob im ersten Post eine neue Version verfügbar ist. Gibt es eine neue Version, dann erscheint auf der Einstellungsseite ein grüner Button "UP" für Update verfügbar und beim Anklicken landet man ebenfalls auf dem ersten Post hier. Zuerst wollte ich im HauptGUI prüfen, doch das hätte alle 5 Sekunden hier den Server abgefragt und belastet und das geht natürlich nicht. Die Einstellungsseite wird ja nur durch eine Benutzerreaktion aufgerufen und somit auch die Versionsprüfung. Das gibt nur minimalen Traffic und zwar nur dann, wenn der Benutzer auf die Einstellungen geht.

Ich hoffe mal, das ist so in etwa wie gewünscht. Ich muss noch etwas testen, dann stelle ich es im Post #1 ein, allerdings vermutlich heute nicht mehr, weil auch alle Screenshots für Post #1 neu gemacht werden müssen.
 
SmartHome Version 3.60.3624:
Ab dieser Version neu:
  • Kleinere Anzeigekorrekturen.
  • Der Button zur Verlinkung hierher zum ersten Post im HauptGUI ist realisiert.
  • Ruft man die Einstellungsseite auf, so prüft das Script jetzt auch gleich, ob im Post #1 eine neue Version verfügbar ist. Gibt es eine neue Version, dann erscheint auf der Einstellungsseite ein grüner Button "UP" (für Update verfügbar) und beim Anklicken landet man ebenfalls hier auf dem Post #1.

Download in Post #1
 
SmartHome Version 3.70.3699:
Ab dieser Version neu:
  • Kleinere Anzeigekorrekturen.
  • Realisierte User-Wünsche:
    • Der Button zur Verlinkung hierher zum ersten Post im HauptGUI ist realisiert.
    • Ruft man die Einstellungsseite auf, so prüft das Script jetzt auch gleich, ob im Post #1 eine neue Version verfügbar ist. Gibt es eine neue Version, dann erscheint auf der Einstellungsseite ein grüner Button "UP" (für Update verfügbar) und beim Anklicken landet man ebenfalls hier auf dem Post #1.
    • Script testet bei Aufruf automatisch einmal am Tag nach Updates (nicht öfter und schont damit den Server hier).
    • WebUI zeigt, wenn eine neue Version verfügbar ist, auch gleich die neue Versionsnummer an.
    • Das experimentelle Script smarthomeauto.php, welches zur automatischen Steuerung der Steckdosen nach individuell festlegbaren Schaltzeitpunkten schaltet, kann als Alternative nun auch auf einem ständig laufenden PC im Heimnetzwerk mit einem Browser aufgerufen werden, der dann nicht beendet werden darf. Es ruft sich dann selbst jede halbe Minute auf und die Steckdosen werden automatisch nach den im Script smarthomeautoui.php festgelegten Vorgaben geschaltet.
      Die oben beschriebene Lösung per busybox crond auf der Fritzbox ist allerdings empfehlenswerter, weil die Fritzbox ohnehin immer läuft.
    • Das experimentelle Script smarthomeauto.php wurde grafisch überarbeitet und dem Script smarthomeautoui.php angepasst.


Download in Post #1
 
Hallo. Ich bin seit ein paar Versionen auch dabei das schöne Tool von Dir zu testen und vor allem zu nutzen. :)
Funktioniert prima.

Ein paar Vorschläge / Anregungen hätte ich noch:

- Auf der Hauptseite, die Schrift des Gerätenamens "etwas" kleiner machen, vielleicht so wie die AIN. Ich nutze zwar schon recht kurze Gerätenamen aber es werden trotzdem noch welche umgebrochen und dann sieht das nicht mehr schön aus, weil sich die Texte überlagern.

- Vielleicht kannst Du noch eine Unterscheidung einbauen, welches Gerät es ist. Also entweder die Fritzdect 200 oder der Fritzdect Repeater oder ..
Problem hierbei ist, dass beim Dect Repeater die Steckdose nicht schaltbar ist und man auch keinen Strom messen kann, aber die Temperatur angezeigt wird. Aktuell wird der Repeater wie eine Steckdose angezeigt, nur beim Schalten passiert natürlich nichts.
Auf der mobilen GUI ist beim Repeater noch ein Fehler, hier wird kein Schalter angezeigt (was ja korrekt wäre, aber so sieht es auch nicht schön aus (Anhang)).
Die Unterscheidung in der devicelist zwischen der Art des Gerätes könnte über functionbitmask oder tatsächlich der productname erfolgen:
Hier die der FritzDect Repeater:
<device identifier="08761 08xxxx" id="16" functionbitmask="1280" fwversion="03.36" manufacturer="AVM" productname="FRITZ!DECT Repeater 100">
und hier die FritzDect Steckdose:
<device identifier="08761 00xxxxx" id="17" functionbitmask="896" fwversion="03.36" manufacturer="AVM" productname="FRITZ!DECT 200">
Wie auf dem 2. Screenshot zu sehen, ist auch der Text unter dem Namen beim Repeater zu lang. Vielleicht kannst Du auch einfach die Spalte "etwas" größer machen?

Vielleicht fällt Dir ja was ein dazu.

Ansonsten bisher: top Arbeit von Dir!
 

Anhänge

  • smarthome1.PNG
    smarthome1.PNG
    50.3 KB · Aufrufe: 18
  • smarthome2.PNG
    smarthome2.PNG
    102.2 KB · Aufrufe: 12
Zuletzt bearbeitet:
@fred_feuerstein: Erst einmal vielen Dank für die Rückmeldung.

Das mit der Schriftgröße ist kein Problem. Ich werde sie je nach Länge des Namens dynamisch machen, sodass bei langen Namen einfach eine kleinere Schrift benutzt wird, bzw. deren Position angepasst wird. Dank CSS dürfte dies kein Problem sein.

Da ich bei mir keine Fritz!Dect Repeater im Einsatz habe, sind die Infos von dir sehr hilfreich. Ich werde versuchen, diese wie ein nichtschaltbares Gerät anzeigen zu lassen. Allerdings muss ich da erst ein wenig nachforschen, wie ich solche Geräte zweifelsfrei erkennen kann. Hier könnte die Functionbitmask weiterhelfen. Könntest du ggf. eine Betaversion, wenn ich sie fertig habe, einmal testen und dann einen Screenshot hier einstellen, falls noch was falsch ist oder auch wenn es dann richtig aussieht? Diese Beta würde ich dann nur hier am Ende des Threads als neuen Post anhängen und erst wenn alles passt im Post #1 veröffentlichen.
 
@fred_feuerstein:
Da ich bei mir keine Fritz!Dect Repeater im Einsatz habe, sind die Infos von dir sehr hilfreich. Ich werde versuchen, diese wie ein nichtschaltbares Gerät anzeigen zu lassen. Allerdings muss ich da erst ein wenig nachforschen, wie ich solche Geräte zweifelsfrei erkennen kann. Hier könnte die Functionbitmask weiterhelfen. Könntest du ggf. eine Betaversion, wenn ich sie fertig habe, einmal testen und dann einen Screenshot hier einstellen, falls noch was falsch ist oder auch wenn es dann richtig aussieht? Diese Beta würde ich dann nur hier am Ende des Threads als neuen Post anhängen und erst wenn alles passt im Post #1 veröffentlichen.

klar. kann ich machen :)

Erkennen kannst Du den Fritz!Dect Repeater an entweder Functionbitmask oder eben den nicht änderbaren Produktnamen, den du ja ohnehin ausliest:
<device identifier="08761 08xxxx" id="16" functionbitmask="1280" fwversion="03.36" manufacturer="AVM" productname="FRITZ!DECT Repeater 100">
 
Zuletzt bearbeitet:
Ich probiere es mit der functionbitmask, da vielleicht bei einigen Benutzern auch andere Herstellergeräte vorhanden sein könnten. Das Feld ist lt. AVM-"AHA-HTTP-Interface"-Beschreibung wohl eindeutig und somit auch (hoffentlich) geeignet. Näheres wird der Test zeigen. Leider muss ich dazu Einiges im Script umbauen, was etwas Zeit kosten wird. Ich mach es dann gleich für alle Geräteklassen. Aber funktionieren müsste es. ;-)

@jcc: Ja, diieses Dokument nutze ich auch bereits. Nur die functionbitmask hatte ich bis dato noch nicht ausgewertet, was ich jetzt aber einbauen werde. Trotzdem danke für die Info. :)
 
Zuletzt bearbeitet:
@fred_feuerstein: Die Info functionbitmask=1280 war wichtig, so konnte ich einfach eine meiner DECT200 kurzum fürs Script als DECTRepeater "tarnen" und damit testen. Im Großen und Ganzen läuft das schon. Die Sache mit der Namenslänge der Geräte muss ich noch angehen. Was mich etwas stutzig macht, dass deine DECT200 die FW 3.36 drauf hat. Welche Fritzbox mit welcher Firmware hast du im Einsatz?
 
7390 mit Fw 06.20
 
@fred_feuerstein: Hier kommt die Version "3.80.3744 Test" zum bei Gelegenheit ausprobieren. Ich hoffe mal, es funktioniert alles wie gewünscht. Bitte Ergebnis Posten.

Anhang entfernt, Download in Post #1
 
Zuletzt bearbeitet:
erfolgreich getestet. Die Schrift wird angepasst. Und beim Repeater kann nicht mehr geschaltet werden.
Somit stimmt auch die Anzeige bei der eingeschränkten mobilen Ansicht.

Nur länger als im Screenshot darf der Name trotzdem nicht sein, da er sonst auch umgebrochen wird und den darunterliegenden Text überlagert. Aber das ist nun nicht mehr so schlimm, da wesentlich längere Namen möglich sind als bisher.

Tausend Dank dafür :)
 

Anhänge

  • smarthome3.PNG
    smarthome3.PNG
    80.2 KB · Aufrufe: 16
@fred_feuerstein: Super, danke fürs Testen. :)
Das mit der Textüberlagerung verhindern ginge auch, da müsste ich bei sehr langen Namen einfach diese abschneiden und mit "..." fortsetzen. Bastel ich vielleicht auch noch schnell rein. Allerdings gibt es schlichtweg mit nicht Monotype-Schriftarten das Problem, dass z. B. iii weniger Platz als www wegnimmt und man einfach schätzen muss, wie breit der Text werden kann. Alles in Courier anzeigen wäre hier eine Möglichkeit, sieht aber nichts aus. ;)

Offiziell einstellen werde ich die Version 3.80 erst, wenn ich mit den anderen Scripten soweit bin. Da habe ich bei der Automation auch noch Einiges neu eingebaut.
 
@fred_feuerstein: Leider habe ich noch einen kleinen "Fehler" im Script entdeckt. Eine DECTREP100 (wie oben auch in deiner angehängten Grafik zu sehen) wird - obwohl sie aktiv ist und keine Schaltfunktion hat - mit einem dunkelgrauen Schaltersymbol dargestellt. Das ist logisch nicht korrekt. Bei einer DECT200 mit Schaltfunktion bedeutet ja rotes oder grünes Symbol nicht nur den Schaltzustand, sondern auch, dass sie aktiv ist. Ist hier das Schaltsymbol dunkel, ist die Dose inaktiv (sprich, die FB hat keine Verbindung zu ihr). Jetzt habe ich für Geräte ohne Schaltfunktion eine hellblaue LED anstelle des Schaltsymbols eingeführt und eine dunkle, wenn diese inaktiv sind.

Könntest du das bitte noch einmal testen? Test-Zip ist als Anhang anbei.

Anhang entfernt, Download in Post #1
 
Zuletzt bearbeitet:
Habs gerade ausprobiert. Es wird die hellblaue LED angezeigt. Von der Optik passt die LED noch nicht so gut zu den anderen Anzeigen finde ich, hier wäre ein leichter Highlight Effekt wie beim Text noch schön.
Bei der Mobil-Ansicht gibt es noch keine Unterscheidung mit einem anderen Button/Anzeige.

Eine Erweiterung hätte ich noch. Bzgl. Sortierung. Vielleicht kannst Du noch einbauen, dass man zusätzlich noch nach Gerätetyp sortieren kann. Auf- und Absteigend und nach dem Typ dann nach Name/Gruppe...

Hier die Screenshots:
 

Anhänge

  • smarthome5.PNG
    smarthome5.PNG
    71.7 KB · Aufrufe: 17
  • smarthome4a.PNG
    smarthome4a.PNG
    8 KB · Aufrufe: 16
Zuletzt bearbeitet:
@SF1975: Das mit den Namen und den daraus resultierenden Längen beschäftigt mich auch noch. Weder bei PHP noch bei CSS gibt es eine verlässliche Möglichkeit, die Pixelbreite eines Textes zu ermitteln. Mit PHP gibt es zwar eine Funktion, die allerdings die Schriftdatei auf dem Server voraussetzt. Ich könnte zwar jeden Buchstaben und jedes Zeichen als Grafik mitliefern und so das ermitteln, aber dafür wäre der Aufwand zu hoch, da man das für mindestens drei Schriftgrößen machen müsste. Vielleicht hat hier jemand noch eine Idee?

@fred_feuerstein: Jep, das LED-Bild tausche ich noch aus. War gestern Nacht eher ein Schnellschuss gewesen. Wollte nur sicher sein, dass es auch angezeigt wird.

Zu den Erweiterungen bezüglich Sortierung, das versuche ich noch zu implementieren. Da muss ich ein bisschen basteln.

Die Mobil-Ansicht pflege ich nicht mehr weiter, es sei denn, es gibt dort Fehler, da (fast) alle Browser gut mit der grafischen Variante zurechtkommen (bis auf mein steinalter PDA und mein E-Book-Reader mit eInk-Display). Oder nutzen hier noch viele diese Darstellung? Aber keine Sorge, entfernt wird der Code für die Mobil-Ansicht nicht, nur nicht mehr weiterentwickeln.
 
Hallo,
;) ist auch nur eine kleine Anmerkung gewesen.

Trotzdem eine super Arbeit :D
 
...ist auch nur eine kleine Anmerkung gewesen...
Ich weiß, aber es lässt mir auch keine Ruhe. :) Es muss doch irgendwie möglich sein... :?

Und danke fürs Lob. Das Script nutzen tatsächlich doch ein paar Leute ;)
 
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.