Maalämpöfoorumi

Tekniset kysymykset => Tiedonkeruujärjestelmät ja etämonitorointi => Aiheen aloitti: Sinitataivas - 31.10.23 - klo:14:10

Otsikko: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 31.10.23 - klo:14:10
Minulla on pitkään ollut Home Assistant asennettuna (Raspberry Pi3). Olen kytkenyt talon ympärille vanhoihin puhelinpistorasioihin 1-wire (DS18B20) antureita n. 9 kpl. Lovelace näytöllä anturit ja lämpötilat näkyivät aikanaan nätisti, mutta kun HA päivittyi yli version 2022.5, niin tuki 1-wire antureille loppui. Yritin kaikkea mahdollista, mutta ainoa keino, jolla saan anturit näkymään oli asentaa kaikki uudelleen + HACS. Yritän katsella tuoa OWFS syteemiä, mutta en oikein saanut siitä tolkkua.

Nyt kaikki asennettu uudelleen ja  saan taas anturit näkyviin. Tarkoitus olisi, kun saisin kaiken toimimaan, laittaa tämä raspi Jeo-ventin kylkeen kiinni ja 4-6 anturia sisään. Ideana olisi siirtää tietoa MQTT:n kautta toiselle raspille, jossa on myös HA. Olen kolmisen viikkoa tuskaillut sen kanssa, että en saa millään julkaistua noita antureita MQTT:lle, vaikka ne näkyvätkin Lovelacen näytöllä nätisti. MQTT broker myös asentuu oikein ja sitä voi testata kuuntelemalla ja julkaisemalla viestejä MQTT Explorerin avulla. Tämä toimii ok.

Olen vähän tumpelo home assistantin kanssa, enkä tiedä miten kannattaisi edetä. Olisiko hyviä vinkkejä, miten saisin näin aluun julkaistua 1-wire anturit MQTT brokerille.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 05.11.23 - klo:13:10
Nyt sain julkaistua tiedot MQTT:lle ja tehtyä sille sillatun konfigsen. Saan siirrettyä sillatulla välittäjällä tiedot eteenpäin toiselle HomeAssistant
Raspberrylle, jossa ne näkyvät MQTT:llä. Saan lukemat näkyviin myös Node-Redillä, mutta en ymmärrä, kuinka saisin ne näkyviin Lovelacen näkymään. Anturien tiedot näkyvät MQTT:llä muodossa "temp/varasto" yms, mutta eivät HomeAssistantin laitteissa eivätkä antureissa.

Onko vinkkejä, kuinka saisin lämpötilalukemat näkyviin HomeAssistantin Lovelace näkymään?
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: ISKI - 05.11.23 - klo:18:27
Nyt sain julkaistua tiedot MQTT:lle ja tehtyä sille sillatun konfigsen. Saan siirrettyä sillatulla välittäjällä tiedot eteenpäin toiselle HomeAssistant
Raspberrylle, jossa ne näkyvät MQTT:llä. Saan lukemat näkyviin myös Node-Redillä, mutta en ymmärrä, kuinka saisin ne näkyviin Lovelacen näkymään. Anturien tiedot näkyvät MQTT:llä muodossa "temp/varasto" yms, mutta eivät HomeAssistantin laitteissa eivätkä antureissa.

Onko vinkkejä, kuinka saisin lämpötilalukemat näkyviin HomeAssistantin Lovelace näkymään?
Itse luen 1-wire sensorit Node Red koodilla ja julkaisen ne sieltä mqtt:n avulla

Home Assistant puolella minulla on sensorit määritelty configuration.yml tiedostossa mqtt määrittelyinä, alla esimerkki

mqtt:
  sensor:
    - state_topic: "A40E16A8013C"
      name: "Heat Pump forward"
      unit_of_measurement: "°C"
      icon: mdi:thermometer
      unique_id: "A40E16A8013C"

Tuohon sitten joikainen anturi omalla id-tunnuksellaan
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 05.11.23 - klo:22:02
Kiitos vastauksesta ISKI

Minä en saanut luettua 1-wire antureita ennen kuin asensin HACS:n https://hacs.xyz/. Nyt saan anturit luettua ja ne löytyvät ensimmäisen HA:n laitteissa ja näkyvät Lovelacen näytöllä. Saan julkaistua ne Node-Redillä MQTT:lle, jonka sain konfattua sillaksi. Sillan kautta MQTT paketit siirtyvät toiselle MQTT:lle ja myös näkyvät siellä.

En osaa kuitenkaan tehdä etäkoneen Lovelacelle sellaista kortttia, joka osaisi lukea MQTT:n topic viestejä esim. temp/varasto ja näyttää msg.payloadissa olevan lämpötilan. Etäkoneella anturit eivä näy laitteina, en tiedä pitäiskö näkyäkään, mutta ehkä sen takia ei löydy valmista Lovelace-korttia, jolla ne saisi Lovelacen näkymään.

Kun saisin tuon yllä mainitun toimimaan, seuraava vaihe olisi yksinkertaistaa tuota ensimmäisä HA:ta esimerkkisi mukaan.

Tunnistaako Node-Red suoraan nuo sinun anturisi kun olet määritellyt ne ensin configuration.yml tiedostossa?
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: ISKI - 07.11.23 - klo:10:14
Tunnistaako Node-Red suoraan nuo sinun anturisi kun olet määritellyt ne ensin configuration.yml tiedostossa?
Nuo configuration.yml määrittelyt ovat pelkästään sitä varten, että HA osaa perustaa sensorit ja lukea niille arvot MQTT viesteistä.

1-wire antureiden lukeminen Node Red ympäristössä on sitten ihan oma juttunsa.
Node Red ympäristössä on 1-wire lämpötila-antureiden lukuun omat modulit.
Ja ne, mitä itse käytän, perustuvat siihen, että Raspin Linux lukee ds2482 piirin kautta 1-wire lukemat tiedostoihin, joista Node Red ne sitten poimii.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 08.11.23 - klo:18:32
Lainaus
Nuo configuration.yml määrittelyt ovat pelkästään sitä varten, että HA osaa perustaa sensorit ja lukea niille arvot MQTT viesteistä.
Kiitos, pääsin vähän eteenpäin. Nyt sain anturin näkymään Lovelacen näkymässä, en vain saa millään siihen tulemaan lämpötila-arvoa. Kuitenkin saan sen luettua MQTT:llä ja Node-Redillä

Minulla on nyt configuration.yaml tiedostossa
Koodia: [Valitse]
mqtt:
  - sensor:
      name: Varaston lämpö
      state_topic: temp/varasto
      suggested_display_precision: 1
      unit_of_measurement: °C
      device_class: temperature
      value_template: '{{ value_json.temperature }}'

Oletan, että tuo kohta "value_template: '{{ value_json.temperature }}'" pitäisi hakea se tieto jostain, mutta ei hajaukaan mistä tai miten sitä voisi muuttaa.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 09.11.23 - klo:09:35
Tuo ongelma, ettei lukemaa tule Lovelacen näytölle, saattaa johtua siitä, että MQTT näyttää pelkän numero- tai string-arvon. Minun pitää katsoa, että saan Node-Redillä lähetettyä json-muotoisen julkaisun. Tätä tutkin seuraavaksi :) En tiedä, pitäisikö minun lähetyspäässä laittaa johonkin Node-Redin objektiin "temperature" vai tuleeko se automaattisesti, jotta ("value_json.temperature") tuo yaml kohta osaisi poimia sen.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: ISKI - 09.11.23 - klo:22:11
Tuo ongelma, ettei lukemaa tule Lovelacen näytölle, saattaa johtua siitä, että MQTT näyttää pelkän numero- tai string-arvon. Minun pitää katsoa, että saan Node-Redillä lähetettyä json-muotoisen julkaisun. Tätä tutkin seuraavaksi :) En tiedä, pitäisikö minun lähetyspäässä laittaa johonkin Node-Redin objektiin "temperature" vai tuleeko se automaattisesti, jotta ("value_json.temperature") tuo yaml kohta osaisi poimia sen.
Minusta näyttää, että sulla on ajatusvirhe Home Assistantin toiminnasta.
Lovelace kortit on tarkoitettu käyttöliittymän ohjelmointiin eli siihen mitä ja miten HA:n entiteettien (entity) arvoja näytetään.
MQTT integraation huolehtii, että saatu arvo tallentuu oikeaan entiteettiin.
Ja Home Assistant itse huolehtii historiatietojen ylläpidosta.
Jos näitä entiteettejä haluaa tutkia ihan perustasolla, niihin pääsee käsiksi HA:n sivupanelista
Settings > Devices & Services > Entities (yläpanelista)

Omassa totuetuksessani lähetän sensoreiden arvot Node Red puolelta numeroina (ei stringeinä).
Eli msg.topic on tuo k.o. sensorin tunniste ja msg.payload on sensorin arvo.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 10.11.23 - klo:16:11
Lainaus
MQTT integraation huolehtii, että saatu arvo tallentuu oikeaan entiteettiin.
Ja Home Assistant itse huolehtii historiatietojen ylläpidosta.
Jos näitä entiteettejä haluaa tutkia ihan perustasolla, niihin pääsee käsiksi HA:n sivupanelista
Settings > Devices & Services > Entities (yläpanelista)

Kun kuuntelen etäkoneella MQTT:llä julkaisua(minulla suomeksi "Kuuntele aihetta"), lämpötila näkyy numeerisena arvona. Jos katson noita kohteita (Entities) niin anturi näkyy siellä nätisti, jos kuitenkin klikkaan ja katson sen historiaa, on se tyhjä. Lähettävässä laitteessa sen sijaan vastaavassa kohdassa näkyy normaali historiatieto. Etäkoneen MQTT ottaa siis vastaan tuon julkaisun, mutta ilmeisesti se ei tallennu HomeAssistantiin ja näin ollen ei ole käytettävissä Lovelace näkymässä.

Minulla myös on Node-Redissä msg.topic = sensorin ID ja msg.payload = sensorin arvo.

Olisin laittanut kuvankaappauksia, mutta ilmeisesti ne pitäisi laittaa linkkeinä.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: tomppeli - 10.11.23 - klo:17:25
Olisin laittanut kuvankaappauksia, mutta ilmeisesti ne pitäisi laittaa linkkeinä.
Omalta tietokoneelta voi laittaa kuvia liitetiedostoina, mutta yksi tiedosto saa olla korkeintaan 1 MB (1000 kB).
Rajoita tiedostojen kokoa jollain kuvankäsittelyohjelmalla.
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 10.11.23 - klo:20:56
Nyt sain toimimaan, poistin configuration.yam tiedostosta rivin "value_template: '{{ value_json.temperature }}'"

Vanha, ei toimiva koodi
Koodia: [Valitse]
mqtt:
  - sensor:
      name: Varaston lämpö
      state_topic: temp/varasto
      suggested_display_precision: 1
      unit_of_measurement: °C
      device_class: temperature
      value_template: '{{ value_json.temperature }}'

Uusi, toimiva koodi
Koodia: [Valitse]
mqtt:
  - sensor:
      name: Varaston lämpö
      state_topic: temp/varasto
      suggested_display_precision: 1
      unit_of_measurement: °C
      device_class: temperature

 :)
Otsikko: Vs: Home Assistant - Raspberry PI, 1-Wire anturien julkaisu MQTT:lle
Kirjoitti: Sinitataivas - 11.11.23 - klo:11:55
Kiitos ISKI, opin taas paljon uutta HomeAsssistantista.

Nyt historiakin näkyy oikein.
(http://)

Projekti jatkuu, seuraava vaihe on saada anturit näkymään etäkoneen pohjakuvassa, joka on Jeo-ventin ilmastointikojeen kaappi. Kun se toimii, laitan uudet anturit kaappiin ja kiinnitän lähettävän Raspberryn ilmastointikojeen kylkeen kiinni, josta nuo 1-Wire-anturit 4-6 kpl kaapin sisälle. Etäkoneeseen sitten tuo kaapin pohjakuva ja tarvittaessa hälytyksiä, jos kennot alkavat kovalla pakkasella jäätymään.