Acties:
  • +4 Henk 'm!

  • gekkeh3nk
  • Registratie: Juli 2012
  • Laatst online: 20-04 14:29
Hallo medetweakers,

Bij deze wil ik graag mijn hobby-project promoten: een Home Assistant controller op basis van een M5Stack Core2!

Voor diegene die niet bekend is met de M5Stack apparaten; het zijn op de ESP32 gebaseerde apparaatjes in een nette behuizing. Afhankelijk van de versie die je koopt zitten er verschillende bedieningsmogelijkheden op, ik heb zelf de Core2 welke een 2-inch touchscreen heeft. Deze is verkrijgbaar voor zo'n ~35 euro op Amazon of de bekende Chinese webshops. Een goedkopere variant zonder touchscreen is ook verkrijgbaar, de Core.

De Core2 was eigenlijk een beetje een impulsaankoop (jullie vast wel bekend), maar al snel had ik het idee om mijn slimme lichten en rolgordijn ermee te bedienen. Momenteel zijn die allemaal al aangesloten op Home Assistant op mijn Raspberry Pi. De eisen voor dit project zijn:
  1. een mooie, gebruiksvriendelijke interface
  2. snelle bediening van de lichten
  3. status updates (bijv. als een lamp wordt bediend met Alexa) moeten gereflecteerd worden op het scherm
  4. alle lichten moeten semi-automatisch toegevoegd worden aan de controller, zodat anderen het makkelijk zelf kunnen installeren
Ik maak gebruik van de firmware van M5Stack omdat ik niet ervaren ben met Arduino/cpp, en omdat ik geen fan ben van het continue compileren van de code. Daarom, heb ik ervoor gekozen om het in micropython te schrijven, wat standaard op de M5Stack staat geïnstalleerd. De documentatie is wat summier maar met wat reverse-engineering heb ik het allemaal wel aan de praat gekregen. Voor de interface gebruik ik de LVGL graphics library in Micropython, deze library heeft mooie graphics en standaard support voor dingen als knoppen en sliders, maar ook voor interacties als swipes. De verbinding met Home Assistant gaat via MQTT en is bidirectioneel, zo kan ik opdrachten versturen om lampen aan en uit te zetten, en kan wordt de status van de lampen ook correct weergegeven.

Ik heb zojuist de eerste commit op GitHub gedaan :o (link aan het einde). Ik heb een aantal ideeën over hoe ik dit project beter kan maken, maar hoor ook graag van jullie hoe het project vooruit kan worden gebracht. Er is dus nog veel werk aan de winkel, maar in m'n vrije uurtjes probeer ik er wat aan te knutselen.

GitHub: https://github.com/hugobloem/M5Stack_HomeControl

Afbeeldingslocatie: https://tweakers.net/i/WgSqKR1rdnruVA3IewvZPMzQy_Q=/full-fit-in/4000x4000/filters:no_upscale():fill(white):gifsicle():strip_exif()/f/image/0IY7AU2Ijo4AG5AhWE5UQkpT.gif?f=user_large
Afbeeldingslocatie: https://tweakers.net/i/g4rZmGioJ8YoH0Zz6CrMUXoLl7g=/x800/filters:strip_icc():strip_exif()/f/image/RQwwElE4csoPtMs59kYIFAWJ.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 20:15

Septillion

Moderator Wonen & Mobiliteit
Leuk projectje! d:)b Zelf geen fan van MicroPython maar if it works it ain't stupid :9 En ja, impuls elektro aankopen doen komt me bekent voor :+

Enige wat me opvalt is dat de knoppen best wel klein zijn, zou zelf kijken of ik die wat schermvullender zou kunnen maken.

En heb je wat meer info over hoe je de integratie doet? Heb je ook auto discovery? En doet het zich dan voor als switch? Of als action?

Acties:
  • 0 Henk 'm!

  • gekkeh3nk
  • Registratie: Juli 2012
  • Laatst online: 20-04 14:29
Ik heb nog niet gespeeld met de afmetingen van de knoppen, maar ze zijn nu inderdaad nog wat aan de kleine kant. Goede suggestie!

De communicatie verloopt via MQTT. HA updatet de status van elk apparaat door een publicatie in een MQTT topic (via de MQTT statestream integratie), de M5 is geabonneerd op die topics en past zodanig de status aan op het apparaat. Andersom publiceert de M5 op andere topics om een status update aan te vragen, via HA automations worden deze verwerkt. Vooralsnog is de M5 onzichtbaar voor HA omdat die alleen de publicaties in de topics ziet.

Zoals ik al zei wil ik dat alle apparaten (semi-) automatisch worden toegevoegd. Hoe, dat is nog even de vraag. Ik dacht zelf om de entiteiten te publiceren in een MQTT topic en zo de apparaten toe te voegen.

Acties:
  • +1 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 20:15

Septillion

Moderator Wonen & Mobiliteit
Ahh, de MQTT statestream integratie :)

Maar wil je echt al je entiteiten vanzelf toegevoegd zien? Naast dat ik de meeste entiteiten nooit direct benader zijn het er ook gewoon nogal snel veel en verspreid over het huis. Zou dus zeggen dat een manier om te kiezen wat je toont een flexibelere oplossing zou zijn.

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 22:03

SA007

Moderator Tweaking
Cool dingetje zo :)

Move naar Domotica, denk dat het daar net wat beter past.