Das VERA-Userinterface zeigt für die Z-Wave Devices einige wichtige Informationen zum Kommunikationsverhalten. Allerdings sind diese Daten in vielen Sub-Tabs der einzelnen Devices versteckt. Die Informationen für alle Devices regelmäßig zusammenzusuchen wäre äußerst zeitaufwändig. Deshalb ist ein tabellarischer Überblick wichtig, der alle relevanten Informationen aller Z-Wave Devices nebeneinander zeigt. Und man muss die Veränderung im Zeitablauf gut verfolgen können.
„LUA+PHP: Tabelle zum Z-WAVE Monitoring“ weiterlesenKategorie: Smarthouse Programmierung
VERA erlaubt individuelle SMART HOUSE Programmierung mit LUA und LUUP. Dabei ist LUUP die Kommandosprache von VERA. LUUP Kommandos können nicht nur aus LUA heraus ausgeführt werden. Der Aufruf von LUUP ist auch von außen über CGI (http-GET) möglich. Dieser Weg ermöglicht vielfältige Zugriffe auf VERA aus Drittsystemen.
Bei der LUA Programmierung für SMART HOUSE sind einige Apps und Werkzeuge hilfreich. Zusätzlich ist Entwicklungsdisziplin gefordert. Ein SMART HOUSE Controller wie VERA ist nämlich ein limitiertes Kleinsystem. Deshalb ist eine performante Strukturierung des LUA Programm Codes besonders wichtig. Dabei sollten die Schreib-Aktionen minimiert werden. Es empfiehlt sich, Datenfehler sorgfältig abzufangen. Denn ein nachträgliches Debugging ist bei VERA nicht einfach. Versteckte Programmfehler können viel Ärger machen. Also am besten jede einzelne Programmentwicklung oder -änderung gut austesten, bevor man weitergeht.
Smart RainSensor = VERA Sitesensor, PHP, WUnderground, …
Smart RainSensor verkettete mehrere Komponenten von Smart House. Auf dem VERA Controller startet die App SiteSensor periodisch die Verarbeitung, wertet die Resultate aus und triggert eine Scene zur Steuerung des Regenschalters an der Bewässerungsanlage. Eine weitere Komponente ist ein PHP Skript auf meinem Webserver, das periodisch durch SiteSensor aufgerufen wird. Dieses Skript holt die Basisdaten vom Cloud Service WeatherUnderground (WUnderground) per API im JSON Format, bereitet die Variablenreihen für Vergangenheit und Zukunft auf und führt die Wasserbedarfsrechnung durch: Die Ergebnisse gehen per JSON Response zurück an SiteSensor. WUnderground übernimmt ca. 10-minütig Messdaten von meiner PWS-Wetterstation, bereitet die Datenreihen auf und ergänzt Wetterprognose-Daten. Falls man einen VERA Controller betreibt, kann man das System recht einfach übernehmen. Siehe auch den Gesamtüberblick über Smart Rainsensor.
„Smart RainSensor = VERA Sitesensor, PHP, WUnderground, …“ weiterlesenEvent-Logs auf meiner Webseite
Mir ist es wichtig, bestimmte Events langfristig über viele Tage und Wochen als separate Event-Logs auf meiner Webseite zu protokollieren. Diese Event-Logs entstehen beim Ablauf von Scenes auf VERA. Ein Event-Log auf meiner Webseite zeigt beispielsweise die stündliche Entwicklung von Temperatur und Feuchte eines bestimmten Raumes. Ein anderes Log listet z.B. für einen bestimmten Gebäudebereich die Events DoorOpen, DoorClose oder Motion.
Ich möchte eine Vielzahl solcher spezieller Event-Logs auf meiner Webseite. Sie sollen übersichtlich und sehr lange verfügbar sind. Auf meiner Webseite sollen sie deshalb liegen, damit sie einfach und von überall abfragbar sind.
In solche Logs sammle ich auch Zustandswerte zum Austesten von Devices, von scenes oder von scene Prozesseketten. Das hat sich im Tagesbetrieb, bei Fehlersuche und zur Optimierung vielfach bewährt.
Nützliche globale Variablen
Ein LUA Programm benutzt überwiegend lokale Variablen. Manchmal sind stattdessen globale Variablen vorteilhaft. Beispiele für nützliche globale Variablen bei VERA: Mit Service-ID Variablen lassen sich die UPnP Bezeichner der LUUP-Kommandos wesentlich verkürzen. Das spart Platz und vermeidet Tippfehler. Oder man kennzeichnet Scene Trigger mit einer globalen Variable. Auf diese Weise kann man trigger-spezifische Scene Actions generieren. So sind weniger Scenes erforderlich. Das fördert die Übersicht.
„Nützliche globale Variablen“ weiterlesen