Ik gebruikte tot nu toe voornamelijk KlikAanKlikUit (KAKU) devices in mijn Domoticz server en op zich werkt dat prima met de RFXCom die een beduidend beter bereik heeft als vroeger met mijn Pimatic setup. Het nadeel van KAKU blijft echter dat het geen 2-richtings verkeer is en onbeveiligd. Je weet dus nooit of een device daadwerkelijk aan of uit is gezet en dat knaagt bij mij toch weleens.
Mogelijk oplossing is gebruik maken van Z-Wave, maar hiervan is de apparatuur redelijk prijzig. Er is echter een goedkoper alternatief met behulp van bijvoorbeeld een Sonoff S20 (EU – Type F) device. Ik leg hieronder uit hoe dat werkt. Overigens werken deze instructies voor bijna alle Sonoff types.
MQTT
MQTT is een veilig 2-richtings communicatie protocol wat vooral voor IOT (Internet Of Things) devices wordt toegepast.
MQTTT (Message Queuing Telemetry Transport) is een ISO-norm (ISO/IEC PRF 20922 publiceer-abonneer gebasseerd berichten protocol. Het werkt bovenop het TCP/IP-protocol. Het is ontworpen voor verbindingen met externe locaties waar een “kleine code footprint” vereist is of waar de bandbreedte van het netwerk beperkt is. Het publish-subscribe berichtenpatroon vereist een broker.
Je moet hiervoor wel eerst een MQTT broker opzetten waar je berichten naar toe kunt publiceren en uitlezen. Voor de Raspberry met Raspbian (= Debian) kun je hiervoor gebruik maken van Mosquitto.
Om deze te installeren moet je eerst weten welke versie van Raspbian je draait. Dit doe je met het commando:
cat /etc/debian_version
7 = Wheezy
8 = Jessie
9 = Stretch
In mijn geval had ik versie 9.6, dus ik gebruik de ‘Stretch’ variant. Om vervolgens Mosquitto te installeren voer je de volgende commando’s uit:
sudo wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list sudo apt-get update sudo apt-get install mosquitto mosquitto-clients
Tenslotte moet je in Domoticz nog deze ‘Mosquitto MQTT message broker’ toevoegen. Ga hiervoor in Domoticz naar Hardware en voeg het het device ‘MQTT Client Gateway with LAN interface’ met de volgende settings:
Sonoff S20
Nu we een MQTT broker hebben opgezet hebben we nog devices nodig die daar mee samenwerken. Ik ben begonnen met een Sonoff S20 (EU – Type F). Deze zijn in de aanbieding al voor ongeveer Euro 10,= verkrijgbaar.
Standaard werkt deze alleen via een speciale Smartphone App, maar door deze van alternatieve firmware te voorzien kun je deze ook met Domoticz laten samenwerken over Wifi via het MQTT protocol.
Ik gebruik hiervoor de Sonoff Tasmota Firmware. Om deze te installeren moet je wel wat acties uitvoeren. Dit lijkt veel werk, maar als je het eenmaal hebt gedaan vallen de stappen best mee en kun je snel meerdere Sonoff S20 van Tasmota firmware voorzien.
Verder raad ik op dit moment Tasmota versie 6.3.0 aan, daar met versie 6.4.1 auto-discovery niet lijkt te werken (zie verderop wat ik hiermee bedoel).
Edit 5 februari 2019: Ik heb de maker van de Domoticz MQTT Discovery Plugin hierop geattendeerd en hij heeft dit opgelost. Je kunt nu dus ook de laatste Tasmato firmware gebruiken.
Tasmota Firmware
Ik gebruik de instructies zoals je hier kunt vinden. Zorg er verder voor dat je een USB-to-Serial Converter van goede kwaliteit hebt en die genoeg power kan leveren. Ik raad de ‘SparkFun Beefy 3’ aan die je bij Antratek kunt kopen.
Alle volgende handelingen gebeuren op eigen risico. Belangrijk is dat je de Sonoff niet op de spanning hebt aangesloten, maar dat is natuurlijk logisch. Open de Sonoff S20 door 3 schroefjes aan de achterkant los te schroeven en deze voorzichtig ‘open’ te trekken.
Nu moet je een 4-pin header op de print solderen vlak bij het knopje zodat je gemakkelijk later verbinding kunt maken. Eventueel kun je het solderen achterwege laten als je een 4-pins header zonder te solderen tijdelijk goed contact kunt laten maken met je printplaat.
Sluit vervolgens de USB-to-Serial Converter aan op je 4-pin header van je Sonoff. Gebruik hiervoor de volgende aansluitingen:
Sonoff S20 met versie < V1.3
Sonoff VCC - Vcc Converter Sonoff TXD - RXD Converter Sonoff RXD - TXD Converter Sonoff GND - GND Converter
Sonoff S20 met versie V1.3+
Sonoff VCC - Vcc Converter Sonoff TXD - TXD Converter Sonoff RXD - RXD Converter Sonoff GND - GND Converter
Houd nu het Wifi knopje gedurende 2 seconden ingedrukt terwijl je USB-to-Serial Converter op je computer aansluit. Op deze manier staat de Sonoff in zogenaamde ‘flash-mode’. Het lampje zal dan niet knipperen. We gaan nu de alternatieve firmware uploaden. Het snelste gaat dit door de juiste firmware te downloaden en deze via ESPEasy te flashen.
Ik gebruik de ‘sonoff.bin’ firmware. Deze flash je als volgt:
-
- Plaats de ‘sonoff.bin’ file in de bin directory waar je ESPEasy hebt uitgepakt
- Boot de Sonoff in ‘flash’ mode
- Start ESPEasy en kies de COM poort en je firmware versie. Vink verder [x] Force DOUT aan
- Druk de [Flash ESP Easy FW] knop rechtsonder en wacht
Na ongeveer 1 minuut zal je Sonoff S20 geflasht zijn.
Nu moeten we de Sonoff gaan verbinden met je Wifi network. Met de nieuwe firmware heeft de drukknop op de Sonoff speciale functies gekregen.
1 korte druk | Schakelt het relais rechtstreeks of verzend een MQTTT-bericht zoals cmnd/sonoff/POWER1 ON. Hierdoor zal de LED twee keer knipperen en een MQTTT statusbericht sturen zoals stat/sonoff/POWER1 ON. Als cmnd/sonoff/ButtonRetain on is gebruikt zal het MQTTT bericht ook de MQTTT retain flag bevatten. |
2 korte drukken | Schakelt tussen relais 2 indien beschikbaar op het apparaat zoals Sonoff Dual. De LED zal twee keer knipperen en een MQTTT statusbericht sturen zoals stat/sonoff/POWER2 aan. |
3 korte drukken | Start Wifi smartconfig voor SSID en wachtwoord configuratie met behulp van een Android mobiele telefoon met de ESP8266 SmartConfig app. De LED knippert tijdens de configuratieperiode. Een enkele druk op de knop tijdens deze periode zal de sonoff afbreken en herstarten. |
4 korte drukken | Start Wifi manager met een Access Point met IP-adres 192.168.4.1 en een webserver voor de configuratie van Wifi. De LED knippert tijdens de configuratieperiode. Een enkele druk op de knop tijdens deze periode zal de sonoff afbreken en herstarten. |
5 korte drukken | Start Wifi Protected Setup (WPS) voor SSID- en wachtwoordconfiguratie met behulp van de WPS-knop of webpagina van de router. De LED knippert tijdens de configuratieperiode. Een enkele druk op de knop tijdens deze periode zal de sonoff afbreken en opnieuw starten. |
6 korte drukken | Hiermee wordt de module opnieuw opgestart |
7 korte drukken | Start het downloaden van de firmware door OTA (Over The Air). De groene LED brandt tijdens de update |
Meer dan 40 seconden lang drukken | Reset de instellingen naar de standaardinstellingen zoals gedefinieerd in user_config.h en start het apparaat opnieuw op. |
Door deze dus 4 kort te drukken zet je de Sonoff dus in Access-Point mode waarmee je via Wifi kunt verbinden. Vervolgens kun je de Sonoff benaderen op IP-adres 192.168.4.1. Verbind met dit netwerk en stel je SSID en wachtwoord van je Wifi netwerk in.
Als dit allemaal goed is gegaan kun je de Sonoff weer helemaal in elkaar schroeven en in het stopcontact stoppen. We gaan nu de Sonoff configuren. Ga naar het IP-adres dat je Sonoff gekregen heeft:
http://[sonoff-ip]/cn
Vul hier de volgende gegevens in bij de configuratie
Zorg er vooral voor dat je unieke ’topic’ naam kiest, bijvoorbeeld door je Sonoff devices te nummeren (01, 02, etc.).
Toevoegen aan Domoticz
Eerst moet je enablen dat de je Sonoff ‘auto-discoverable’ is. Dit doe je door het volgende commando in de Console window van Sonoff in te voeren:
SetOption19 On
Tenslotte gaan we de Sonoff nog toevoegen aan de Domoticz configuratie. Ik heb hiervoor deze instructies gebruikt. Installeer de Domoticz MQTT Discovery Plugin. Deze hebben we nodig om handig devices met de Sonoff Tasmota Firmware toe te voegen aan Domoticz.
Volg de volgende stappen:
cd /home/pi/domoticz/plugins git clone https://github.com/emontnemery/domoticz_mqtt_discovery sudo /etc/init.d/domoticz.sh restart
Voeg nu in Domoticz bij hardware de ‘MQTT Discovery’ toe en vul de volgende gegevens in:
Domoticz zal automatisch alle devices vinden die Tasmota firmware hebben. Deze kun je in je devices van Domoticz vinden.
Eventueel kun je de ‘Setoption19’ optie nu weer ‘Off’ zetten in de Sonoff Console.
Update 16 December 2022
Sinds R12.x van Tasmota werkt MQTT Discovery (SetOption19) niet meer. Zie ook deze link met meer informatie. In plaats hiervan moet je ‘SetOption19’ op 0 zetten en de ingebouwde ‘MQTT Auto Discovery Client Gateway with LAN interface’ hardware plugin gebruiken.
Updaten Sonoff
Als je de firmware van Sonoff later wilt updaten dan kun je dat via de web-interface van Tasmota doen. Je download dan ‘sonoff.bin’ en deze kun je dan flashen. Het is aan te raden om ook ‘sonoff-minimal.bin’ te downloaden en deze eerst te flashen en later pas ‘sonoff.bin’. Vaak kun je namelijk vanwege het beperkt geheugen niet direct ‘sonoff.bin’ uploaden. Doe je dit wel dan krijg je een foutmelding. Upload dan eerst ‘sonoff-minimal.bin’ en daarna pas ‘sonoff.bin’.
TasmoAdmin
Als je meerdere Sonoff S20 devices hebt is het handig als je deze allemaal tegelijk automatisch kunt updaten. Je kunt hiervoor gebruik maken van TasmoAdmin. Om deze te installeren volg je deze instructies.
Conclusie
Voor weinig geld en een kleine inspanning kun je eenvoudig en betrouwbaar (vanwege Wifi) gebruik maken van Sonoff switches via het MQTT protocol in Domoticz. Dit bevalt me erg goed en het geeft me een goed gevoel dat ik nu zeker weet dat een device daadwerkelijk aan of uit is gezet.
Met dank voor al het uitzoekwerk, ik heb er zeer veel hulp aan gehad.
Maar nu heb ik een vraag waar jij mij misschien mee kunt helpen, Ik doe iets verkeerd of ik zie iets verkeerd
Ik heb heb 2 stuks Sonoff S20, alles werkt, maar als ik in domoticz een s20 schakel dan schakelt de tweede ook, Ik doe waarschijnlijk iets fout en misschien weet jij wat ik fout doe.
Ik denk dat je de volgende belangrijke regel vergeten bent Peter:
Zorg er vooral voor dat je unieke ‘topic’ naam kiest, bijvoorbeeld door je Sonoff devices te nummeren (01, 02, etc.).
Bedankt ik paste het op de verkeerde plaats (Friendly Name 1 (Sonoff)) aan. Hier was ik al een week mee aan het tobben
Bedankt voor je mooie uitleg. Ik ben een heel eind gekomen maar ik krijg het laatste stuk niet voor elkaar. Ik heb de module succesvol geflasht en ik kan deze via de browser en het ip adres van de Sonoff bedienen en configureren.
ik heb de MQTT in domoticz toegevoegd maar de Sonoff word niet gevonden. Wat moet ik precies in de Sonoff instellen, de drie plaatjes zijn mij niet heel duidelijk.
Heb je ook de Domoticz MQTT Discovery Plugin geinstalleerd en Option19 aangezet in Tasmato (in Console scherm commando ‘SetOption19 On’ geven)?
Ik heb het inmiddels aan de praat gekregen. Mosquitto was niet gestart na opstarten van Raspberry. Die moet ik handmatig starten dan werkt het.
Fijn dat het nu werkt Jandirk. Als het goed is moet je in de ‘/etc/init.d/’ directory de file ‘mosquitto’ hebben staan. Deze kun je autostart maken door de volgende commando’s:
Ik heb beide commando’s gebruikt helaas zonder succes. Moet nog steeds Mosquitto handmatig starten
Dat is raar. Met welk commando start je nu mosquitto handmatig op en wat was de output van de gegeven commando’s?
Met: mosquitto
Output:
Heb je ook de output van de commando’s:
De outputs van beide commando’s zijn blanco
Dat is goed nieuws. Heb je tenslotte ook nog eenmalig mosquitto gestart met commando (wel eerst handmatig start van mosquitto afbreken):
Wat is hiervan de output?
Starting mosquitto (via systemctl): mosquitto.serviceFailed to start mosquitto.service: Access denied
failed!
pi@raspberrypi:~
Voer het eens uit met sudo:
Starting mosquitto (via systemctl): mosquitto.ser[ ok.
OK. Dat is ook goed. Ik ga ervan uit dat nu na een restart van je Raspberry Pi mosquitto nu ook automatisch mee opstart.
Heb net een reboot gedaan maar ik weet niet of mosquitto gestart is. Het werkt niet met sudo /etc/init.d/mosquitto start. Output hiervan is ok maar dan nog werkt het niet. Pas als ik mosquitto intyp werkt het pas.
Vreemd. Met het volgende commando kun je checken of mosquitto draait tijdens opstarten:
Ik verwacht dan de output in de trant van:
Enige wat ik mij kan bedenken is dat je mosquitto onder verkeerd user heb geinstalleerd/gebruikt. Met de commando’s die ik in mijn artikel gebruik heb ik geen verdere andere acties hoeven uit te voeren, dus ik ben verbaasd met het gedrag op jouw Raspberry Pi.
Dit is de output. Ik maar eens alles opnieuw installeren en de nieuwste Raspbian versie installeren.
Hoi Henri,
allereerst: top website.. veel leuke ideeen, en erg mooi uitgewerkt (c.q. uitgelegd) allemaal !!
Ik heb een vraag.. bovenstaande is allemaal gelukt, Mosquitto draait (status aanvraag geeft active (running)) maar, na clone, ik vind bij hardware geen MQTT Discovery. Heb je tips ?
Groetjes, Martijn
Bedankt voor je compliment.
Controleer de volgende zaken om automatisch nieuwe Tasmato devices toegevoegd te krijgen:
1. In Instellingen > Instellingen van Domoticz moet je de optie ‘Accepteer nieuwe hardware/Sensoren’ aan hebben staan
2. Voor je device met Tasmato firmware moet je Option19 aan hebben staan (zie blog)
:o) snelle reactie, thanks !
Maar, zover komt het niet, want ik vind bij ‘hardware’ niet de optie ‘MQTT Discovery’. Ik heb begrepen dat dat kan zijn omdat Mosquitto service niet draait, maar die draait wel. Ook staat de plugin in een subdirectory van plugins, en heb ik Domoticz service gestopt-en start.. zelfs helemaal van de stroom afgehaald..
Sorry dat ik je verkeerd begreep. Je moet wel eerst bij Hardware in Domoticz de ‘MQTT Discovery’ plugin nog toevoegen. Het is dus niet zo dat als je deze in de plugin directory hebt staan dat deze automatisch in je gebruikte hardware lijst verschijnt. Je ziet deze bij hardware onder het type ‘MQTT Discovery’.
Het zou toch zo moeten zijn dat ik in het drop-down menu bij hardware die MQTT Discovery kan zien toch ? Ik zie echter in de log een error.. PluginSystem: Failed dynamic library load, install the latest libpython3.x library that is available for your platform.. denk dat dat de boosdoener zal zijn. Heb flink gegoogled maar geen oplossing gevonden.
Probeer eens:
Herstart hierna je Domoticz service.
Yes ! Nu wel… super ! Dankjewel Henri !
Enorm bedankt voor deze uitstekende handleiding! Ik had hetzelfde probleem met de MQTT Discovery maar gelukkig stond de oplossing ook in de reacties! Ik heb mijn eerste Sonoff Basic nu compleet werkend met Tasmota 8.1. ik heb ook een Sonoff SC geflashed maar deze binnen Domoticz helaas nog niet werkend gekregen.
Bedankt Marcel en fijn dat het nu bij je werkt. De Sonoff SC ken ik nog niet, maar dat ziet er uit als een interessant product. Ik denk dat ik mij hier eens in ga verdiepen.
Hoi Henri, wat een prachtig stuk documentatie hierboven! Precies wat ik zocht om mijn met Tasmota v6.6 geflashde Sonoff Mini aan de praat te krijgen in Domoticz op mijn RaspiZeroW, dacht ik. Alles probleemloos kunnen installeren, toch komt ie met auto-discovery niet te boven. Ook de libs van Python3.4 toegevoegd zonder problemen. De log laat als enige ‘probleem’ een lege optie zien, maar lijkt verder geen problemen te hebben met de MQTT Autodiscovery. Heb jij nog suggesties?
Ik vind wel het IPadress van de Sonoff Mini in de arp cache van Raspi, dus er is contact. Ik heb nergens een login/ww op hoeven geven, moet ie dat niet weten om de Sonoff te besturen? De ID/ww in de MQTT hardware is, neem ik aan, niet bedoeld om op de Sonoff in te loggen, want je zou diverse switches met diverse id/ww moeten kunnen ontdekken, lijkt me. Ook vreemd vind ik dat het poortnummer niet in het overzicht verschijnt. Zie schermkopie.
Veel geleerd hier, dankjewel! Vr.Gr Erwin
Controleer de volgende zaken om automatisch nieuwe Tasmato devices toegevoegd te krijgen:
1. In Instellingen > Instellingen van Domoticz moet je de optie ‘Accepteer nieuwe hardware/Sensoren’ aan hebben staan
2. Voor je device met Tasmato firmware moet je Option19 aan hebben staan (zie blog)
Ik maak zelf geen gebruik van username/password in mosquitto. Verder zie je in mijn overzicht van Hardware ook geen poort staan. MQTT zelf werkt met de ’topic’ naam en hoeft alleen maar een connectie met je MQTT broker (Mosquitto) te hebben.
Dank voor je snelle reactie, ik heb je procedure exact gevolgd en er ging niets mis. Alleen dan dat de Sonoff er niet mee ontdekt wordt 🙂
Ik zie wel in de log van Domoticz in dezelfde kleur als het MQTT-log (blauw) verschijnen :
Zegt mij niets. Weet jij waar je dit kunt terug vinden?
sorry ik vergat dit scherm nog even toe te voegen van de Sonoff, het lijkt dat in “Config Other” je voor MQTT zelf ook nog een keer een wachtwoord kunt opgeven en MQTT als zodanig ook aan/uit kunt zetten. Onafhankelijk van het consolet commando “SetOption19 On”. Ik leer vanalles, nu alleen nog ‘even gewoon’ werkend zien te krijgen…
Altijd leuk; op je eigen reactie reageren. Ik heb Sonoff naar Tasmota v8.1 geupgrade. In de MQTT van Domoticz debug level verbose gekozen, in de log zie ik nu dat de Sonoff weldegelijk wordt gezien. Toch verschijnt ie niet in apparaten lijst… vreemd. Domoticz nog maar eens gereboot, weer nix
Het wachtwoord dat je in ‘Tasmota > Other’ opgeeft is voor je web-interface (als je je device vanaf URL benaderd) en heeft als zodanig niks met je MQTT configuratie te maken.
Het enige wat ik me nu nog kan bedenken is dat of je ‘discovery topics’ of ‘ignored device topics’ je probleem zijn. Zie attached screenshot wat ik gebruik voor instellingen.
Maak in je ‘MQTT Discovery’ plugin je veldje met ‘ignored device topics’ eens leeg.
heb ik idd al gedaan onder het motto ‘baat het niet, dan schaadt het niet’ maar helaas blijft het ook met die keuze stil 🙁
Oja, de update van v6.6 naar 8.1 Tasmota, geeft je ineens het menu Config Domoticz erbij. Helaas staat er niets in om dit specifieke probleem op te lossen.
Ik kan nog proberen een syslog server op mn raspberry erbij te installeren, zodat de SonoffaBitch zijn activiteiten kan laten zien (en mss dat ie gescand wordt door MQTT)
heb topic in Sonoff en MQTT Discovery weer op ‘homeassistant’ gezet, omdat ik zag dat dat een standaard kreet was in de console log van de Sonoff. Toen in ‘Config Logging’ het level ‘debug’ gekozen en zie daar wat er gebeurt als ik mijn Raspberry reboot; hij verliest contact met de MQTT broker! Wat bewijst dat dat iig dus goed loopt. Het zit tussen de broker en de discovery niet goed… Zie log
Nou ik geef het op voor vandaag. De log van Domoticz laat duidelijk zien dat de Sonoff constant gepingd wordt door de MQTT discovery, maar hij verschijnt niet in de apparaten lijst. Geloof niet dat ik dat ga oplossen 🙁
LAATSTE opmerking voor vandaag (je weet nooit of iemand er nog iets aan heeft); heb Sonoff config gereset om http ID/ww login kwijt te raken. Hoewel ik er niet van overtuigd was, moet ik toch alles geprobeerd hebben. Het maakt idd niet uit. Ik zie nergens in de config menu’s hoe je hier vanaf komt als je het eenmaal hebt ingesteld. Dus fabrieksinstellingen en weer opnieuw gedaan, t’s de moeite niet en het resultaat ook niet. Vette pech.
Vraag
bestaat er geen mogelijkheid om de Sonoff handmatig toe te voegen aan Domoticz ipv met auto-discovery?
Nog even voor het slapen gaan in de log gekeken van Sonoff terwijl ik de MQTT broker en discovery verwijderd heb en Raspi reboot. Wat denk je dat ik zie? Keurige log van Sonoff die zich iedere 5 min meldt bij de broker, dan verbinding verliest en zich na reboot herstelt. Kortom; Sonoff en broker praten prima met elkaar.
Toch nog even verder dan in Domoticz, MQTT broker opnieuw toegevoegd in ‘hardware’. En toen bij MQTT discovery toevoegen deedt ie weer raar, zoals ook de 1e x; niet reageren als je op ’toevoegen’ klikt. Dan moet je met F5 het scherm verversen en ineens staat ie er wel!
Eerste keer had ik een paar keer op die knop zitten rammen, en er gebeurde niets. Toen ik terug kwam in ‘hardware’ pagina, stonden er wel 11 disco’s te draaien! Daarvan 10 weggegooid, en ik denk dat het daarmee fout is gegaan.
Nu rustig 5min gewacht, terug naar ‘apparaten’ en voila TWEE stuks (hoe kan dat nou weer?). Ook in ‘schakelaars’ staan nu twee stuks. Als ik op handmatig klik in die pagina, kan ik geen type instellen. Als ik op ‘leren’ klik, gebeurt er niets… en eigenlijk werkt het nog steeds niet. Ik kan geen van de twee verwijderen, als ik ze beide of apart laat zien in ‘schakelaar’ en/of ‘dashboard’ gebeurt er niets als ik erop klik. In de console log van de Sonoff gebeurt niets
.
Ik denk dat er een database fout zit ergens in Domoticz. Maar hoe flush je zo’n database zonder niet helemaal opnieuw te moeten beginnen? Wel zie ik nu eindelijk een foutmelding in de log van Domoticz betreffende de Discovery Plugin (hoe kan het ook anders), morgen opnieuw installatie doen.
Tjonge wat een aderlating deze switch ff toevoegen aan Domoticz. Hele dag kwijt 🙁 BOEHOE, tijd om te slapen.
Ik denk dat je eerder last hebt dat je MQTT broker (Mosquitto) in de war is. Ik heb met mijn stappen al deze issue niet meegemaakt en vind het heel vervelend voor je. Probeer je Mosquitto eens te herstarten of leeg te maken. Zie ook de volgende link.
Fijn dat je nog steeds meedenkt Henri en sorry dat ik je blog vol bombardeer met mijn ervaringen. Ik doe dat in de hoop dat anderen daar ook van kunnen leren.
Ik heb je Mosquitto database flush meteen geprobeerd, maar helaas helpt het niet. Zoals je hierboven gezien hebt, verloopt de communicatie tussen Sonoff en broker ook prima en het starten/status/stoppen/flushen gaat ook probleemloos.
Mijn verdenkingen gaan nog steeds uit naar de AutoDiscovery Plugin, want nog steeds als ik ‘m weggehaald heb, volledig reboot doe, en ‘m weer in ‘hardware’ wil toevoegen, gebeurt er niets als ik op de knop ’toevoegen’ klik. Andere hardware wordt meteen opgenomen in de lijst erboven, maar bij MQTT discovery klik ik op de knop ’toevoegen’ en alles blijft gewoon staan, totdat ik de pagina ververs of eruit ga en weer terug kom (uiteraard). Dat is niet goed.
Dan is de volgende vraag: HOE verwijder je een plugin? Jammer dat je in Domoticz zelf niets kunt doen met plugin management, zoals je dat in een browser kan bijvoorbeeld.
Dit vind ik ook nog steeds gek, dat er een JSON optie leeg is waar Domoticz over klaagt in de log tijdens het starten van de AutoDiscovery service. Zie bijlage (log leest zo rot in smalle kolom als dit).
==>> oh, bijlage is onleesbaar maar in ‘bewerken’ mode van deze blog kan ik de plaatjes niet verwijderen of vervangen, zie volgende dan maar
Het lijkt wel of er iets mis is met je plugin. Ik heb attached de content van mijn MQTT Discovery Plugin toegevoegd. Misschien kun je daar eens mee proberen?
Update: ik kan ZIP file niet attachen aan berichten. Ik stuur deze prive naar je toe.
zie log
Bij Hardware kun je gewoon op plugin gaan staan en onderaan ‘Verwijderen’ kiezen. Om er zeker van te zijn dat hij niet gebruikt wordt kun je de sub-folder met je plugin verwijderen uit de plugin folder van Domoticz en Domoticz restarten.
Dank Henri voor de zip in de mail, daar ga ik direct mee verder.
Ik bedoelde niet zozeer verwijderen uit de Hardware lijst van toegevoegd, maar uit de keuze lijst als je nieuwe wilt toevoegen. Dat is de werkelijke plek waar de plugin uithangt, of inderdaad zoals je schrijft uit de plugin directory verwijderen op de CLI.
Ondertussen heb ik de Python Plugin Manager gevonden en geïnstalleerd, die maakte zijn eigen directory aan in plugins met mqtt-discovery. Het brengt wel iets verbetering, want nu ik de 2 schakelaar (snap nog steeds niet waarom dat dubbel is, ik zie ook in de console log van Sonoff dat ie 2x per 5min rapporteert naar de broker, met altijd precies 12 sec tussentijd, grappig) zie in hun pagina, kan ik wel op ‘log’, ‘aanpassen’ etc open klikken. Gisteren werkte ook dat niet.
Het valt me op dat er geen scripts zijn ingevuld onder de acties ‘aan’- en ‘uit’-zetten. Hoort daar iets ingevuld te staan?
Wellicht overbodig, maar je kunt heel eenvoudig (gevonden) Apparaten verwijderen uit je lijst door deze aan te vinken en dan linksbovenaan in de header van de kolom op het ’trash’ icon te drukken.
Nee dat gaat niet, ook dat verraadt dat er iets mis is. Ik kan ze niet op deze manier, en ook niet met het prullenbakje op dezelfde regel verwijderen. Hij vraagt wel of ik het zeker weet, als ik bevestig dan blijft ie gewoon staan. De enige manier van verwijderen is de hardware verwijderen…
Als je de plugin verwijderd uit de lijst, dan worden alle devices (apparaten) ervan ook verwijderd uit de lijst (database) van Domoticz. Dat is ook een snelle manier om al je betreffende apparaten te verwijderen 😉 .
Ja daar ben ik inmiddels een kei in geworden! Je leert wel veel van een probleem als dit, behalve de oplossing, da’s nou weer jammer 🙂
Standaard zijn er geen scripts in de ‘aan’ en ‘uit’ acties. Daar kun je eventueel zelf nog extra acties definieren. Als je nu een apparaat aan/uit zet dan wordt dat commando zo naar je device (MQTT) gestuurd. Dit kun je eenvoudig zelf testen door de web-interface van Tasmato in een window te openen en in een ander window met je Domoticz het apparaat aan/uit te zetten.
okay, dat is jammer, had daar graag wat getypt en gekeken of ik dat in de console log van de Sonoff tegen kwam. Er gebeurt nu niets als ik op de lamp of de schakelaar klik. Is dat normaal dat een Sonoff als twee verschillende devices tevoorschijn komt in apparatenlijst?
Dat is niet normaal. Elk device verschijnt bij mij als 1 device in de apparatenlijst.
Ik heb Domoticz gestopt, in plugins met ‘bot geweld’ de plugin verwijderd:
sudo rm -rf MQTTDiscovery
Je zipfile geunzipt, met ftp-server naar Raspi gepiept, Domoticz weer gestart, hardware toegevoegd. Maar helaas exact zelfde verschijnsels. Alles is nog maagdelijk nieuw aan mijn Raspi ZeroW. Het enige wat ik erbij geïnstalleerd heb, is monit maar verder staat alleen Domoticz erop.
Heb wel in het Python script gevonden waar die foutmelding in de log vandaan komt. Maar ik kan er niets mee. Daar houdt mijn kennis van json formaat, syntax etc op.
Het enige verschil is dat ik op een Raspberry Pi 3 draai. Wellicht dat Raspberry Zero toch afwijkende Raspbian gebruikt waar bepaalde software (plugins?) nog niet goed mee werken? Heb je toevallig beschikking over een Raspberry Pi 3 om mee te proberen of een andere Linux doos?
Tja wat stom! Ik heb het ook op m’n windows pc gezet, om het ‘onderweg’ ook eens te bestuderen en helemaal vergeten dat ik daarop ook kan testen natuurlijk! DANK ga ik meteen proberen.
Wat ik vanaf het begin al heb geprobeerd vanaf Raspi CLI :
Leek me wel een sterke code om onder een willekeurig gemaakte dummy switch actie te hangen. Maar de syntax is niet goed, en ik krijg ‘m ook niet goed. Zo veel simpeler dit, als het zou werken. Hij jij ervaring met CURL syntax of de Sonoff structuur? Hoe wist je die SetOption19 bv? Hoe kom je erachter of /zeroconf/switch wel de goede dir in Sonoff is?
Je kunt Tasmota device inderdaad ook heel eenvoudig vanaf command-line met curl aanroepen. Zie ook deze link.
Op de Wiki van Tasmota kun je erg veel informatie vinden.
Ja ik denk dan jij als ICTwizard culrl en json vast onder de knie hebt, maar ik ben al 20 jaar uit het vak en loop zwaar achter. Waardoor het mij niet lukt met curl op pure syntax issues. Als je een voorbeeldje hebt, heel graag, de link gaat over alles maar niet curl 🙂
Ik gebruik curl vrij veel in mijn LUA scripts. In het LUA script gebruik dat op de volgende manier (als voorbeeld hieronder hoe ik Pushover message stuur)
Ook pushover berichten heb ik nog geen kaas van gegeten. Doe al 1½dag over een switch in Domoticz, for crying out loud.
MAAAARR HET IS GELUKT in Win7 jawel! Niet dat dat vanzelf gaat,
Dom. crasht om de haverklap. Python moet je advanced installeren met ‘all users’, ‘path variables’, ‘compile premairy libraries’ anders lukt het sowieso niet.
Daarnaast wilde poort 1883 op local host niet, kreeg allerlei foutmeldingen. Dus toen wifi uitgezet, over naar RJ45, firewall weer uit. In dosbox met “Netstat -a” zie je dat poort 1883 ongebruikt blijft… Boehoe. Poortnummer als 55555 crasht Dom. ook van. Verwijderen hardware, zonder eerst te disabelen, gaat niet en crasht ook.
Poehee. Toen Dummy hardware gekozen, virtuele sensor als schakelaar gezet. In ‘apparaten actie on/off gewoon http commando:
EN EINDELIJK WERKT HET DAN !!!
(maar niet dankzij MQTT)
HARTELIJK DANK voor je steun en dat ik hier m’n ei kwijt kon. Nu dit nog even op Raspy herhalen. Het aantal schakelaars zal hier toch nooit spectaculair worden. Bye!
Fijn dat het werkt Erwin. De aanhouder wint zie je wel 😉 . Dan lijkt het volgens mij toch aan Raspbian op Raspberry Zero in combinatie met Domoticz/Plugins te liggen. Zoals gezegd werkt het op een Raspberry Pi 3 in 1 keer goed en zonder problemen bij mij.
Ja bij Marcel, zie hierboven (hij gaf me de tip naar you), was het ook snel voor elkaar. Dat verwachtte ik ook. Mss dat ik toch opnieuw moet beginnen met Domoticz herinstalleren. Er zijn wel meer schermen die niet meteen reageren en alleen na F5 toch bijgewerkt blijken te zijn…
Oh en bytheway ook nog; ik zie nu ook dat de Win7 Dom. er een knop bij heeft die ‘custom’ heet en een plattegrond laat zien. Ook al zoiets wat op de Raspi Dom. helemaal ontbreekt en plattegrond zag ik alleen in het filesysteem als voorbeeld staan, maar nergens in Dom.
Er is vast iets mis met de installatie op Raspi, ik moet het ‘gewoon even’ helemaal opnieuw doen 🙂
Vond deze procedure voor reinstall Dom. nadat ik Mosquito en Monit al heb verwijderd;
werkte perfect, start ik Dom. zie ik toch meteen weer die knop die ontbreekt op Raspi! Hoe kan dat nou? Windows beter dan Linux? Onmogelijk haha
Nou, gefrustreerd moet ik er een einde aan maken. Ik heb Raspi opnieuw voorzien van alleen Domoticz, Mosquitto. Toen
MQTT broker en client toegevoegd. Weer komt er een lamp en schakelaar bij als device, die beiden niet werken. Als
ik settings wil veranderen in de pagina schakelaars, zie ik in de log onderstaande fouten verschijnen. Ik ben ’t zat.
Jammer maar helaas!
Fouten bij het opstarten:
Bij het editen van schakelaars:
DAAR IS DAN EINDELIJK MIJN OPLOSSING :
Door gebrek aan ervaring, zag ik niet dat Domoticz pas mis ging, zodra ik de plugin MQTT-discovery toevoegde. Geen reactie meer op knop ’toevoegen’, geen apparaten meer kunnen verwijderen, dubbele apparaten, geen reacties van switches.
Heel domoticz opnieuw geïnstalleerd, Mosquitto toegevoegd, en eerst de test gedaan of de MQTT broker werkte met een dummy tempsensor en het CLI commando:
Nu verschijnt er 25gr in je meter!
IPV autodiscovery, moet je slechts een dummy schakelaar aanmaken en de IDX waarde van je apparatenlijst zetten in de Tasmota ‘configure Domoticz’ scherm bovenaan, zie afbeelding.
Ik dank mijn zwager hartelijk voor deze gouden tip en laat autodiscovery voor wat het is. Met deze handmatige instellingen werkt het nu perfect!
Dank voor deze oplossing Erwin; toegepast bij mijn ouders waar Domoticz draait; ik wilde daar 2 Sonoff’s installeren. Mqtt broker lukt prima.. werkt. Maar op geen mogelijkheid (binnen mijn kennis) om Mqtt Discovery aan de praat te krijgen. Alle updates, upgrades en hierboven genoemde zaken geprobeerd. Geen foutmeldingen in de Log.
Iemand nog een idee hoe ik de Discovery-plugin geinstalleerd krijg ? In de Plugins directory staat hij keurig.. in de drop-down list van hardware niet te vinden helaas.
Nadeel van jouw methode, Erwin, vind ik dat indien de Sonoff geen stroom heeft of geen netwerkverbinding dit in Domoticz niet zichtbaar is. Indien de Sonoff plots zonder stroom komt te zitten blijft in Domotivcz de schakelaar ‘Aan’ staan. Voor ons niet handig ivm vijverpomp/bewaking daarvan.
Help 🙂
Hoi Martijn, fijn te lezen dat er iemand wat heeft gehad aan alles wat ik geleerd heb de afgelopen dagen. Ik heb precies dat wat jij beschrijft, nu ook ervaren. Weet nog niet hoe je het moet oplossen. Je kunt wel een ping-service starten (System Alive Checker in hardware lijst) en het IP-adres van Sonoff monitoren, evt verbonden aan email indien niet bereikbaar. Dat is toch iets, maar niet helemaal zoals bedoeld, denk ik.
Probeer jij het toevoegen van MQTT disco op een RaspiZeroW ? Dat wilde bij mijn zwager ook niet zo goed lukken. Je moet het wel in de directory clonen zoals hierboven staat beschreven. Ik heb dat altijd met een gestopte Domoticz.sh service gedaan. Voor de zekerheid. En daarna pas weer sudo service Domoticz.sh start gedaan. Jij ook?
Bij mijn ouders, en ook hier thuis, draait een Pi 3 B.
Thuis draait alles prima, ook met discovery. Bij het uitvallen van wifi of stroom bij de Sonoff’s (en Shelly’s) wordt de schakelaar rood in de plattegrond en weet je dus meteen dat er iets niet goed is.
Bij mijn ouders heb ik dat clonen uiteraard (ook) gedaan, alles staat dan ook prima in de plugin directory (nee, niet gedaan tijdens een gestopte Domoticz.sh serice, maar na meerdere reboots en restarts zou dat toch geen issue mogen zijn ?
Met pingen zou idd een oplossing zijn, maar uiteindelijk heb je misschien wel 10 of meer schakelaars en dan ping je je suf lol, en moet bij iedere schakelaar vanalles instellen….
Ja ik snap dat pingen een workaround is, mss alleen voor de belangrijkste zaken als de vijver en alleen voor nu. Het is vreemd dat die MQTTdisco kennelijk wel vaker problemen geeft. Gelukkig heb je zelf een werkende situatie thuis. Dat geeft je iets om het mee te vergelijken. Ben r zelf 2 dagen mee bezig geweest en heb t daarom maar opgegeven. Had leuk geweest, maar ik wil verder dus kan je niet echt helpen. Sobby 🙁
Martijn, zie hierboven, probeer bij je ouders eens browser-cache te wissen (cookies niet noodzakelijk), wellicht helpt het jou ook!
Een nadeel van bovenstaande oplossing, is dat door het ontbreken van MQTT-discovery, het onbereikbaar worden van de Sonoff niet opgemerkt wordt.
Nu enige dagen later ging weer mijn Domoticz onderuit; ik kon ineens niet meer de Sonoff bedienen maar wel als ik ingelogd was met m’n foon. Andere browsers en zelfs een andere laptop met Win10 IE, werkten ook niet meer.
Na een dag zoeken, alles opnieuw geïnstalleerd te hebben, gaf Marcel (van hierboven) me opnieuw de hint browser cache te wissen. Het schijnt dat Domoticz daar vaker mee de mist in gaat! Ik gebruikte vaak F5, maar sinds ik
BROWSER-CACHE WIS ZIJN AL MIJN PROBLEMEN OPGELOST!!! Ik kon ineens weer m’n Sonoff schakelen en nog belangrijker -want daar begon dit top over- IK KAN INEENS MQTT-Discovery TOEVOEGEN zonder enigg probleem!!!
Ongelofelijk dat deze simpele actie me zoveel problemen heeft gegeven. Ik heb er wel heel veel door geleerd… alweer
Mijn reactie duurde even.. maar: ik heb het bovenstaande, bij mijn ouders geprobeerd maar krijg MQTT Discovery niet in de lijst te zien. Zelfs een compleet nieuwe stretch installatie gedaan, updates en upgrades gedraaid.. dan alleen mosquitto als hardware en dan nog steeds geen discovery.
In de plugin directory is discovery te vinden… heb ook geprobeerd een cp -r naar een nieuwe plugin-dir te doen (dus 2x dezelfde plugin) en nog niet te vinden in de drop-down lijst.
Hè wat jammer Martijn, ik had zo gehoopt voor je dat dit ook bij jouw de problemen zou oplossen. Heb je nog verschillende browsers geprobeerd? Hoewel het er meer op lijkt dat Domoticz zelf, de nieuwe plugin niet ‘ziet’. Ook erop gelet dat je de Domoticz.sh service gestopt hebt tijdens het clone commando en daarna weer gestart? Vermoed van wel.
Je kunt nog vergelijken wat er precies in de werkende situatie thuis is toegevoegd in de domoticz/plugins directories, en dat vergelijken met wat je bij je ouders aantrekt? Let vooral goed op bestands permissies en grootte. Zolang MQTT-discovery niet in je hardwarelijst verschijnt, zit je idd met een probleem. Hoe zit het met terminal sessie naar de Pi toe? Is dat iets van VNC of Putty, stabiel qua LAN? (je moet zekerheden uit gaan sluiten als je de onzekerheid omtrent het probleem niet kunt bepalen, is mijn ervaring). Succes!
Hoi Erwin,
na langere tijd toch nog een reactie; na een update van Domoticz liep alles vast.. ik moest een reserve backup terugzetten en toen: geen MQTT Discovery meer te vinden. Zoeken zoeken, niets ! Alles leek correct. Toen heb ik ook hier thuis maar jouw oplossing gebruikt (die bij mijn ouders ook prima draait) en ging toen aan de slag met iDetect (wat ik overigens niet aan het werken heb gekregen daar ik een Fritzbox heb die alles blokkeert). Echter.. na het uitvoeren van de volgende zaken was Discovery weer te zien en loopt alles weer prima:
Leuk weer van je te lezen Martijn. Ik ben, net als velen, de valkuil in gelopen om de update van Domoticz naar v2020.1 te doen. Geforceerd Buster10 opnieuw geinstalleerd, backup terug gezet maar geen discovery inderdaad! Stompzinnige is, dat Buster10 met Python v2.7 komt. Als je dan op de CLI een update vraagt, zegt ie vrolijk dat ie up2date is! In werkelijkheid moet je naar v3.0 of hoger en daar kwam ik pas achter toen ik Domoticz log ging uitspitten. Uiteindelijk hetzelfde gedaan als wat jij hierboven beschrijft en nu met goede Python versie is alles weer okay. Erg jammer van de ontwikkelaars van Domoticz dat ze geen OS-versie check in de update gebouwd hebben. Best wel een blunder vind ik.
Dank voor deze uitleg! De sonoff mini is gevonden door de discovery tool en het schakelen werkt.
Bij topic heb ik Sonoff-mini-01 ingevuld, maar toch wordt de schakelaar in Domoticz toegevoegd als “MQTT Discovery – Tasmota”. Enig idee hoe dat kan?
En ik vraag me tevens af hoe de koppeling nu ligt tussen de schakelaar (idx) en de juiste schakelaar, als in de domoticz config van tasmota de idx id op 0 staat?
Het belangrijkste is dat je in de configuratie van Tasmato bij MQTT parameters een uniek ’topic’ waarde invult. Dit wordt door MQTT gebruikt. De Domoticz parameters hoef je niet aan te passen. Je kunt bij ‘Other parameters’ de ‘Friendly Name’ invullen die dan door MQTT Discovery wordt gebruikt. Je kunt ook gewoon achteraf in Domoticz bij Apparaten de naam veranderen. Je MQTT blijft dan gewoon werken omdat die ‘onder water’ gebruik maakt van de ’topic’ waarde.
Dank! Met de friendly name heb ik hem inderdaad een andere naam kunnen geven
allereerst dank voor het schrijven en delen van dit artikel, ik heb er veel aan gehad, ik ben sinds gisteren begonnen met Domoticz op een raspberry 3b+ met nul kennis van linux.
Ik liep ook tegen zowat alle bovengenoemde problemen aan met als laatste probleem het toevoegen van de sonoff basic r3 in de domotica software wilde niet lukken, de auto discovery vond helemaal niets.
Na lang zoeken en proberen kwam ik erachter dat ik de verkeerde tasmota firmware op de schakelaar had gezet, ik had de “tasmota-lite.bin” erop gezet, nu blijkt dat deze niet de domoticz tab in het menu heeft staan, dus heb ik de “tasmota-NL.bin” erop gezet, de mqtt settings nagelopen (stonden nog goed, zijn gewoon overgenomen) en de auto discovery in domoticz vond de schakelaar gelijk en deze werkt nu !
hartelijk dank voor alle geboden hulp op deze pagina ik ben er ontzettend mee geholpen !
Fijn dat het werkt Henry en voor het delen van je ervaringen. Ik pak zelf altijd de standard ’tasmota.bin’ file (Engels).
Hallo. Ik heb de Sonoff S20 voor een lange tijd succesvol gebruikt in mijn Domoticz. Na de bekende update werkte Domoticz niet meer op mijn versie en moest ik alles opnieuw installeren. Ik krijg het echter niet werkend op buster en de laatste stabiele versie van Domoticz. Is het iemand gelukt om het werkend te krijgen en zo ja gaarne de stappen die je hebt ondernomen om het werkend te krijgen. De Sonoffs werken wel via de web interface zijn ze gewoon te schakelen. ook worden ze herkend in mqtt.
Bij mij werkt het gewoon en ik heb niets speciaal gedaan. Ik run wel op de laatste beta. Verder raad ik aan om te kijken of je de laatste versie van de plugin gebruikt. Je kunt deze eenvoudig updaten met het commando:
Voer bovenstaande commando uit in directory van de plugin (‘/domoticz/plugins/domoticz_mqtt_discovery’).
Bedankt voor je snelle reactie. Resultaat is dat ik al op de laatste versie draai. Om gek van te worden
Draai je ook Domoticz laatste beta (zoals ik) of bedoel je alleen laatste plugin versie?
Je zou verder ook eens Debug logging van de plugin aan kunnen zetten om te kijken wat er mis gaat? Heb je wellicht, per ongeluk, je ‘Discovery topic’ setting aangepast (zie ook hier). Hoe ziet verder je configuratie van de MQTT discovery topic eruit en van je Sonoff device?
Ik had een hoop problemen met m’n Sonoff devices sinds een week. Ik kwam dit verhaal tegen en het was appeltje – eitje (en dat terwijl ik niets van Linux weet). Ben erg blij. Ga dit ook aanbevelen bij m’n collega.
Bedankt voor de terugkoppeling en fijn dat deze blog je geholpen heeft. Daar doe ik het voor.
Dank voor je verhaal. Ik heb TasmoAdmin op mijn RPi geïnstalleerd volgens de Linux procedure. Nu kan ik nergens vinden hoe ik nu TasmoAdmin via mijn browser opstart.
Kan je me verder helpen.
Dit is afhankelijk wat je hebt ingevuld voor de listen port in de configuratie (afhankelijk hoe je het hebt opgezet controleer je de volgende files):
– /etc/apache2/sites-available/tasmoadmin.conf
– /etc/apache2/sites-enabled/000-default.conf
– /etc/apache2/sites-enabled/default-ssl.conf
Vervolgens ga je in je browser naar: http://ip-adres:port
Bedankt.
Iin je browser naar: http://ip-adres:port werkt nu prima. Sonoff S20 met Tasmota in Domoticz gebruik al ik een aantal jaren. TasmoAdmin maakt het nu weer een stuk gemakkelijker.