stigvi Skrevet 23. mars Skrevet 23. mars (endret) Jeg hadde lyst å ha en temperaturføler på kontor/arbeidsplass som rapporterte måleverdier til min egen Home Assistant. Her er et innlegg om hvordan det ble løst. Jeg bestemte meg for å bruke en esp32 sammen med en BME280 sensor. På esp32 har jeg brukt esphome. På arbeidsplass er det et gjestenettverk som denne kan bruke. I esphome settes wifi opp slik som vist nedenfor. Hvis den ikke kommer på nett innen 1 minutt, vil den opprette et lokalt wifi nett som en kan koble seg til med mobil og deretter legge inn hvilket wifi nett sammen med passord som esp32 skal bruke. Esphome kaller det et "Fallback hotspot". Dette er en engangs-konfigurasjon. wifi: ssid: "hjemmenett" password: !secret heime_wifi domain: .lan power_save_mode: none ap: ssid: "Kontordings Fallback Hotspot" password: "et eller annet passord" Og så har jeg tatt vekk api: i fra yaml-filen fordi jeg ikke vil at esp32 skal prøve å sende data til en Home Assistant som ikke er der via standard api. Deretter laget jeg en time komponent der en hvert 15. minutt sender temperatur, fuktighet og trykk via en https post til en webhook. time: - platform: sntp id: sntp_time timezone: Europe/Oslo servers: - 0.pool.ntp.org - 1.pool.ntp.org - 2.pool.ntp.org on_time: - seconds: 0 minutes: /15 then: - http_request.post: url: https://hooks.nabu.casa/en_eller_annen_url.......... verify_ssl: false headers: Content-Type: application/json json: |- root["kontortemperatur"] = id(temp).state; root["kontorfuktighet"] = id(hum).state; root["kontortrykk"] = id(pres).state; Så gjenstår bittelitt konfigurasjon i HA En lager en ny automasjon som har en webhook trigger. Data som esp32 sender, kan en hente ved hjelp av {{ trigger.json.navnpåsensor | float(0) }} Webhook ID som automasjonen foreslå, lar en være uforandret. Trykk på tannhjulet bak webhook ID og ta vekk avkrysningen på "kun tilgjengelig fra det lokale nettverket" Så må en inn på oppsett for Home Assistant Cloud. Nederst der er det en seksjon for Webhook'er. Her trykker en "Administrer" på den webhook som automasjonen har opprettet og kopierer url som står der. Denne url skal en bruke i sin helhet i esp32. Så det var egentlig det hele. Dataene tikker inn hver 15. minutt. Har en ikke Nabu Casa sin skytjeneste så er det andre måter å sette opp denne url'en på, men har en først gått denne veien så har en vel kontroll på hvordan en får aksess til sin HA utenfra via en webhook. Oppsettet for BME280 er her, men ikke så veldig relevant for dette med webhooks. Den er standard esphome.... sensor: - platform: bme280_i2c temperature: name: "${devicename} Temperature" id: temp oversampling: 16x filters: - offset: -3.3 pressure: name: "${devicename} Pressure" id: pres filters: - offset: 7.0 humidity: name: "${devicename} Humidity" id: hum address: 0x76 iir_filter: 16x update_interval: 60s Endret 23. mars av stigvi 4 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.