Miniprojekt: 6-fach Taster wie HM-PB-6-WM55 aber gratis

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

Antworten
gzi
Beiträge: 450
Registriert: 12.01.2015, 23:37
System: CCU
Hat sich bedankt: 15 Mal
Danksagung erhalten: 15 Mal

Miniprojekt: 6-fach Taster wie HM-PB-6-WM55 aber gratis

Beitrag von gzi » 03.04.2019, 21:54

Bin mir nicht sicher, ob dieses Thema wirklich hierhergehört. Also bitte verschieben admins, wenns hier nicht passt.

Liegen bei Dir auch alte Smartphones herum, die keiner mehr verwendet, weil das OS veraltet oder der Akku hinüber ist? Bei mir ist es jedenfalls so und ich dachte mir, dass diese - an die Wand geschraubt - doch noch einen guten Zweck haben könnten. Ein Bild sagt mehr als 1000 Worte:
Vergleich2.jpg

Ergebnis meiner Überlegungen ist das PHP Script
  • PHPDevice
welches in jedem Web-Browser aufgerufen werden kann und HomeMatic-Taster (nicht nur den mit 6 Tasten sondern auch mit 2-18 Tasten) simulieren kann. Folgende Voraussetzungen müssen gegeben sein:
  • Endgerät (Handy, Tablet) mit Browser und beliebiger Bildschirmauflösung
  • Web-Server, auf dem PHP läuft (bei mir ein Raspberry PI im LAN)
  • HTTP(S) Verbindung vom Endgerät zum Web-Server und vom Web-Server zur CCU
Hier PHPDevice.zip zum download. Version 1.0:
PHPDevice.zip
(78.51 KiB) 32-mal heruntergeladen

Installation – Kurzanleitung

Archiv in ein htdocs-Verzeichnis (z.B. htdocs/PHPDevice) am Webserver entpacken und Schreibrechte für den PHP Prozess auf die conf.php Datei einrichten. Dann Taster via http://server/PHPDevice/index.php?cmd=setup einrichten.

Installation – detailliert

1. ZIP Datei herunterladen, entpacken und alle Dateien in ein neues Sub-Verzeichnis im Dokument-Verzeichnis des Web-Servers kopieren (z.B. htdocs/PHPDevice oder www/html/PHPDevice)
2. Der PHP Prozess am Server braucht Schreibrechte auf PHPDevice.conf. Mit WinSCP am RasPi für den Lighttpd Webserver macht man das so:
Rechte.JPG
3. Von einem beliebigen Browser die Konfigurationsoberfläche der PHPDevice aufrufen: z.B. http://<server>/PHPDevice/index.php?cmd=setup :
setup.JPG

4. Im obigen Beispiel wird ein 8-Fach Taster konfiguriert.
- Schalter 1 setzt die CCU Systemvariable _test_var1 mit der linken Schaltfläche auf 1 und mit der rechten Schaltfläche auf 0.
- Schalter 3 schaltet mit der linken Schaltfläche _test_var2 auf 1/0 und mit der rechten Schaltfläche _test_var3 auf 1/0 (Toggle).
- Wie man am Beispiel sieht, muss man die Namen der Systemvariablen und die Beschriftungen mit Strichpunkten trennen, wenn man den Toggle-Modus verwenden möchte.
- So sieht der konfigurierte 8-Fach Taster dann im Browser aus:
PHPDevice.JPG

Weitere Setup-Einstellungen:

- Unter „URL der CCU“ gibt man die URL an unter der man auch das WebUI der CCU vom Webserver aus erreichen könnte.
- Die XKorrektur-Felder dienen dazu die Breite der Anzeige zu justieren. Manche Browser reservieren am rechten Rand Platz für einen Scrollbar. Auch wenn es nichts zu scrollen gibt. Bei anderen kann man die dort angegeben Zahlen reduzieren und bekommt so ein Bild, das die gesamte Breite des Browsers ausnutzt. Die Defaultwerte habe ich mit Firefox unter Win 10 am PC ermittelt.
- Im Normalfall ermittelt PHPDevice die Fensterdimensionen automatisch. Wenn sich das Bild aber nicht schön ausrichtet, dann mal die Seite refreshen, den Browser Zoom auf 100% einstellen oder ggf. höhere XKorrektur-Werte im Setup einstellen.
- Beim ersten Aufruf der Setup-Oberfläche muss ein Setup-Password vergeben werden.
- Klickt man OK, so werden alle Setup-Einstellungen unter PHPDevice.conf am Webserver gespeichert. Will man das Setup Password zurücksetzen, so muss man dort den password-Eintrag entfernen.

5. In der CCU müssen die beim Setup angegebenen Systemvariablen mit dem exakt gleichen Namen und dem Typ Zahl oder Logikwert angelegt werden. Deren Namen dürfen keine Leerzeichen und keine Umlaute enthalten.
6. Nun kann man am Endgerät: den Taster mit http://<server>/PHPDevice/ darstellen.

Nutzung

1. Abhängig vom Status der Systemvariablen kann man in der CCU beliebige Programme auslösen. Die dann z.B. das Licht schalten.
2. Standardmäßig wird die Webseite nach 60 sec schwarz. Diesen Timeout kann man im Setup ändern und z.B. auf eine Stunde (3600) oder einen Tag (86400) setzen. Wenn man nach timeout auf den schwarzen Bereich tippt, erscheint automatisch wieder der konfigurierte Taster.
3. Mit blauer Farbe wird der Status der Systemvariablen angezeigt. Es findet aber kein automatischer Refresh statt (damit die CCU nicht überlastet wird). Man kann aber auf die Beschriftungsfelder in der Mitte tippen, dann werden von der CCU die aktuellen Werte geholt.
4. Wenn man ein weiteres Handy herumliegen hat, kann man natürlich ganz einfach einen zweiten, dritten, vierten… Taster erzeugen. Der kann andere Systemvariablen schalten indem man einfach am Webserver das Verzeichnis /PHPDevice etwa nach /PHPDevice2 kopiert und dort im Setup entsprechend anders einrichtet.

Verbesserung und Varianten

1. Am Endgerät sollte man alle persönlichen Daten und Accounts löschen, die SIM Karte rausnahmen und die automatische Tastensperre ausschalten
2. In manchen Browsern kann man einen „Kiosk-Modus“ einstellen, sodass der ganze Bildschirm verwendet wird und nur eine bestimmte URL verwendet werden kann bzw. beim Hochfahren auch automatisch diese angezeigt wird.
3. Auf eine Unterscheidung zwischen langem und kurzem Tastendruck wie beim echten HM-PB-6-WM55 habe ich verzichtet. Wer weitere Zustände braucht, kann sich ja einfach weitere Schalter konfigurieren. Das ist wahrscheinlich auch einfacher in der Bedienung.
4. Es sind natürlich jede Menge Erweiterungen denkbar (z.B. habe ich einen read-only Modus überlegt). Aber ich denke, es sollte dabei einfach bleiben, denn für Aufwändigeres gibt es „echte“ Visualisierungen. Habe mich auch bemüht, auf besondere CSS-Tricks zu verzichten, die in alten Browsern nicht laufen.
5. Wer Fehler findet oder Verbesserungsvorschläge hat, bitte hier posten. Werde mich im Rahmen meiner Möglichkeiten drum kümmern. Getestet habe ich mit Firefox, Internet Explorer, Safari und PHP5.

Viel Spass!
Lichtsteuerung, Heizungssteuerung, Überwachung (Feuer, Wasser, Einbruch, Stromausfall, Heizungsausfall, Wetter, Kamera), Alarmierung (optisch, akustisch, mail, SMS, voice call) - CCU, diverse HM- und HMIP Aktoren und Sensoren, Rauchmeldeanlage, UPS, GSM-Alarmwähler, Zugriff aus dem Internet via HTTPS und htdigest authentication, kein Datenkraken-Interface (Google, Amazon, China-Cloud, BND, NSA...) - HomeMatic Sicherheits-Kompendium - Checkliste für Auswahl von IP Kameras - Vergleich aktueller HomeMatic Zentralen - und alle Antworten für das gesamte Universum und den Rest

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“