Omdat mijn Ubuntu 20.04 server installatie op de Raspberry Pi ineens problemen met sudo had en ik hier lange tijd mee bezig geweest ben om dit op te lossen, deel ik hierbij de genomen stappen om dit te verhelpen.
Op de Raspberry Pi zelf inloggen met een gebruikersaccount en vervolgens:
systemctl rescue
Je komt nu in rescue mode. Enter door totdat je opnieuw in de shell bent.
Om een Laravel project te starten zijn PHP en Composer nodig. Ik ga er van uit dat PHP al geinstalleerd is. Om composer te installeren kun je volgende opdrachten gebruiken (getest op Raspbian 8 Jessie):
Na het rooten van je Toon verlies je natuurlijk de bediening op afstand via de Toon-app van Eneco. Nu zijn er wel alternatieven voor oa Android maar voor Apple is er nog weinig te vinden. Om toch de thermostaat via een Apple-apparaat te kunnen bedienen, is het mogelijk om deze via Homebridge te koppelen.
Wat heb je nodig?
een apparaat waar Homebridge op draait, bijvoorbeeld een Raspberry Pi. Met Homebridge kun je apparaten die niet standaard compatible zijn met Apple HomeKit toch verbinden.
wat Linux kennis.
het IP-adres van je geroote Toon.
Installeer de ‘homebridge-rootertoon’ plugin voor homebridge met het volgende commando:
Open het configuratiebestand van HomeBridge. Ik ben meerdere locaties van het configuratiebestand tegengekomen. In mijn huidige installatie was de locatie /var/lib/homebridge/config.json.
nano /var/lib/homebridge/config.json
Voeg de accessoire ‘RootedToon’ toe aan het configuratiebestand.
Achter ‘apiroute’ vul je ‘http://’ gevolgd door het IP-adres van je geroote toon in. Achter ‘maxTemp’ kun je de maximaal instelbare temperatuur instellen, achter ‘minTemp’ kun je de minimaal instelbare temperatuur instellen.
Sla het bestald op en herstart homebridge:
systemctl restart homebridge
In de Woning-app heb je nu een nieuwe accessoire, instelbaar tussen de opgegeven temperaturen!
Na een van de laatste updates waarbij de uptime doorgegeven werd aan de API, werd duidelijk dat de firmware 1 of 2 keer per dag herstart werd zonder duidelijke reden. Binnen 10 seconden werkt de module weer na een herstart, maar dit is natuurlijk niet de bedoeling.
Er wordt nu een herstart-reden doorgegeven aan de API en bij een /get-aanvraag, waardoor ik hopelijk de reden kan achterhalen.
Ondanks dat ‘4’ natuurlijk een numerieke waarde is, wordt deze in het JSON-resultaat als string weergegeven. De reden hiervan is dat de ‘debug’-parameter alle mogelijke informatie, opgeslagen als string, kan bevatten.