MQTT-r hasznalva az alaptopikba kuldott uzenettel lehet egy adott relet vezereleni (pl 31 - 3-as rele BE, 70 - 7-es rele KI) Az allapot lehet 0 vagy 1, a releszam mindig az elso karakter.
A wbserver tud http://IP_CIM/ vagy http://IP_CIM/json api-t. Weben keresztul pl:
$ curl -X POST --data "Relay: 61" http://IP_CIM/json
"Relay_1" : 0,
"Relay_2" : 0,
"Relay_3" : 0,
"Relay_4" : 1,
"Relay_5" : 0,
"Relay_6" : 1,
"Relay_7" : 0,
"Relay_8" : 0
}
vagy pedig:
$ curl -X POST --data "Relay=31" http://IP_CIM
RelayControl_1
Status
Relay_1 : [OFF]ON
Relay_2 : [OFF]ON
Relay_3 : OFF[ON]
Relay_4 : [OFF]ON
Relay_5 : [OFF]ON
Relay_6 : [OFF]ON
Relay_7 : [OFF]ON
Relay_8 : [OFF]ON
*** A fenti POST tulajdonkeppen egy klickelheto gombokat tartalamazo formot ad vissza, de az itt nem jelenitheto meg :) ***
Mindossze annyit kell tenni hogy a nodeMCU-t meg kell flashelni a mellekelt firmware-el, az ESplorer-t hasznalva ra kell tolteni az _OSSZES_ LUA fajlt es elinditani az A_init.lua -t Ha megfeleloen mukodik akkor az A_init.lua atnevezheto init.lua-ra igy a node automatikusan inditja reboot utan a dolgokat.
Van egy global_vars.lua file amiben be lehet allitani a WIFI adatokat, az MQTT broker adatokat (ip, port, account).
Az MQTT es a WEB funkcionalitas ki es bekapcsolhato az enable_mqtt es enable_web valtozok 0 vagy 1-re allitasaval. Mukodhetnek parhuzamosan is.
Brokernek hasznalhato helyileg futtathato mosquitto broker vagy mukodik a cloudMQTT brokerrel is.
A kod nem nagy dolog, es biztos vagyok benne , hogy lehetne szebb is, de en nem programozo, inkabb amolyan integrator, devops-os vagyok, ugy hogy nem haragszom meg ha optimalisabb megoldasokat javasoltok. Hibakezeles szinten nem sok van benne - ez csak amolyan indito segitseg.
Repo link:
git@bitbucket.org:lmarton/nodemcu_pub.git
*** Kiegeszites:
A fenteieket hasznalva konnyeden megvalositaho az alabbi: Home Assitanban letre kell hozni egy MQTT gombot, ami utasitasokat ad
PL:
switch:
- platform: mqtt
name: "Bedroom Switch"
state_topic: "home/bedroom/relayboard/status"
command_topic: "home/bedroom/relayboard"
payload_on: "31"
payload_off: "30"
optimistic: false
qos: 0
retain: true
Ha a Home Assitantot kombinaljuk az HA-bridge-al, akkor a switch elerheto lesz az Apple HomeKit alatt es innen mar mukodik a "Hey SIRI, turn on bedroom switch". Alexa-hoz a Philips Hue emulalt bridge kell es akkor mar az Amazon Echo is tudja vezerelni. (Nalam megy mindketto)
*** En ezekkel hasznalom:
Releboard
NodeMCU
Tap .. A releknek kell az 5 volt es szinten 5 V-rol taplalom a nodeMCU-t is - van rajta lehetoseg. Igy nem kell mokolni mindefele USB cucokkal es a nodeMCU magaben nem tudja meghajtani a 5V-os releket.
- lmarton blogja
- A hozzászóláshoz be kell jelentkezni
- 1786 megtekintés
Hozzászólások
sub, koszi.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
wao
(rejtett sub)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Ez az apple homekit engem is érdekelne...
Meg az is, hogy mikor jutnak már tul a demok(nem a tiedre értem) az egy relé kapcsolgatásán, meg az okosizzókon(izzó sincs a házban), amire speciel nekem SOHA nem volt szükségem, ellenben szellőzőrendszert PWM-mel kontrollálni -25fokban, padlófűtést szabályozni, impulzuskimenetekre, meg egyéb logikára lenne szükség: egy gombnyomás, kétgombnyomás, hosszu gombnyomás és mást mást csináljon.... Vagy locsolórendszer, vagy napkollektor.
Pl kint vagyok a kertben, kihuzalozok egy nyomogombot, vagy a fenti nodemcu vasra teszek nyomogombot, telefon nincs nálam, és elérhető közelségbe rá tudnék logikákat kötni. egygombnyomásra kinyitja a kaput, kettőre a nagykaput, hosszu gombnyomásra a garázst. Vagy tipikusan életszerű a redőny logika, sima elektromos redőnyöket lehetne ilyennel kezelni, és nem kéne még százezeré saját agy. csak relékimenet.
------------------------
Jézus reset téged
- A hozzászóláshoz be kell jelentkezni
Megoldhato :)
Veszel egy Raspi-t, ratoltod a Home assistantot. Veszel 1-2-3 NodeMCU-t. A egyikre ratoltesz egy LUA-t ami a GPIO-t figyeli es MQTT-n jelenti a gomb allapotat. A logikat teheted magaba a NodeMCU-va vagy a HA-ba.
Tehat gomb lenyomva message: GOMBLE, felengedve GOMBFEL... Ha ez mondjuk 2 mp alatt 2x ismetlodik akkor az ismetelt lenyomas es garazskaput jelent. A HA-t ez apaljan kuldi a message a garazskapura kotott 2. nodeMCU-nak hogy tessek a 3. relet bekapcsolni es mar nyilik is a kapud. A gomble.gomfel -t ha elkuldod mindig MQTT-n akkor a HO-ba olyan logikat pakolsz amit akarsz...
Nalam ez azert nem csak releket kapcsolgat hanem ossze van integralva futesrendszerrel, mas-mas gyartok kulonfele eszkoveivel "including the kitchen sink"... Ugyanaz a logika vezerli a szobafutest (radiatorokra kotott HomeMatic termoszatikus readitorszelep) meg a releket amik az elektromagneses padlofutest nyitjak. A padlofutes nyito NodeMCU pl a fenti kodot futtaja... A ki-be kapcsolast a HA algoritmus vegzi egy termosztat homerseklete alapjan.
- A hozzászóláshoz be kell jelentkezni
hát sok dolgot utállok. egyik a python, másik a lua. tehát ezt nem nekem találták ki. majd ha haladok, meg lesz idő, talán irok egy poszot az enyimről.
------------------------
Jézus reset téged
- A hozzászóláshoz be kell jelentkezni
„mikor jutnak már tul a demok(nem a tiedre értem) az egy relé kapcsolgatásán,… ”
Már régen túljutottak. A githubon van egy néhány projekt, amit megnézhetsz. Az egyszerűbbek csak egy két dolgot figyelnek és kapcsolgatnak. Egy kezdő könnyedén megérti működésüket. Bonyolultabbak is vannak, amiből egy kezdő kb. semmit sem ért meg első olvasásra. Ha már a „demókon” túljutott, akkor ezek is érthetőek lesznek.
Másrészt a rendszer szempontjából mindegy, hogy az érzékelők adatai alapján a világítást kapcsolóm ki/be, vagy a fűtést/locsolást/… Ha a kazán vezérelhető, akkor be is illeszthető a rendszerbe.
„okosizzókon(izzó sincs a házban)”
Egyrészt normál izzó|kompakt|LED|… is kapcsolható/vezérelhető. A zárójeles részre: gyertyával vagy petróleumlámpával világítasz este? Vagy sötétedéskor lefeküdtök. :-) Ha petróleumlámpát használsz, érdekelne, hogy hol szerezed be a petróleumot. Nekem is van két ilyen lámpám, de nincs hozzá „üzemanyagom”.
- A hozzászóláshoz be kell jelentkezni
okosizzók: hát hogy nagyondrágán veszek valami bulb-ot és azt tudom kapcsolgatni. ilyenre gondoltam
ledpanelek vannak mindenhol. ahhoz relé kell. és kész. bár ilyenre se volt szükségem, de lehet a nappalit megcsinálom.
------------------------
Jézus reset téged
- A hozzászóláshoz be kell jelentkezni
Érdemes megnézni az ESPEasy-t is.
http://www.letscontrolit.com/wiki/index.php/ESPEasy
- A hozzászóláshoz be kell jelentkezni
valojában az a kihivás, hogy szakosan be legyen dobozolva, stabil legyen, áramszünet után OTT FOLYTASSA AHOL ABBAHAGYTA a logika, stbstb. Runtime lehessen paramétereket tekergetni a fűtésnél, runtime lehessen a redőnymozgatásnál időket állítani.
persze mi a cél. lehet kokecolni, hogy összevásárolgatok szenzorokat, és bugyuta scriptekkel behuzok egy relét, just works, jojaz. de ezeken tul vagyok. abszolut nem lett robosztus. többet akartam. A robosztusság kialakítása alatt meg nagyon sokat lehet tanulni.
------------------------
Jézus reset téged
- A hozzászóláshoz be kell jelentkezni
Valoban a robusztussag az egyik legfontosabb parameter. De tevedes azt hinned, hogy random boltban megvasarolt Samsung SmartThings vagy philips HUB, vagy teszoleges HUB tobbet nyujt - jah szebb a doboza...
Azert ha komolyan csinalja valaki lehet ezt robusztussa tenni (nalam rackszekrenyben HP microserveren van a logika, monitorozva minden eszkoz, SMS, Pushover alertekkel statuszkepernyon latom mindg mindennek az allapotat.) Ezek a kis kutyuk valoban olcso eldobhato dolgok (mondjuk meg egyet sem kellet kidobnom) de pont az aruk miatt ezek olcson skalazhatoak, csereszabatosak. Es azert a HomeAssiatant, OpenHab, FHEM, Domoticz es tarsait eros tulzas "random scripteknek" nevezni. A vasat amit meg ala teszel meg kell tervezni. Igen lehet osszesegeben koltottem ra annyit mint ha vettem volna egy HUB-ot, de az eletben nem lett volna ilyen nyilt, ennyire monitorozott es ennyire sokoldalu, arrol nem is beszelve hogy igy egy helyrol megy minden. Plex/TV multimedia, hazautomatika, Futes, puffertartaly, napkollektor rendszer, vizteres kandallo, kamerarendszer, kapunyito, redonyvezerlo, garazsnyito, vilagitas, riaszto, presence detection, scheduling, ejszakai vilagitas, tavoli kapunyitas stb. Es mindez ugy van megolva hogy mukodik minden koszoni szepen hagyomanyos modon is es ha elhasal a microserver akkor max nem nyilik automatikusan a garazskapu ha beerek az utcaba es kezzel kell a villanykapcsolot megboknom. De akkor mar ugyis tudok rola mert fuggetlenul monitorozom a microservert is es egy SMS modemem csak azert van hogy ha minden bedoglik akkor kuld egy SMS-t. Mondjuk az egy egyszeru RASPI-n fut, de sok dolga nincs. Viszont az is automatizalva van es ha kuldok ra egy SMS-t megadott tartalommal akkor az egesz hobelevancot beleertve az UPS-t is powercycle-zni tudom.
- A hozzászóláshoz be kell jelentkezni
a Xiaominak van egy nyomogombja (kell hozza a sajat gateway-e is, azzal kommunikal zigbee-n) ami rovid, hosszu es dupla klikket tud ertelmezni :D
home assistantbol is tokeletesen mukodik
- A hozzászóláshoz be kell jelentkezni