Marhil Skrevet 10. juni 2017 Skrevet 10. juni 2017 Jeg har lekt meg litt med MQTT og Home Assistant og tenkte å skrive noen linjer om hvordan raskt teste MQTT uten å ha noen ferdige sensorer oppe og gå. Jeg har Home Assistant versjon 0.45 installert via All In One-installer (AIO). Dette kjører på en Raspberry Pi 3. Fordelen med AIO er at den installerer rubel og bit (nesten), slik at du slipper problemer med integrasjon og oppsett i etterkant. MQTT-brokeren Mosquitto blir bl.a automatisk installert og er klar til å bruk. Det samme gjelder OpenZwave og en rekke andre ting. Følgende kommando sjekker om Mosquitto-servicen er oppe og går: systemctl status mosquitto Hvis Mosquitto kjører vil følgende output vises: mosquitto.service - LSB: mosquitto MQTT v3.1 message broker Loaded: loaded (/etc/init.d/mosquitto) Active: active (running) since Mon 2017-06-05 15:03:08 CEST; 4 days ago Process: 453 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS) CGroup: /system.slice/mosquitto.service └─676 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf Sett brukernavn og passord for Mosquitto. Denne brukernavnet/passordet brukes av alle tjenester som kobler til brokeren: sudo mosquitto_passwd /etc/mosquitto/pwfile dittmosquittobrukernavn Så legger du inn koblingen mellom Home Assistant og Mosquitto-serveren. Legg følgende inn i configuration.yaml: mqtt: broker: 127.0.0.1 port: 1883 client_id: hass keepalive: 60 username: dittmosquittobrukernavn password: dittmosquittopassord Hvis du nå restarter Home Assistant vil HA lytte etter MQTT-meldinger fra Mosquitto. Da trenger vi bare å registrere en Sensor som lytter på et MQTT topic. Dette gjøres under Sensors. Jeg har en egen fil for dette: sensors.yaml. I sensors.yaml legger jeg inn følgende: Sitat - platform: mqtt state_topic: "testtopic/temp" name: "Test fra jsklient" qos: 0 unit_of_measurement: "°C" Nå lytter Home Assistant på meldinger med topic "testtopic/temp" hvis du nå restarter Home Assistant vil du få opp følgende øverst i State-vinduet: Denne har ingen verdi ennå, fordi det foreløpig ikke er sendt noen meldinger via Mosquitto på topicet "testtopic/temp". Da kan vi prøve å sende en melding. Det finnes nedlastbare programmer som snakker MQTT, men det enkleste er kanskje å bruke HiveMQ sin Javascript MQTT-klient fra nettleser. Gå til: http://www.hivemq.com/demos/websocket-client/ Fyll inn info for oppkobling mot Mosquitto Host: IP-adressen eller hostname til enheten som Mosquitto kjører på Port: 9001 OBS: Denne klienten bruker websockets. Porten for websockets er derault konfigurert til 9001 i mosquitto.conf ClientID: Tast inn hva som helst. La de andre innstillingene være. Trykk Connect. DISCLAIMER: Jeg aner ikke om brukernavn og passord går "ut av huset" når du kobler opp mot en lokal MQTT-broker slik vi gjør her, men tipper at det ikke gjør det. Siden vi har sagt til Home Assistant at vi skal lytte på topicet "testtopic/temp", så legg dette inn i feltet Topic. Legg hvilken som helst tallverdi inn i Message og trykk Publish: Gå inn i Home Assistant og du vil se at sensorverdien er oppdatert: Hvis den ikke er oppdatert, så må du begynne å feilsøke. Du kan ha feil i Home Assistant-konfigurasjonen eller det kan være problemer med MQTT/Mosquitto. For å se på logget til Mosquitto kan du skrive følgende inn i shellet på RPi: mosquitto_sub -u dinmosquittobruker -P dittmosquittopassord -v -t '#' Hvis du så trykker Publish igjen, skal du sen følgende melding (topic) i Loggen: testtopic/temp 21 Neste steg er å la en sensor ta over meldingssendingen som vi nå gjorde via browser. Den enkleste veien her er kanskje firmwaren ESPEasy som kjører på en av de mange ESP-kortene der ute 4 Siter
Marhil Skrevet 10. juni 2017 Forfatter Skrevet 10. juni 2017 Uff alle bildene forsvant. Har ikke tid før senere å legge dem inn Siter
Kjetil Skrevet 10. juni 2017 Skrevet 10. juni 2017 Flott guide personlig tester jeg med å lage ett nytt terminal vindu og kjøre f.eks: mosquitto_pub -u dinmosquittobruker -P dittmosquittopassord -t testtopic/temp -m 21 Siter
Marhil Skrevet 11. juni 2017 Forfatter Skrevet 11. juni 2017 Takker [emoji5]️ Jeg ble litt demotivert da bildene forsvant, jeg hadde selvfølgelig ikke lagret dem på disk... Skal få dem på plass når motivasjonen er tilbake (og jeg får tid). Jepp, det enkleste er nok å bruke Mosquittos kommandoer fra shellet. Jeg ville i midlertid sjekke at det fungerte også fra annen maskin. Installerte diverse MQTT software på PCen, men like greit å bruke HiveMQ sin Javascriptklient fant jeg ut. Har nå satt opp Espeasy og tipping bucket regnmeter, så får snart testet om dette fungerer i praksis [emoji106] Siter
kris10an Skrevet 20. juni 2017 Skrevet 20. juni 2017 Ikke meninga å kuppe en veldig bra tråd, men hva er vinningen med å kjøre AIO-installer kontra Hassbian for tiden? Er ikke Hassbian enda mer "out of the box" og klar til bruk? Siter
ralph Skrevet 21. juni 2017 Skrevet 21. juni 2017 Er vel strengt tatt Hass.io som gjelder nå https://home-assistant.io/hassio/installation/ Siter
sjabby Skrevet 25. juni 2017 Skrevet 25. juni 2017 On 21.6.2017 at 21:51, ralph said: Er vel strengt tatt Hass.io som gjelder nå https://home-assistant.io/hassio/installation/ Er ikke egentlig hass.io bare mer stress for nybegynnere? Tenker det kompliserer endel med docker osv. Siter
ralph Skrevet 25. juni 2017 Skrevet 25. juni 2017 Er vel egentlig lettere da man bruker ResinOS som er et containeros for å deploye applikasjoner hvor man slipper å forholde seg til så mye annet enn HA. Alle custom bash scripts og guider for å deploye HA er vel mer stress tenker jeg Siter
sjabby Skrevet 25. juni 2017 Skrevet 25. juni 2017 Er RPi3 kraftig nok til å kjøre bra med docker? Siter
ralph Skrevet 25. juni 2017 Skrevet 25. juni 2017 Er vel i utgangspunktet avhengig av hva man kjører slags komponenter o.l. Selv ville jeg heller gått for en NUC hvis jeg var litt over middels interessert. Ellers holder en RPI3 fint. Siter
sjabby Skrevet 25. juni 2017 Skrevet 25. juni 2017 Kjører Hassbian på en RPi3 nå og det fungerer veldig bra. Vurderer NUC og Docker, men får se på sikt Siter
iblis Skrevet 25. juni 2017 Skrevet 25. juni 2017 38 minutter siden, sjabby skrev: Er RPi3 kraftig nok til å kjøre bra med docker? Ja, så lenge programmet du skal kjøre i docker fungerer fint på en RPi3 så er den kraftig nok. Docker fungerer ikke som den vanlige virtualisering du er vandt med, men heller se på det som en egen beholder/sandkasse til det programmet du skal kjøre hvor docker bruker de samme ressursene fra kernelen til OSet du kjører. Derfor er det også en del restriksjoner når det kommer til Docker "virtualisering" da du f.eks kun kan kjøre docker beholdere beregnet for ARM prosessorer bruker du en RPI. Det samme gjelder selve OSet, da du f.eks ikke kan kjøre en docker beholder med windows programmer i et linux miljø, men heller ikke docker beholdere med linux programmer i et windows miljø osv. 1 Siter
Moskus Skrevet 25. juni 2017 Skrevet 25. juni 2017 6 timer siden, iblis skrev: Ja, så lenge programmet du skal kjøre i docker fungerer fint på en RPi3 så er den kraftig nok. Docker fungerer ikke som den vanlige virtualisering du er vandt med, men heller se på det som en egen beholder/sandkasse til det programmet du skal kjøre hvor docker bruker de samme ressursene fra kernelen til OSet du kjører. Derfor er det også en del restriksjoner når det kommer til Docker "virtualisering" da du f.eks kun kan kjøre docker beholdere beregnet for ARM prosessorer bruker du en RPI. Det samme gjelder selve OSet, da du f.eks ikke kan kjøre en docker beholder med windows programmer i et linux miljø, men heller ikke docker beholdere med linux programmer i et windows miljø osv. Pokker, jeg har lurt på hva Docker egentlig er. Takk for ELI5-versjonen! ? ... litt synd at OS-interkompabilitet ikke er der. Men .NET Core fungerer jo på "alt", så det er vel en mulighet for meg. Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.