Fysisk Home Automation-gränssnittet (3 / 8 steg)
Steg 3: Sensor: Energy Monitor
Nu när vi har ett fysiskt gränssnitt kan visa energianvändningen, måste vi bygga en sensor nod för att läsa energiförbrukningen i huset och publicera att konsumtionen till MQTT mäklaren. Det finns ett par sätt att göra detta. Jag använder en Arduino Yun. Det är den minst komplicerade metoden, men inte billigast. Om du vill, kan du använda en Arduino Uno, Ethernet-shield och en trådlös router för att fungera som en wifi bridge. Eller du kan använda en Pi med öppen Energy Monitor paketet. Jag ska bara täcka metoden Yun.
Jag använder en $7 Strömtransformator från ebay. Du kan hitta den 100A versionen av Yhdc SCT-013-000 här . Tråd det upp enligt kopplingsschemat ovan och ladda upp skissen Arduino Yun längst ned i detta steg. Ska du ändra kod som din mäklare IP-adress: MQTT. Denna sida för öppen Energy Monitor-biblioteket är en bra referens. Här är idealisk komponent värdena.
- Belasta Resistor = 33 ohm
- Spänningsavdelare Resistor = 10 k ohm
- Kondensator = 10uF
Bilden av min energi monitor stämmer inte riktigt kopplingsschemat eftersom jag inte hade de exakta delar å. Jag var tvungen att använda två 68 ohm resistor parallellt eftersom jag inte hade 33 ohms belastning motstånd. Och jag hade inte en 10uF kondensatorn för likriktare kretsen, så jag använde två 22uF kondensatorer istället. Den serien motsvarande kapacitansen är tillräckligt nära.
Bifoga den nuvarande transformatorn på en av de inkommande faserna av ditt hus. Jag hade bara en enda 100A transformator, så jag bara övervakning en av faserna. Så småningom, skulle jag vilja få mer transformers att övervaka den andra etappen av den inkommande strömmen och även gren kretsar. Med hjälp av en faktisk amp mätare, Läs min DIY setup alltid 1 amp ovan amp mätaren över olika amp avläsningar (se 5: e bilden ovan). Ganska enkel sak att bara subtrahera det extra amp.
OpenHAB
Eftersom vi har data kommer in, vi kanske också även Visa det på OpenHAB data kan visas i diagram. Här är den relevanta OpenHAB konfigurationen.
Objektet Definition
< p > nummer itm_smarthome_energy_amps "Energi (ampere) [%.1f]" {mqtt = "< [mymosquitto:2853:state:default]"} < /p >< p > nummer itm_smarthome_energy_watts "Energi (watt) [%.1f]" {mqtt = "< [mymosquitto:2852:state:default]"} < /p >
Sitemap
< p > textetikett = "Energi" icon = "firstfloor" < br > {< /p >< p > bildruteetikett = "Energianvändning"
{
Textobjekt = itm_smarthome_energy_amps < /p >< p > textobjekt = itm_smarthome_energy_watts < /p >< p > diagramelementet = itm_smarthome_energy_watts period = h uppdatera = 5000
{} //Frame energianvändning < /p >< p >} //Text label = "Energi" < /p >
Persistens
Eftersom vi använder diagram, måste vi definiera någon form av persistens strategi för energi. RRD4J är lättast att använda, så här är vad jag har för "/ openhab/configurations/persistence/rrd4j.persist".
< p > strategier {< br > / / för rrd diagram, vi behöver en cron strategi
everyMinute: "0 ****?"
} < /p >< p > objekt {
DemoSwitch, NoOfLights, Window_GF_Toilet, uppvärmning *: strategi = everyChange, everyMinute, restoreOnStartup
Låt oss bara lagra temperatur värden i rrd
Temperatur *, Weather_Chart *: strategi = everyMinute, restoreOnStartup
itm_smarthome_energy_watts: strategi = everyUpdate
} < /p >
Energi bildskärm