Kaffe timer och radio, Arduino, Logitech Harmony och openHAB (3 / 3 steg)
Steg 3: OpenHAB kod
Artiklar
Artikelkonfigurationen är ganska okomplicerat.
För Switch objekt se till att ha en del att skicka vidare och en annan för OFF, och ännu en annan för att endast få tillståndet i reläet (kom ihåg, sänds regelbundet kommandot var inte fått korrekt i rutan switch).
Växeln "GetNode_GF_Coffee_RSSI2" används för att skicka GetRSSI till kaffemaskinen för att få signal styrkan tillbaka.
På reset switch är att återställa alla värden för att läsa dem från början om inte du är säker Arduino skickar tillbaka vad den borde.
Den harmoni del tog ett tag tills jag räknat ut vad som ska skickas. I slutet behövs några kommandon skjuta upp en verksamhet, vänta och ange kanalen.
Sitemap
Bara kaffemaskinen behövs här. Naturligtvis kan du välja att lägga harmoni till webbplatskartan också. Detta faktiskt kan vara intressant om inte du är hemma. Du kan slå på och av TV: N som du vill simulera beläggning; måste tänka om.
Regler
Förmodligen den mest intressanta delen...
Variabeln "Log_MorningJobCoffee" sägs om något ska loggas i openhab.log det är bra för felsökning.
Försök att arbeta med variabler, blir det lättare än chaning siffror i koden. Till exempel variabler för volymer och väntetider.
Den första riktiga regeln är "kaffebryggare cronjob på" faktiskt skickar kommandot ON till kaffemaskinen. Även digitalboxen startas (och ja, det tar nästan 40 sekunder att starta...) och eftersom konstruktionen inte är så intelligent, jag alltid behöver växla till TV-kanaler och satt till 1, och sedan växla tillbaka till radiokanalerna och markera min kanal.
Volymen kunde faktiskt anges med ett nummer, men det är nog bättre för högtalarna att skruva upp volymen som att trycka på knappen på fjärrkontrollen (detta är vad while loopen är för)
BlueBlink är helt klart. Om maskinen är på, skickas kommandot blink.
Maskin-OFF jobbet är alltför uppenbart.
Märkliga regeln "kaffebryggare status change" förklaras enligt följande. Jag märkte att OH server perdiodically skicka sin senaste status till noder. Vilket innebär att när maskinen på genom att trycka på knappen på boxen, den vilja uppdatera OH, men Ohs minne var statens senaste skicka OFF. Så kommer att maskinen stänga av några ögonblick du slås den på. Lösningen skulle vara att koppla maskinen på från OH bara. Men sedan vi byggde i knappar, vi vill använda dem. Det är därför när OH får ON status från maskinen, det också kommer att skicka vidare; bara att ha rätt kommando som skickades senast. Koden för Arduino ignorerar den mottagna på kommandot ändå om maskinen är redan på.
Tyvärr BlueBlink och BlueLight reglerna har inte implementerats ännu, vilket innebär att kommandot OFF inte försenas. Detta kommer att ske på ett senare stadium och jag kommer att uppdatera detta instructable sedan.
Nästa 3 reglerna kommer att begära signal styrkan, uppdatera sista-uppdatera och återställa alla värden av kaffemaskinen.
Harmoniregler ökar och minskar volymen. Radio station regeln skickar helt enkelt nummer till kabelboxen till valde kanalen. Varje kommando är en pressad knapp. Ett kommando som "150" kan inte skickas eftersom digitalboxen inte förstår som.
Observera att OH servern behöver Logitech bindningen som Onky bindningen i mitt fall.
Se till att definiera deras IP-adresser i cfg-fil. Undersökningsperioden kan ställas in på mottagaren, men harmoni måste få en reserverad DHCP-adress (kolla du DHCP-server för att tilldela en adress till din Harmony's MAC-adress).