MQTT. Hassio.

15 maart 2019. Hassio is een installatie van Home-Assistant (HA) met alle versieringen eromheen. Hassio is dus eigenlijk HA+.
MQTT (Message Queuing Telemetry Transport) of in Nederlands: berichtenwachtrij voor telemetrietransport is een belangrijk onderdeel van HA. Vooral dus voor het verzenden van metingen, uitslagen, toestanden.
Is de lamp aan of uit? Hoeveel graden is het in de slaapkamer? Moet de verwarming aan omdat het koud is? Dat soort vragen. En de antwoorden zijn meestal kort.

Home-Assistant is een van oorsprong Nederlands product voor de automatisering van het huis(houden). Vier jaar geleden begon het en het concurreert met het Duitse OpenHAB. Home-Assistant is open source. Het staat iedereen vrij de code te bekijken en te verbeteren.
Tot mijn verbazing las ik dat er een ingebouwde MQTT-broker in HA zit. Maar je kunt ook zelf je eigen Mosquitto-server te installeren.
De Sonoff-Tasmota code die op mijn Sonoff Basic met ESP8266 draait, biedt óók de mogelijkheid om via MQTT te communiceren. Dát wilde ik wel eens proberen. En dan ook maar meteen kennismaken met Home-Assistant op een gloednieuwe Raspberry Pi 3B+.

Hassio en HA lijken goed gedocumenteerd. Helaas gaat de ontwikkeling zo snel dat veel documentatie gedateerd is, of kleine foutjes (nog) niet aangepast zijn.
Drie dagen geleden, in het begin, had ik vooral problemen met alle voorgestelde configuraties – heel behulpzaam – en de voorgestelde gebruikers en bijbehorende wachtwoorden – meer verwarrend helaas. Misschien kwam het omdat ik voor het eerst met yaml te maken had, de bestandsopmaak voor configs in HA. (YAML – YAML Ain’t Markup Language)
In eerste instantie installeerde ik ondersteuning voor de Configurator, SSH, SaMBa en de ingebouwde MQTT. MQTT bleef fouten spugen zodat ik niet verder kwam. In het forum stelde ik hier vragen over en kreeg op zijn minst wonderlijke antwoorden als zouden er twee instanties van MQTT aanwezig zijn die met elkaar ruzie maakten. Ik had toch echt alleen de ingebouwde versie geïnstalleerd. Als dat zo zou zijn, dan laat je die ene toch in tact en stopt de andere. Na een nachtje nadenken over dit soort ongerijmdheden stuitte ik uiteindelijk op een document dat zei dat de ingebouwde MQTT op localhost moest draaien. In de configuration.yaml dus
mqtt:
  broker: "localhost"
(in de documentatie staat: broker: localhost)
geplaatst. Warempel, dat loste de conflicten op.

Voor de zoeker naar de instellingen voor de ESP8266 plaats ik hieronder mijn huidige configuratie. Ik kan mqtt-berichten sturen maar het werkt nog niet helemaal naar behoren. Er zal nog wat fijnslijperij aan te pas moeten komen.
light:
  - platform: mqtt
    name: Lamp1 Serre
    command_topic: "cmnd/sonoff1/POWER1"
    state_topic: "stat/sonoff1/RESULT"
    value_template: "{{ value_json.POWER1 }}"
    availability_topic: "tele/sonoff1/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: true

Met de opdrachten kan ik de lamp aan- en uitschakelen, maar met de meer visuele schakelaars kan ik de lamp alleen aan zetten.

Stuur een bericht aan de lamp.
Stuur een bericht aan de lamp vanuit Home-Assistant.

Visuele bediening van de Sonoff Basic met ESP8266 schakelaar/lamp
Visuele bediening van de Sonoff Basic met ESP8266-schakelaar/lamp

Lamp is niet beschikbaar
Lamp is niet beschikbaar

Het state_topic bleek niet langer thuis te horen in deze configuratie. Een aanpassing van de retain-waarde naar ‘false’ was onontbeerlijk om af te komen van de meldingen dat de lamp ‘unavailable’ zou zijn. Zeer waarschijnlijk zorgde deze verkeerde instelling voor het onregelmatig plotseling aanfloepen van de lamp! De lamp ging plotseling branden, maar ik heb niet geconstateerd dat’ie ook plotseling weer uit ging.

Er is momenteel ook nogal wat te doen over Zigbee2MQTT, een applicatie die stelt dat je ook zonder zigbee-gateway van bijvoorbeeld Ikea of Aldi (=Müller) via mqtt vanuit HA je spullen kunt aansturen. Dat scheelt weer in centen, stroomgebruik en apparaten!

Pakje naar Engeland

Een paar maal per jaar stuur ik een pakje naar mijn dochter in Engeland. Vaak zijn er problemen onderweg, meestal in het land dat nu eindelijk uit de EU wil stappen. Ik vrees dat ze er gewoon niet thuishoren.

Een paar dagen nadat ik het verstuurd had keek ik op de track&trace van PostNL om te zien of het al in de buurt was. Tot mijn stomme verbazing stond daar “address unknown”. Ik typte de postcode in bij google-maps en de pin viel bijna in hun woning. Hoezo adres onbekend? Ik tweette met PostNL en die bleken het ook niet zo te begrijpen. Mijn oog viel toen op de niet al te nadrukkelijke link Track parcel through network partner. Een klik en daar was ik bij yodel.co.uk aangeland. Een paar kliks verder stond het iets anders maar het kwam op hetzelfde neer:
We were unable to locate your property. Please chat to us. Leuk, maar het vakje met de chat vertelde me steeds dat ze druk aan het chatten waren. De volgende dag ‘s avonds laat lukte het me eindelijk om met ze in contact te komen. Uiteindelijk kreeg ik een mobiel telefoonnummer van de bezorger/-ster. Zonder de +44 en met de 0.  Ik moest dan contact opnemen met hem/haar voor nadere uitleg over waar het was? Onbegrijpelijk!
De volgende middag besloot ik dat dan toch maar te doen met een smsje omdat ik vreesde dat het pakje anders terug zou komen naar NL.

Wel een mobiele telefoon in de van maar niet in staat om een postcode in een of andere satnav in te voeren. De naam Yodel geeft me niet meteen vertrouwen. In mijn ogen blijven het jodelaars.

pakjefred-yodelbezorgd

Antwoorden.

Welkom bij Alarmbellen.

U komt hier voor een antwoord op een vraag als
“Wat te doen wanneer….”

Alarmbellen is een oorspronkelijk idee van Marjolein Haller en zij heeft het mij cadeau gedaan.