tiistai 20. heinäkuuta 2021

Home Assistant - Gluehome lukkointegraatio

Olen aikaisemmin Glue-lukko aihetta jo sivunnut aikaisemmassa blogipostauksessa: http://omakotikotitalomme.blogspot.com/2019/09/glue-alylukon-rajapintojen-tutkimista.html

Keväällä Glue muutti mobile applikaation kokonaan ja vanha API urli lakkasi toimimasta. Nopeasti vilkaisin uuden appiksenkin sisälle, ja siellä oli https://mobile.gluehome.com/api/ urli käytössä ja nopealla vilkaisulla löytyi myös mqtt broker hittejä, mikä olisi lupaavaa, jos semmoinen rajapinta joskus aukeasti. Mutta onneksi ei tarvinnut ruveta tarkemmin appiksen toimintaa penkomaan, kun internetistä löytyi uusi semi-official API, kun Homebridgelle oli julkaistu toteutus GlueHome integraatioille (https://github.com/GlueHome/homebridge-plugin). Joten samaa esimerkkiä seuraten voi curlilla tai HA:lla lukkoa komentaa.

# Create/fetch <api-key> with glue <user>:<pass> according to plugin README:
curl --location --request POST 'https://user-api.gluehome.com/v1/api-keys' --header 'Content-Type: application/json' -u <user>:<pass> --data-raw '{ "name": "My Test Key", "scopes": ["events.read", "locks.read", "locks.write"] }'

# Fetch <lock-id> using created <api-key>
curl -L -H "Authorization: Api-Key <api-key>"  https://user-api.gluehome.com/v1/locks

# Test operation <op>=lock/unlock on <lock-id> 
curl -L -H "Authorization: Api-Key <api-key>" -H 'Content-Type: application/json' -d '{"type":"<op>"}' https://user-api.gluehome.com/v1/locks/<lock-id>/operations

Ylläolevilla esimerkeillä voi testata lukon toimintaa, ja samalla voit luoda/pistää talteen oman lukkosi <api-key> ja <lock-id>. Niitä tarvitaan Home Assistantin puolella kun editoit secrets.yaml ja configuration.yaml tiedostoja.

secrets.yaml:
glue_command_on: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"lock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"
glue_command_off: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"unlock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"

glue_resource: "https://user-api.gluehome.com/v1/locks/123456"
glue_auth: "Api-Key ApiAvain"
configuration.yaml:
switch varasto_ovi:
- platform: command_line
  switches:
    varasto_lock:
      friendly_name: "Varaston Ovi"
      command_on: !secret glue_command_on
      command_off: !secret glue_command_off
sensor varaston_ovi:
  - platform: rest
    resource: !secret glue_resource
    name: varasto_lock
    method: GET
    headers:
      Authorization: !secret glue_auth
    json_attributes:
      - description
      - batteryStatus
      - lastLockEvent
      - connectionStatus
    value_template: "OK"
  - platform: template
    sensors:
      varasto_lock_last_event:
        friendly_name: Last varasto lock event
        value_template: "{{ state_attr('sensor.varasto_lock', 'lastLockEvent')['eventType'] }}"
      varasto_lock_battery:
        friendly_name: Varasto lock battery
        value_template: "{{ state_attr('sensor.varasto_lock', 'batteryStatus') }}"

Ja HA:n restartin jälkeen lukko löytyy switchinä Overview näytöllä;



sunnuntai 2. elokuuta 2020

HP Elitebook 8560w Bluetooth 4.0 päivitysprojekti

Tulinpas tuossa hankkineeksi edullisesti Elitebook 8560w läppärin huutonetistä (https://support.hp.com/lv-en/document/c02843496). Koneessa 2gen i7 4core prosari, levy päivitetty teran SSD:ksi ja max RAM on 32GB (lähinnä ton läppärin hankin siksi, että tohon sai muistia kivasti). Ainoa isompi puute tuossa koneessa on, että koneen sisäinen bluetooth on 2.1 versiota, johon ei ole olemassa Win10 ajuria.

Hetken vietettyäni aikaa googlen hakukoneessa, kunnes löysin tämän: https://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/bluetooth-4-0-module/td-p/5590026

Ebaystä löysin 8470p:sta purkuosana Puolasta edullisesti juuri edellisessä linkissä mainitun BT 4.0 moduulin ja kun kirje saapui viikossa (ja QR-koodin alla on numerosarja, eli on 4.0 moduuli), niin rupesin asennuspuuhiin.

Takakansi irti ja kuva vanhasta moduulista. Toimimattoman BT 2.1 moduulin tunnistaa siitä että QR-koodin alla ei ole numerosarjaa.

Vanhan kaapelin varovainen irroitus ja liittäminen uuteen moduuliin. Oli aika helppo plug and play operaatio.
Ja kun koneen seuraavan kerran boottasi, niin BT4.0 toimii iloisesti, joten voi taas käyttää BT vastamelukuulokkeita yms laitteita.


perjantai 6. maaliskuuta 2020

DIY: Amiga Flashfloppy flashaus FDD-UDD U144K

Tilasinpas itselleni Amigaan halppisversion (pari euroa edullisempi kuin normi versio) Gotekista ilman näyttöä (kun yleensä heitän kolmen numeron näytön menemään ja pistän oled näytön tilalle). Mutta yllätyksekseni postiluukusta tipahtikin Gotek, jossa oli täysin eri pcb kuin mihin olin tottunut.

Onneksi en ollut ainoa joka moiseen on törmännyt: https://github.com/keirf/FlashFloppy/issues/232

Tuota githubin issueta tavaamalla onnistuin lopulta flashaamaan FlashFloppy firmiksen Gotekkiin sisään. Tässä vähän toivottavasti selkeämpiä kuvia (jossa pinnit kirjoitettu auki), jos joku muukin moisen ongelman eteen joutuu.

Tarvittava rauta: kahden euron stm32 flasheri ebaysta, esim hakusanalla "st link v2"
Tarvittava softa, jos haluaa Windowsissa flashata: https://www.st.com/en/development-tools/stsw-link004.html

Tässä pinnit kirjoitettuna auki, jonka jälkeen ST-link v2 on helppo kiinnittää oikeisiin pinneihin. Kirjoitin tuohon myös miten ne mappaantuu normaaliin Gotekkiin.

Itse kytkin NRST signaalin virtaliittimen GND napaan automaattisen flashauksen aloittamiseksi dupont kaapelilla. Ei tarvi kuin hetkellisesti koskea, että käy resetissä kun on automatic flashing moden käynnistänyt, jolloin flashfloppy flashaantui iloisesti paikoillen. Ja OLED näyttöön ilmestyi tuttu FlashFloppy teksti.

lauantai 25. tammikuuta 2020

DIY: solder paste stencil kokeilu

Bongasin, että maailmalla ihmiset olivat tehneet itselleen solder paste stencilejä (juotostina sapluuna) Silhouette- ja Laser-leikkureilla. Joten siitä se idea sitten lähti. Bongasin Lidl:stä muutaman metrin rullan blackboardfilmiä (liitutaulutarraa) vitosella, joka riittää sitten yli sataan stenciliin, jolloin yksittäisen stencilin hinnaksi jää sen 5 senttiä.

Minulla löytyy nurkista Silhouette Cameo 3 leikkuri sekä laser & cnc kaiverrin. Molemmilla varmaan olisi sopivalla materiaalilla onnistunut stencilin teko. Mutta Cameolla testasin kun se leikkaa iloisesti tuota tarramateriaalia.

Otin piirilevystäni (Commodore Amiga 500 lisämuistipalikka) sopivan gerberin ulos seuraavaa ohjetta noudattaen: https://www.autodesk.com/products/eagle/blog/getting-started-solder-paste-stencils/. Ja siitä sitten convertoin leikkurin ymmärtämään muotoon.


Leikkuri leikkasi materiaalin aika nätisti ja se pysyi ehjänä vaikka reikien väli on alle millimetrin.


Vanhalla luottokortilla vetelin juotostinamassan sapluunan yli. Ja lopulta viimeisessä kuvassa muistipiiri kiinni nätisti levyssä kuumennuksen jälkeen. Paljon siistimpi jälki kuin niissä joita olin tehnyt ennen sapluunan käyttöä.

perjantai 6. joulukuuta 2019

Rex 9268 External kernal cartridge klooni - Commore 64 DIY

DL2DW suunnitteli REX9628 Extern_kernal cartridge kortin. Ja vanhana Commodore fanina, tein sitten itsellenikin muutaman ihan vaan mielenkiinnosta.

Lisätietoa ja gerberit, jos haluaa itsekin tehdä: https://github.com/rainisto/REX-9628-Extern-Kernal-II-8

Kuukauden verran kun odotteli osia kiinasta, niin pääsi vihdoin kolvailemaan kasaan.

Kone boottasi kernaliin joka dip kytkimille oli valittu. Semmoinen ominaisuus tuossa on, osa muistissa on käyttämättömissä jos ei koneen sisältä CPU:n pinnistä 28 lue HIRAM signaalia (sen voi halutessaan liittää kortin CS reikään).

Samoin Sven on tehnyt oman version samasta kortista täällä: https://github.com/svenpetersen1965/REX-9628-Extern-Kernal-8

lauantai 30. marraskuuta 2019

Suurennuslasivalaisimen modaus (E27->LED)

Minulta löytyy anopilta saatu E27 kantainen suurennuslasivalaisin viime vuosituhannelta, jonka hehkulamppu lämpenee 100+ asteiseksi ja joka ei valaise kunnolla. Joten otin projektiksi modata sen nykyaikaan kirkkailla 12V ledeillä. Ekana meinasin banggoodista tilata BlackFriday kunniaksi uuden led pohjaisen suurennuslasivalaisimen, mutta checkoutissa heidän systeeminsä jumitti, joten saivat pitää tunkkinsa kun ei raha kelvannut. Joten päädyin parantamaan anopin lahjoitusta.

Ensiksi purin E27 kannan ja jätin virtakytkimen jäljelle:

Purin yhden 220V->12V virtalähteen ja pistin sen vanhan E27 koteloinnin sisällä. Ja asentelin sopivasti rullassa leikattavaa 12V ledinauhaa suurennuslasin ympärille ja yhden suiron vielä takaosaan.

Ja lopputulos on parempi kuin hyvä, lamppu ei lämpene ja valotehoa on enemmän kuin kuva antaa ymmärtää (moninkertaisesti verrattuna vanhaan). Vihdoinkin vanhat ja raihnaiset silmäni näkee kolvata tuossa valossa. Onnistunut modaus, osien hinta alle 10e.

Amiga RM550C-D lisämuistin patterikellon korjausmodaus

Poistin surullisen kuuluisan vuotavan Varta-akun Amigan lisämuistikortilta:

Ja siirtin yhden vastuksen yläpuolelta levyn alapuolelle, että sain tilaa CR2032 nappiparisto pidikkeelle, johon asensin LIR2032:n (lithiumakku). Asentamalla LIR:n CR:n sijasta vältyin lisäämästä latauksen estoon diodia, ja ladattava nappiparisto on kuitenkin vain alle 2e kipale:

Ja systestillä sai kellon resetoitua ja pysyy ajassa koneen käynnistyksien jälkeenkin. Joten onnistunut korjausoperaatio ja ladattavan nappipariston ansiosta kellon pitäisi pysyä ajassa vielä monta vuotta.
Edit: LIR2032 jatkuva lataus ei googlaamisella ole välttämättä suoraan hyvä tuolla, joten pistän varmaan eteen latauksen eston, niin voi käyttää myös perus CR2032sia ja ei ole räjähdysvaaraa.

Tässä kuva kolvauksen jälkeen kun plus navan eteen on pistettu 300Ohm vastus ja 1N4148 diodi. Samalla käänsin pidikettä vähän lisää, niin mahtuu vielä paremmin Amigan sisään.

maanantai 25. marraskuuta 2019

Home Assistant - Open source automaatio - Osa 4

Tykkäisin saada lämpömittareista myös mukavan näköistä käppyrää näkymään Grafanan puolelle. Joten muokkasin vähän yhtä olemassa olevaa kikkaretta joka MQTT ESP8266 onewire dallas mittareista pisti dataa eteenpäin Grafanan tietokantaan. Lisäsin koodinpätkän, joka myös kuuntelee myös homeassistant ja zigbee2mqtt mittarien MQTT jonoja.

https://github.com/rainisto/home-monitoring-grafana

Tuon MQTT bridgen avulla kaikista MQTT lämpömittareista menee data eteenpäin InfluxDB kantaan, josta grafanalla voi tehdä haluamansa näköisiä kuvaajia. Tässä esimerkkinä muutaman huoneen yhteisnäkymä:

Samalla voi configuroida Home Assisteantin hakemaan halumansa graafin HA:n desktop näkymään. Ohjeistus, jota seurasin löytyy täältä: https://community.home-assistant.io/t/complete-guide-on-setting-up-grafana-influxdb-with-home-assistant-using-official-docker-images/42860

configuration.yaml tiedostoon lisätään:

camera:
  - platform: generic
    name: Grafana Temperature
    still_image_url: 'http://192.168.1.8:3000/render/d-solo/xkTBiwMZz/home-assistant-dashboard?orgId=1&from=now-1d&to=now&panelId=4&width=1000&height=500&tz=Europe%2FHelsinki'
    username: homeassistant
    password: homeassistant
Ja ha:n rebootin jälkeen lisätään Picture Entity Card:

Ja lopulta grafana käppyrä näkyy suoraan home assistantin ruudulla, joten Grafana integraatio valmis.

keskiviikko 13. marraskuuta 2019

Home Assistant - Open source automaatio - Osa 3

Tällä kertaa vuorossa on Zigbee laitteiden lisääminen Home Assistant ympäristöön. Seurasin seuraavia ohjeita: https://www.zigbee2mqtt.io/. Flasheri ja CC2531 usb tikku antennin kanssa maksoi aliexpressistä kotiin toimitettuna alle 20e.

Tikun flashaus onnistui näppärästi myös Win10 läppärillä, kunhan ekana haki korjatun ajurin täältä.

Seuraavanlaisen conffin tein zigbee2mqtt:hen, eli enabloin homeasssistant tuen ja mqtt:n osoittamaan mqtt clusteriani (haproxy edessä).

/opt/zigbee2mqtt# more data/configuration.yaml
homeassistant: true
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://192.168.1.4'
serial:
  port: /dev/ttyACM0
Ja sitten totuuden hetki: käynnistetään zigbee2mqtt softa raspberryssä ja painetaan Xiaomin Aqara lämpötilaanturista resettiä 5 sekunttia. Ja dadaa, consolille ilmestyi anturi, joka payloadissa näytti oikeanlaista dataakin antavan:

Ja siitä hyppäsinkin katsomaan Home Assistantin webbiä, ja sinnehän se automaattisesti olikin ilmestynyt laitteeksi.

Tämä lasten makkariin sijoitettu mittari näyttää myös ilmanpaineen ja lämpötilankin näyttää yhden desimaalin tarkemmin kuin olohuoneen BLE mittari.

Ja seuraavassa osassa vuorossa varmaan sitten Graphana tai 433Mhz laitteet Telldus mokkulan läpi tai Z-Wave (jos löydän pistokkeen kun minulla on Z-Wave palikka jossain laatikossa hukassa tällä hetkellä).

tiistai 12. marraskuuta 2019

Home Assistant - Open source automaatio - Osa 2

Olin jo muutama vuosi sitten (https://omakotikotitalomme.blogspot.com/2017/03/sonoff-tasmota-paivitysta.html) pistänyt lasten leikkihuoneen Ikean pilvivalon Sonoff kytkimen ja Tasmota firmiksen avulla MQTT pilveen. Ja tällä kertaa katsoin miten iso työ on saada saman lampun ohjaus näkymään Home Assistant käyttöliittymässä.

Tasmotan sivuilta löytyi helppo rautalanka ohje: https://github.com/arendst/Tasmota/wiki/Home-Assistant

Kaikessa lyhykäisyydessään pitää vain Tasmotan Consoleen kirjoittaa "SetOption19 1" ja painaa Restart. Tämä aktivoi MQTT Home Assistant Discovery moden.

Kun Tasmota oli käynnistynyt uudestaan, niin valaisin ilmestyi automaattisesti laitteeksi Home Assistenttiin. Kivasti näkyy firmiksen versiotkin yms tietoja.

Näiden Tasmota firmiksellä olevien laitteiden lisäys olikin yllättävän vaivaton operaatio. Seuraavassa osassa onkin sitten vuorossa Zigbee laitteet.