SensorAndSwitch Haus-Automation auf Webserver-Basis

Ok, JL3. Dann brauche ich auch keine Screenshots der Mobil-Ansicht mehr erstellen. :)
Weil selbst nutze ich nur die normale Ansicht am PC, tablet und Handy.
 
@fred_feuerstein: Wie gesagt, es sei denn es sind Fehler. Z. B. wo statt eines Bildes ein Browser-Platzhalter angezeigt wurde und es direkt ins Auge fällt.

Ansonsten konzentriere ich mich jetzt auf die Haupt-GUI. :)
 
Da bin ich schon wieder. Hoffe ich nerve nicht :)

Ich habe mich mal zur 2. Fritzbox von mir verbunden. (testweise)
Dort ist weder Dect aktiv, noch ein SmartHome Gerät verbunden.
Die Anzeige sieht dann so aus:
smarthome6.PNG

Bis auf den Platzhalter im Browser eigentlich nicht so schlimm. Aber vielleicht kannst Du den noch eliminieren oder abfangen.
Und es ist ja auch nur Kosmetik. Weil wenn jemand keine Smarthome Geräte hat, dann wird er auch nicht dein Tool nutzen ;)


Ich hätte noch eine Frage, hast Du schon eine Übersicht der aktuellen funktionbitmask Möglichkeiten?
Fritz!Dect Repeater 100 = 1280
Fritz!Dect 200 = 896
Fritz Powerline 546E = ???
??? = ???

Hintergrund: Ich erstelle gerade für einen linuxbasierten Sat-Receiver ein Plugin-Skript, welches auch Daten von den Steckdosen ausliest und schalten kann.
Da würde ich dann auch gerne diese Unterscheidung einbauen.
 
Zuletzt bearbeitet:
Es müssen doch nur die Bits ausgelesen werden und man weiß, was das Gerät kann:
Functionbitmask: Bitmaske der Geräte-Funktionsklassen
Bit 7: Energie Messgerät
Bit 8: Temperatursensor
Bit 9: Schaltsteckdose
Bit 10: AVM DECT Repeater
 
Zuletzt bearbeitet:
@jcc: ja, genau, die werte ich auch aus. Interessant ist tatsächlich nur, welches Gerät welche Bits tatsächlich gesetzt hat,

@fred_feuerstein: bei

Fritz!Dect Repeater 100 = 1280 = 10100000000
Fritz!Dect 200 = 896 = 01110000000
Fritz Powerline 546E = 640 = 01010000000

usw.
 
Danke euch.

@JL3: könntest Du mal die xml-Ausgabe zu Deiner Powerline 546E hier anhängen (natürlich mit entfernter AIN ;) ). Also die Zeilen ab <device identi... bis </device>. Das würde mir sehr helfen.

Wieviele verschiedene Geräte gibt es eigentlich, die man ansteuern kann? Aktuell sind es ja nur drei, oder? (Repeater, 200 und 546E).

<OT>:
So sieht die aktuelle Ausgabe bei meinem Receiver aus:
dect_on2.PNG
</OT>
 
@JL3
Eine Liste, welche Geräte was machen können ist doch unwichtig.
Wenn das 9. Bit gesetzt ist, hast du jetzt und zukünftig eine Schaltsteckdose. Egal, wie das Gerät heißt/heißen wird.
 
@jcc: ja, ich habe mich auch davon gelöst, anhand der Bits einen Gerätetyp zu konstruieren, da bestimmt noch ein Haufen Geräte kommen, die diese Funktionen bunt gemischt anbieten und wo soll man die dann einsortieren. :)

@fred_feuerstein:
Code:
            [8] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [identifier] => xx:xx:xx:xx:xx:xx
                            [id] => 20000
                            [functionbitmask] => 640
                            [fwversion] => 06.05
                            [manufacturer] => AVM
                            [productname] => FRITZ!Powerline 546E
                        )

                    [present] => 1
                    [name] => SZ-Neon
                    [switch] => SimpleXMLElement Object
                        (
                            [state] => 0
                            [mode] => manuell
                            [lock] => 0
                        )

                    [powermeter] => SimpleXMLElement Object
                        (
                            [power] => 0
                            [energy] => 206
                        )

                )

Das ist zwar simpleXML, aber genauso aufgebaut wie die XML-Struktur. Das Ganze ist unter <device> zu finden. Die 546E kann dank alter Firmware noch nicht viel. :)
 
Zuletzt bearbeitet:
Hier die 3.80.3757.
Sortierung ist noch nicht drin, nur die Anzeigefehler bei keinem Gerät und bei den LED sind - so hoffe ich - behoben.
Mit der Sortierung bin ich unschlüssig, woran ich die festmachen soll: Zuerst Gruppen mit schaltbaren Geräten, dann schaltbare Geräte, dann nichtschaltbare?

Anhang entfernt, Download in Post #1
 
Zuletzt bearbeitet:
@jcc: ja, ich habe mich auch davon gelöst, anhand der Bits einen Gerätetyp zu konstruieren, da bestimmt noch ein Haufen Geräte kommen, die diese Funktionen bunt gemischt anbieten und wo soll man die dann einsortieren. :)

Beim nächsten FW-Update bekommt die Hardware eine andere Maske und dann?
Z.B. Bit 11 gesetzt, wenn ein Micro vorhanden ist. Schon erkennst du die DECT 200 nicht mehr richtig.
 
@jcc: Genau, aus diesem Grund nur prüfen, ob das Gerät die Funktion kann und fertig. Ich prüfe bei mir im Script auch keine DECT-Repeater-Funktionalität, da die nichts mit Steckdosenschalten zu tun hat. Nur das, was effektiv benötigt wird, sonst bastelt man ewig mit seiner Software hinterher. ;)

Trotzdem, die Bitmask 7 - 10 wird wohl auch bei einem neuen Update nicht so schnell geändert werden. Ein Fehler wäre es allerdings, im Programm oder Script 896 = DECT200 zu prüfen, das bringt nur Arbeit, denn das könnte sich ändern, wenn die Bitmask für neue Funktionen erweitert werden würde.
 
...
Hintergrund: Ich erstelle gerade für einen linuxbasierten Sat-Receiver ein Plugin-Skript, welches auch Daten von den Steckdosen ausliest und schalten kann.
Da würde ich dann auch gerne diese Unterscheidung einbauen.

Für eine Dreambox?

Nochmal zur functionbitmask: Prüfe in deinem Script am besten wirklich nach den entsprechend gesetzten Bits und nicht nach dem Gesamtwert der functionbitmask des momentanen Gerätes, sonst wird das sehr änderungsanfällg.
In PHP z. B.: if ($FBIT&(1<<7)) testet ob Bit 7 gesetzt ist.

Lief eigentlich die WebUI bei Anzeige ohne angemeldete Geräte korrekt?
 
Zuletzt bearbeitet:
@JL3
wenn ich mir den Post 67 noch mal so ansehe, muss ich feststellen, das ich nicht dich sondern fred_feuerstein meinte.:blonk:
 
Für eine Dreambox?
...
Lief eigentlich die WebUI bei Anzeige ohne angemeldete Geräte korrekt?

Nein, keine Dreambox, bzw. enigma2 sondern eine Coolstream-Box mit Neutrino HD.

WebUI bei Anzeige ohne angemeldete Gerät läuft nun perfekt ! Ohne Anzeigefehler.

Auch die Sortiermöglichkeiten sind prima so. Vielen Dank.

@JL3
wenn ich mir den Post 67 noch mal so ansehe, muss ich feststellen, das ich nicht dich sondern fred_feuerstein meinte.:blonk:

Es ging mir auch primär um eine Liste der aktuell möglichen Smart Home Geräte von AVM. Im Moment sind dies drei, oder? Repeater, Steckdose und 546E.
 
@fred_feuerstein: Prima. :)

Nein, es gibt noch ein paar mehr. Die 220 oder wars 230 kam glaube ich nie über die IFA hinaus. Da war Schaltsteckdose und DECT-Repeater drin. Man müsste von allen Produkten die Bedienungsanleitung durchsehen. Ich habe da noch einige aus der 500er Serie im Verdacht, die zwar nicht schaltbar sind (bis auf die 546E), aber dafür den einen oder anderen Sensorwert liefern. Wie AVM die dann einstuft, ist auch fraglich. Die DECT100 ist kein klassisches Smart Home Gerät, liefert aber dennoch die Temperatur.
 
Zuletzt bearbeitet:
HINWEIS für die experimentellen Smart Home Automation - Scripte:

:bluescre:
Mit enthaltener expermenteller Bereich SmartHome Automation:
(Nähere Informationen dazu in Post #9 und Post #20 weiter unten im Thread)
  • Die Sommer-/Winterzeitumstellung kann im Automations-Script falsch sein. Auf der Fritzbox mit cron ist dies der Fall. Auf anderen Webservern ist dies noch ungeklärt. Für die Fritzbox/cron-Variante steht mit Version 3.90 eine funktionierende Variante bald bereit.
  • Nach wie vor nur experimentell nutzbar.
 
Mit enthaltener expermenteller Bereich SmartHome Automation:
(Nähere Informationen dazu in Post #9 und Post #20 weiter unten im Thread)
  • Die Sommer-/Winterzeitumstellung ist in der neuen Version korrigiert.
  • Nach wie vor nur experimentell nutzbar.

Sorry, die 3847 hatte noch einen Fehler, den ich leider nicht schnell genug bemerkt habe, daher gleich die 3848 hinterher.

Download in Post #1
 
Zuletzt bearbeitet:
Da ich die Idee genial finde wollte ich das auch probieren. Vorab mit php habe ich gar keine Erfahrung. Ich will auch keinen Step by Step Anleitung, dann wäre es ja zu einfach ....

Erst habe ich es auf einem Windows PC probiert, das läuft auch ein paar Script Fehler in der Anzeige, aber okay, also prinzipiell läuft es in meiner Umgebung. Aber ich möchte das auf einer Büchse machen die bei mir eh läuft als auf die Himbeere damit.
Apache und php ist drauf, phpinfo.php liefert Werte:

Code:
PHP Logo
PHP Version 5.4.4-14+deb7u14


System	Linux raspberrypi 3.12.30+ #717 PREEMPT Fri Oct 17 18:46:31 BST 2014 armv6l
Build Date	Aug 21 2014 15:58:40
Server API	Apache 2.0 Handler
Virtual Directory Support	disabled
Configuration File (php.ini) Path	/etc/php5/apache2
Loaded Configuration File	/etc/php5/apache2/php.ini
Scan this dir for additional .ini files	/etc/php5/apache2/conf.d
Additional .ini files parsed	/etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/20-curl.ini, /etc/php5/apache2/conf.d/20-pdo_sqlite.ini, /etc/php5/apache2/conf.d/20-sqlite3.ini, /etc/php5/apache2/conf.d/20-xsl.ini
PHP API	20100412
PHP Extension	20100525
Zend Extension	220100525
Zend Extension Build	API220100525,NTS
PHP Extension Build	API20100525,NTS
Debug Build	no
Thread Safety	disabled
Zend Signal Handling	disabled
Zend Memory Manager	enabled
Zend Multibyte Support	provided by mbstring
IPv6 Support	enabled
DTrace Support	disabled
Registered PHP Streams	https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports	tcp, udp, unix, udg, ssl, sslv3, tls
Registered Stream Filters	zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk

....

usw...

Apache/2.2.22 (Debian)
PHP Version 5.4.4-14+deb7u14

Also eigentlich alles wie es sein soll ..

Also das Zip in das Verzeichnis gepackt in dem auch die phpinfo.php liegt.

Wenn ich jetzt die Seite smarthome.php aufrufe bleibt die Seite leer ...

Also findet er die Seite, ruft sie auf, aber führt das script nicht aus ...

Wo muss ich da mal genauer hinschauen?

edit: ich habe das auf der Fritzbox selbst auch mal probiert dort auch das gleiche, einfach eine leere Seite, irgendwo biege ich wohl falsch ab ..
 
@HarryHase: Legt das Script die Datei smarthome.conf an? (Muss sich im Verzeihnis von smarthome.php befinden. Wenn nein, händisch mit leerem Inhalt anlegen, da dein Apache das Anlegen von Dateien vermutlich unterbindet. Lese-/Schreibrechte mindestens 666.

Nachtrag: Überprüfe ob in deiner Apache-Konfiguration generell Lese-/Schreiboperationen gestattet sind. Der fopen in php muss ausgeführt werden dürfen. Ich denke, dass es daran liegt. Versuche einmal server2go aus meinem ersten Post auf deinen PC zu laden, dann dort nach den Anweisungen zum Laufen zu bekommen und dann versuchen, den Unterschied aus der php.ini und der apache.conf dort mit denen auf deinem eigentlichen Server vergleichen, was dort vielleicht unwissentlich noch gesperrt ist.
 
Zuletzt bearbeitet:
wurde nicht angelegt, händisch gemacht, aber daran liegt es auch nicht ... es wird ja auch gar nichts angezeigt, die phpinfo.php liegt im gleichem ordner die wird angezeigt ..
 
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.