Ich möchte hier mal ein kleines Projekt vorstellen was ich aus Langeweile und einem freien Kontakt an einem HM-LC-Sw4-WM gestartet habe.
Vorwort:
Ich hatte irgendwann einen Air Wick Freshmatic Max Lufterfrischer geschenkt bekommen und diesen kurzerhand zu Flur Lufterfrischer auserkoren. Die standardmäßige minimale Einstellung setzt einen Sprühstoß ca alle 20 min ab, egal ob Tag oder Nacht ( hat mich schon einiges mal ziemlichh aus den Latschen kippen lassen ).
Da mir das gegen den Strich ging und ich eine Einbindung in die HM haben wollte musste ich das Gerät mal unter die Lupe nehmen um ihm etwas Intelligenz ein zu hauchen.
Ich habe zu dem im Flur schon einen Bewegungsmelder angebracht um meine Lichtinseln anzusteuern. Die Sprachausgabe wird über ein Wandtablet realisiert.
Ziel war eine Ansage der ungefähren Kapazität und eine Benachrichtigung bei leerer Kartusche.
Benötigtest Material:
-einen potentialfreien Schließer auf z.B. HM-LC-Sw4-WM -Air Wick Freshmatic Max -Bewegungsmelder z.B. HM-Sec-MDIR -Lötkolben und Kabel
-Systemvariable "Lufterfrischer Kapazität" (Zahl max 250)
-CUxD
-Tablet mit Home24 Mediaplayer (zur Sprachausgabe)
-Email Addon
Vorbereitung:
Den Lufterfrischer öffnen und einen externen Zugang für den Schließerkontakt anbringen, ich habe hier einen Steckverbinder von einem Servomotor genommen. Die Zuleitung für Motor und Platine abklemmen und mit der Zuleitung verbinden. Wenn man nur den Motor abkoppelt wird merkwürdigerweise trotzdem noch ein Signal von der Platine ausgegeben und der Motor läuft kurz an und bleibt hängen. Gleiches mit nur abgeklemmter Platine.
Ich habe das nicht weiter untersucht oder mir den Kopf zerbrochen warum, nur einfach gemacht.
Hier der funtionierende Anschluss: Dann kann der Luferfrischer platziert werden und an den HM-LC-Sw4-WM angeschlossen werden. Hardwareseitig fertig!
Nun zum Programm:
Hier war mir wichtig den Lufterfrischer nur im definierten Zeitraum zu starten und dann auch nur bei erkannter Bewegung und maximal 1x pro Stunde.
Zu erst eine Variable namens "Lufterfrischer Kapazität" anlegen (ja ich weiß böse Umlaute).
Dann einen CUxD Timer anlegen.
Hier das Programm Die Skripte sind hier:
Code: Alles auswählen
var url="http://192.168.178.22:50000/";
var kap = dom.GetObject("Flur Lufterfrischer Kapazität").Value().ToInteger();
var cURL="LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
string textstart;
string textend;
if (kap >1) {
textstart = "tts=Lufterfrischer gestartet! Die Kapazitaet liegt bei ungefaehr";
textend = kap # "Hueben";
}
if (kap ==1) {
textstart = "tts=Lufterfrischer gestartet! Die Kapazitaet liegt bei ungefaehr";
textend = "einem Hub.";
}
if (kap < 1) {
textstart = "tts=Der Lufterfrischer ist leer, bitte ein neues Spray einlegen!";
}
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(cURL#" -s -m 5 '"#url# textstart # textend #"'");
Code: Alles auswählen
!Kapazität schreiben
var kap = dom.GetObject("Flur Lufterfrischer Kapazität").Value().ToInteger();
kap = kap-1;
dom.GetObject("Flur Lufterfrischer Kapazität").State(kap);
if (kap < 15)
{ dom.GetObject("Email Inhalt").State("Der Lufterfrischer im Flur ist bald leer bitte eine neue Kartusche kaufen.");
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 02");
}
Viel Spass beim Nachmachen!