Stap 4: programmeren
Er zijn twee stukken van de software te programmeren. De kern van de Spark maakt gebruik van MQTT om te praten met de server van de huisautomatisering genaamd OpenHAB. De makelaar van de MQTT die mij ben using heet Mosquitto. Afgezien van programmering van de Spark-kern, hebt u om te beslissen waar OpenHAB en Mosquitto zal worden geïnstalleerd. Ze kunnen worden geïnstalleerd op een Raspberry Pi (Linux) of een Windows of Mac PC. It's to you, en het echt niet veel van een verschil dan stroomverbruik. De configuratie is hetzelfde.
Download het bijgevoegde Spark Core-programma naar uw Core vonk. Als u hulp nodig hebt, volg de Spark Core's--introductiehandleiding.
Installeer Mosquitto via deze link downloaden.
Installeer OpenHAB met behulp van deze wiki. Uzelf vertrouwd met de configuratiebestanden zoals items, sitemap en regels. Volg de OpenHAB configuratie de OpenHAB-interface instellen.
Objecten:
Switch itm_mousetrap_basement_trap_sta "Basement Trap Status" <mymouse> DateTime itm_mousetrap_basement_time "Trap Time [%1$tA, %1$tm/%1$td, %1$tI:%1$tM %1$tp]" DateTime itm_mousetrap_heartbeat "Heartbeat Time [%1$tA, %1$tm/%1$td, %1$tI:%1$tM %1$tp]" Number itm_mousetrap_basement_temp "Temp [%.1f °F]" <temperature> (All) {mqtt="<[mymosquitto:mouse_basement_temp:state:default]"} Switch itm_mousetrap_basement_be_lonely "Lonely Mouse Mode" {mqtt=">[mymosquitto:9996:command:ON:1],>[mymosquitto:9995:command:OFF:0]"} Number itm_mousetrap_basement_trap_mqtt "trap mqtt" (ALL) {mqtt="<[mymosquitto:mouse_basement_trap_mouse:state:default]"} Switch itm_mouse_basement_man_rst_mqtt "Mouse Basement mqtt ahhh" <blank> {mqtt=">[mymosquitto:9997:command:ON:1],>[mymosquitto:9997:command:OFF:0]"
Sitemap:
Text label="Mouse Traps" icon="firstfloor" { Frame label="" { Switch item=itm_mousetrap_vacation } Frame label="Basement Mouse Traps" { Switch item=itm_mousetrap_basement_trap_sta mappings=[OFF="Reset"] Text item=itm_mousetrap_basement_time Text item=itm_mousetrap_basement_temp Switch item=itm_mousetrap_basement_be_lonely } //Basement Mouse Traps }//end frame
Regels
rule "Mouse Trap Basement Mouse Detected" when Item itm_mousetrap_basement_trap_mqtt received update then if (itm_mousetrap_basement_trap_mqtt.state == 1) { sendCommand(itm_mousetrap_basement_trap_sta, ON) postUpdate(itm_mousetrap_basement_time, new DateTimeType()) sendMail("myemailaddress "subject mouse trap" , "a mouse in trap!") say("mouse in trap!") } else //reset { sendCommand(itm_mousetrap_basement_trap_sta, OFF) } end //Mouse Trap Basement Mouse Detected rule "Mouse Trap Basement Reset" when Item itm_mousetrap_basement_trap_sta received update then if (itm_mousetrap_basement_trap_sta.state == OFF) { sendCommand(itm_mouse_basement_man_rst_mqtt, ON) } end //mouse trap basement reset
Open het bestand openhab.cfg, de e-mailinstellingen als volgt bewerken:
######################## Mail Action configuration #################################### # # The SMTP server hostname, e.g. "smtp.gmail.com" mail:hostname=smtp.gmail.com # the SMTP port to use (optional, defaults to 25 (resp. 587 for TLS)) mail:port=587 # the username and password if the SMTP server requires authentication, no mail:username=YourGmailName mail:password=daPassword # The email address to use for sending mails mail:from=YourGmailName # set to "true", if TLS should be used for the connection # (optional, defaults to false) mail:tls=true
Thats it.