OpenHab & Arduino (4 / 5 steg)
Steg 4: Ansluta till OpenHab
Jag kommer inte att få in i installationen av OpenHab i den här guiden (och jag ska bara göra en om jag inte hittar en bra att länka till). Massor av resurser ute. Jag kommer bara att tala om hur man få det att prata med Arduino navet.
-FILEN MED PRISLISTEOBJEKT
Först måste upp, du ställa in Arduino i filen .items. Här är de linjer som jag använder:
Detta sätter upp anslutningen till den Arduino seriell port (COM-porten kan variera, fan det inte ens kan kallas en COM-port om du är på linux (tror jag de kallar det tty eller något)):
Sträng Arduino "Arduino [%s]" (arduino) {seriell = "COM5"}
Detta sätter upp knappen som du kan trycka på open/close/stopp din garageport
Växla Arduino_toggle "Arduino växla"
SITEMAP-FIL
Nästa, du vill ställa in element i filen .sitemap som kommer att vara din kontroller. Här är mina grejer:
Detta visar en ikon för en garageport, samt aktuell status i texten. Eftersom ikonen garagedoor förväntar sig påstår "Öppna" och "Stängd" ändras ikonen visuellt så att den matchar den dörren:
Textobjekt = Garage_Eric icon = "garagedoor"
Detta ger dig en knapp som du kan trycka som utlöser en händelse, som skickar "1" till arduino, med en regel som vi ska diskutera i avsnittet regler.
Switch objekt = Garage_Eric_Button mappningar = [ON = "Växla staten"] ikonen = "energi"
REGELFILEN
Slutligen ska du ställa in en regel som säger dessa saker att göra:
Denna regel säger att när Arduino skickar data via den seriella porten, konvertera strängen till en flottör, och sedan se om det är mer eller mindre än 7. För mig, dörren är öppen när den läser 2, och stängd när den läser 12.
regeln "Arduino"
När
Item fått Arduino uppdatering
sedan {
var float dist = nya Float(Arduino.state.toString.trim);
om (dist > 7) Garage_Eric.postUpdate("CLOSED");
om (dist < = 7) Garage_Eric.postUpdate("OPEN");
slutet
Denna regel säger att när du trycker på knappen, för att skicka "1" via Arduinos serieport. I min kod (i exemplet garage), om Garage Arduino får en 1, utlöser det dörren.
regeln "Garage Eric"
När
Objektet Garage_Eric_Button fick kommandot
sedan
sendCommand (Arduino, "1")
slutet