Hei vieras, tervetuloa!

Näyttää siltä, että olet uusi täällä. Kirjaudu sisään tai rekisteröidy aloittaaksesi.

Cozifyn laitteet ja anturit Home-Assistanttiin näkyväksi, sekä ohjattavaksi

Viimeisen puolen vuoden ajan olen seurannut eri foorumeilta erilaisten älykoti-ratkaisujen rähjähtänyttä suosion kasvua. Suurin syy tälle on tietysti sähkön hinnan merkittävä nousu, mutta myös tarjolla olevat erilaiset vaihtoehdot, jotka tarjoavat runsaasti rajapintoja erilaisille laitteille, sensoreille ja palveluille. Cozifyn käyttäjäkunta on kuitenkin pysynyt aika vaatimattomana ja ratkaisun kehittäminen tuntuu olevan näivettynyt paikoilleen. Olen itse käyttänyt Cozifyä vuodesta 2016 ja tuntuu että tuotekehitys on koko ajan ollut todella hidasta.

Jotta saamme jatkossakin nauttia kotimaisesta vaihtoehdosta, toivoisin että Cozifyn kehittäjät ja johto heräisivät tilanteeseen. Näkisin yhtenä hyvänä vaihtoehtona sen, että ratkaisu saataisiin keskustelemaan esim. Google Homen ja Alexan kanssa, tai mikä olisi vielä parempi, saataisin Cozifyyn määritellyt laitteet ja anturit Home-Assistantin kautta ohjattavaksi. Tämä olisi hyvä vaihtoehto monelle Home-assistant käyttäjälle, koska saman purkin kautta voitaisiin ohjata ja lukea useita eri standardien laitteita. Länsi naapurimme Telldus on ottanut jo tämän askeleen. Tämä yhteensopivuus vaikuttaisi varmasti myyntiä parantavasti ja herättäisi mielenkiintoa myös ulkomailla.

Jani Lehtinen

Viestejä yhteensä

  • Tapio_KeTapio_Ke Member Viestejä: 21

    Mahdollisten rajapintojen löytyminen eri toimijoihin olisi hyvä, mutta ei välttämättä niin helppo. Voisi lisätä mahdollisuuden IFTTT tukeen.

    Tuossa oli maininta sähköjen nousuun, niin nyt sähköjä täytyy ohjata itse manuaalisesti vai onko jotain mahdollisuutta saada tulevaisuudessa pörssisähkön tietoa sovellukseen ja laitteiden ohjaukseen?

  • NikoHNikoH Member Viestejä: 4
    editoi tammikuu 2023

    Minulla on mökillä ollut Cozify 4 vuotta ohjaamassa ILP:n tukena olevia sähköpattereita (joita tarvitaan kovilla pakkasilla), ilmanvaihtoa ja sulanapitokaapeleita. Järjestelmä on luotettava, ja ei ole ollut tarvetta käyttää mitään uutta ja tuntematonta systeemiä.

    Kotona otin kuun alussa käyttöön Home assistantin, koska sillä on paljon integraatioita vehkeisin, joita minulla on käytössä, esim samsungin telkkarin päällekytkennästä voin suoraan pistää sähköt audiovehkeisiin ja apple tv:hen ja pitää ne sähköttöminä kun tv ei ole päällä, kuukausitasolla säästö on kymmeniä kWh:ta. Tai kun wifi reititin kadottaa yhteyden verkkoon, saan sen resetoitua automaattisesti laittamalla sen sähköt pois ja takaisin päälle.

    Halusin myös home assistantin infonäytöille mökin lämpötiloja (joita katselen aina välillä kännykästä) ja huomasin cozifyn api:n avulla sen onnistuvan aika helposti, isompi homma oli tutustua HA:n ajoympäristöön niin, että sain cozifyn python apin pelaamaa.

    Homma onnistuu seuraavasti (minulla on HassOS Rasperry Pi 4:lla, mutta arvelisin, että muissakin installaatioissa tämä pitäisi toimia)

    1. Käyttäjäprofiilissasi pitää olla enabloitu advanced mode (vasemman puolen valikon alin entry on user account)
    2. asenna cozifyn ympäristöön add-on SSH&Web Terminal, sen configuration tabilla pitää username ja password -kenttiin laittaa oman Home assistant käyttäjäsi tiedot, muuten add on ei käynnisty. Addonin asetussivulta pitää kääntää pois "Protection mode", muuten seuraava kohta ei onnistu. JA HUOM! Tosiaan SSH&Web Terminal pitää asentaa, ei se toinen Terminal & SSH, sillä ei pääse ajamaan dockeria.
    3. Avaa ssh konsoli Home assistantissa (joko SSH&Web Terminalin open web ui tai sitten laita asetus show in sidebar) ja kirjaudu homeassistant -containeriin kirjoittamalla komentoriville "docker exec -it homeassistant bash"
    4. Asenna cozifyn python kirjasto "pip3 install cozify"
    5. Autentikoi itsesi cozify API:lle: python3 -c "from cozify import cloud; cloud.authenticate()"
    6. Anna sähköpostiosoitteesi ja sitten sähköpostiin saamasi salasana komentoriviltä kun niitä kysytään
    7. sulje container: exit
    8. Luo hakemistoon /root/config tiedosto cozifytemp.py, jonka sisältö on postauksen lopussa
    9. Editoi configuration.yaml tiedostoa (voit tehdä sen tuskallisesti vi:llä komentoriviltä tai sitten asentaa esim editor add onin, jolla editointi onnistuu suoraan home assistantin käyttöliittymästä). Tiedostoon luodaan uusia sensoreita, joiden arvot haetaan Cozifystä
    10. Käynnistä home assistant uusiksi, lisää dashboarderille uusien sensoreiden arvoja näyttävät kortit

    Tässä on ilmeisesti se heikkous, että jos homeassistant container alustetaan uusiksi (home assistant päivitys saattaa tehdä sen), niin silloin listan kohdat 4,5 ja 6 pitää tehdä uudelleen.

    cozifytemp.py:n sisältö

    from cozify import cloud, hub
    import sys
    
    cloud.authenticate()
    cloud.refresh()
    
    devices = hub.devices(capabilities=hub.capability.TEMPERATURE)
    ret = ""
    
    for i in range(1, len(sys.argv)):
     for id, dev in devices.items():
      if dev['name'] == sys.argv[i]:
       if ret != "":
        ret += " "
       ret += str(dev['state']['temperature'])
    
    print(ret)
    

    configuration.yaml lisäys (eli älä poista tiedostosta olemassaolevia asetuksia, vaan lisää omat Cozify- sensorikonfiguraatiosi tiedoston loppuun). cozifytemp.py hakee lämpötilasensoreita nimellä, tämä hakee minun Cozifystäni löytyvät sensorit Tupa, Wc, Sauna, Ulko, Keittiö. Tähän siis pitää editoida omien sensoreidesi nimet. Jos sensorin nimessä on välilyönti, pitää nimen ympärille laittaa lainausmerkit. Siis "Pitkä sensorin nimi". Sen jälkeen pitää kullekin haetulle cozifyn lämpötilalle luoda vielä template sensorit, jotka ottavat cozifyltä haetusta arvolistasta oikean lämpötilan, näin Cozifyltä ei haeta jokaista sensoria erikseen, vaan arvot tulevat yhdellä haulla. Eli minulla kun listassa oli ensimmäisenä tupa, niin luon coz_tupa_temperature sensorin joka jakaa cozifyltä haetut arvot osiin ja ottaa ensimmäisen (arrayn indeksi 0) tähän sensoriin. coz_wc_temperature ottaa toisen arvon (indeksi 1) jne. Sensorien arvot haetaan 300 sekunnin välein.

    sensor:
     - platform: command_line
       scan_interval: 300
       name: coztesti
       command: python3 cozifytemp.py Tupa Wc Sauna Ulko Keittiö
     - platform: template
       sensors:
         coz_tupa_temperature:
           value_template: "{{ states('sensor.coztesti').split()[0] | float }}"
           device_class: temperature
           unit_of_measurement: "°C"
         coz_wc_temperature:
           value_template: "{{ states('sensor.coztesti').split()[1] | float }}"
           device_class: temperature
           unit_of_measurement: "°C"
         coz_sauna_temperature:
           value_template: "{{ states('sensor.coztesti').split()[2] | float }}"
           device_class: temperature
           unit_of_measurement: "°C"
         coz_ulko_temperature:
           value_template: "{{ states('sensor.coztesti').split()[3] | float }}"
           device_class: temperature
           unit_of_measurement: "°C"
         coz_keittio_temperature:
           value_template: "{{ states('sensor.coztesti').split()[4] | float }}"
           device_class: temperature
           unit_of_measurement: "°C"
    

    Tästä saisi varmaan jonkin suoran integraation myös väsättyä suoraan Home Assistanttiin. Jos innostun, katselen sitä sitä myöhemmin lisää. Cozify api näyttäisi tukevan myös laitteiden ohjaamista jollain tasolla, eli sitä kautta olisi mahdollista rakentaa esim sähkön hinnan pohjalla tehtäviä automaatioita Cozifylle.

    Edit: Tunnin verran katselin noita Home Assistantin integraation tekemisen rajapintoja ja esimerkkejä. Cozify API:n päälle jonkun tasosen integraation peruslaitteille tekisi kohtuullisella työmäärällä. Vastaaviahan tosiaan on olemassa Telldusille, Huelle, Tuyalle ja vaikka mille.

    Post edited by NikoH on
  • TKLTKL Member, Beta-käyttäjä Viestejä: 121 ✭✭

    Loistavaa, kiitos! Pitää itsekin testailla tuota myöhemmin.

Kirjaudu sisään tai Rekisteröidy kommentoidaksesi.