Stap 4: Aansluiten op OpenHab
Ik ben niet van plan om in de setup van OpenHab in deze handleiding (en ik doe een alleen als ik een goeie om te linken naar niet kunt vinden). Veel middelen daar. Ik ga om te praten over hoe het te krijgen om te praten met de Arduino-Hub.
ONDERDELEN BESTAND
Eerst moet omhoog, u instellen van de Arduino in uw .items bestand. Hier is de regels die ik gebruik:
Dit stelt de verbinding met de seriële poort van de Arduino (uw COM-poort kan variëren, ach het mogen niet zelfs worden genoemd een COM-poort als je op linux (ik denk dat ze noemen het tty of iets)):
String Arduino "Arduino [%s]" (arduino) {seriële = "COM5"}
Dit zet de knop dat u voor open/close/stop uw garagedeur drukken kunt
Schakelen Arduino_toggle "Arduino wissel"
SITEMAPBESTAND
Vervolgens wilt u elementen in uw .sitemap bestand dat gebruikt als uw besturingselementen worden zal instellen. Hier is mijn spullen:
Dit toont een pictogram voor een garagedeur, evenals de huidige status in tekst. Aangezien de garagedeur pictogram verwacht de Staten "OPEN" en "Gesloten dat" wordt het pictogram visueel aangepast aan de deur staat:
Tekstitem = pictogram Garage_Eric = "garagedeur"
Dit geeft u een knop die je dat triggers een evenement, dat "1" naar de arduino stuurt duwen kunt, met behulp van een regel die we bespreken in de sectie regels.
Schakelaar item = Garage_Eric_Button toewijzingen = [ingeschakeld = "Toggle State"] pictogram = "energie"
HET BESTAND MET REGELS
Tot slot, u zult een regel opstellen waardoor deze dingen wat vertelt te doen:
Deze regel zegt dat wanneer de Arduino gegevens via de seriële poort verzendt, die string omzetten in een float, en dan zien of het is min of meer dan 7. Voor mij, de deur is geopend bij het lezen van 2, en bij het lezen van 12 gesloten.
regel "Arduino"
Wanneer
Arduino ontvangen object bijwerken
vervolgens {}
var float dist = nieuwe Float(Arduino.state.toString.trim);
Als (dist > 7) Garage_Eric.postUpdate("CLOSED");
Als (dist < = 7) Garage_Eric.postUpdate("OPEN");
einde
Deze regel zegt dat telkens als u treffer naar de knop, voor het verzenden van "1" via de seriële poort van de Arduino. In mijn code (in het voorbeeld van de garage), als de Garage Arduino een 1 ontvangt, activeert het de deur.
regel "Garage Eric"
Wanneer
Opdracht van de Garage_Eric_Button ontvangen item
vervolgens
sendCommand (Arduino, "1")
einde