Nieuw uit de doos kan de Kruidvat sensor via een kruidvat app, wat in feite een clone is van de Tuya app, meldingen via de cloud naar deze app sturen. Bij het configureren van de app moet je heel veel informatie invoeren, wat allemaal wordt opgeslagen in de cloud. Daar zit bijvoorbeeld je WIFI netwerk naam (SSID) en password bij. En ook nog de exacte GPS locatie.
Hier ga je gebruik maken van Tasmota firmware, waarmee deze sensor uitsluitend op het eigen wifi netwerk bereikbaar wordt.
Aan de linkerzijde zie je de WIFI module, die in deze sensor wordt gebruikt en rechts de FT232RL communicatie module met aan de rechterkant de mini USB poort. Met daarbij de aansluitingen. Zoals bij de afbeelding is vermeld, let op de jumper instelling. Deze moet op 3.3V worden gezet (dus de jumper moet worden verplaatst van 5v naar 3.3 V). Dupont wires kunnen worden gebruikt voor de aansluitingen op de FT232RL module.
Na het aanschuiven van de Dupont wires en het soldeerwerk aan de TYWE3S, zou het er zo uit kunnen zien. De gele draden zijn de RX en TX aansluitingen.
Als je op internet wat verder zoekt, tref je ook informatie aan over OTA (over the air) firmware flashen. Dat zal bij deze sensor niet gaan werken.
De volgende stap is het downloaden van de firmware file, die met de ESPTool (zie volgende alinea) gedownload zal worden. Deze vindt je op https://github.com/tasmota/binaries
Op deze pagina kies je voor tasmota-battery.bin
Nu sluit je de USB kabel aan tussen de laptop en FT232RL module. Hiermee ga je de Tasmota firmware, volgens de procedure hieronder, in de TYWE3S plaatsen.
Na aansluiten zullen de leds op de FT232RL even fel knipperen. Daarna zouden de groene leds zwakjes moeten branden en de rode led fel. Klopt dat niet, dan de bedrading (het soldeerwerk) nog eens goed nakijken.
Afhankelijk van het OS (operating system) dat je gebruikt, zoek je uit op welke poort deze kabel gebruikt kan worden. Bij Windows doe je dat via Aparaat beheer (of, nog makkelijker, via het eerste commando hieronder). Bij Linux is "dmesg" een optie.
De volgende stap is het downloaden van de meest recente release van ESPTOOL via https://github.com/igrr/esptool-ck/releases en pak het gecomprimeerde bestand uit op een voor jou bekende locatie. Gebruik de onderstaande opdrachten om te flashen (bron: https://hobbytronics.com.pk/sonoff-original-firmware-backup-restore/).
Via de command line (Windows: Start[->] Run [->] cmd) of terminal venster type je de volgende opdrachten. Na elke opdracht
sluit je de usb-kabel opnieuw aan op je computer:
1. Toon de gebruikte com port --windows-- en de grootte van het flash geheugen. In de stappen hieronder gebruik je deze informatie. Dus, vervang COM3 door de poort uit deze stap en vervang de 0x100000 of 0x400000 met het juiste getal (aantal Mb's maal 100000).
esptool.py flash_id
2. Maak een backup van de huidge firmware, zodat je eventueel weer terug kunt naar de huidige functionaliteit van deze sensor:
Gebruik de COM poort uit stap 1 hierboven
bij 1MB Flash:
esptool.py --port COM3 read_flash 0x00000 0x100000 image1M.bin
bij 4MB Flash:
esptool.py --port COM3 read_flash 0x00000 0x400000 image4M.bin
3. Wis de firmware in deze sensor
esptool.py --port COM3 erase_flash
4. Download de firmware
esptool.py --port COM3 write_flash -fs 1MB -fm dout 0x0 tasmota-battery.bin
(selecteer de juiste MB grootte uit stap 1)
Zet de sensor weer in elkaar en plaatst de batterij. Zie hiervoor ook de bijsluiter welke meegeleverd wordt. Druk circa 5 seconden (of langer) op de reset knop. Het indicatie ledje moet nu snel knipperen.
Via de wifi netwerk instelling sluit je de PC/Laptop nu aan op een Access Point, waarvan de naam begint met Tasmota. In een web browser type je http://192.168.4.1.
Onder Host() vul je nu het IP adres in van je MQTT broker. Dit is meestal het IP adres van je Raspberry PI. De MQTT broker moet dan al wel geinstalleerd zijn. Is dat niet zo, volg dan de volgende stappen in het terminal venster van je Raspberri Pi:
• sudo apt-get update
• sudo apt install mosquitto mosquitto-clients
• sudo systemctl enable mosquitto
Port op 1883 laten staan
Gebruik de user en het password die je voor je Raspberry PI gebruikt
Bij Topic gebruik je een logische naam voor deze sensor
In Domoticz ga je nu naar de Hardware pagina (Setup -> Hardware).Hiervoor moet je het Access Point van de wifi weer terugzetten naar de router van de Internet Provider.
Onderaan deze pagina selecteer je bij "Type:" "MQTT Client Gateway with LAN interface".
Gebruik de user en password die je voor je Raspberry PI gebruikt.
Zie de afbeelding hiernaast voor de overige instellingen. Klik vervolgens op de knop "Add".

Nu ga je een virtuele schakelaar maken, die zal gaan reageren op deze sensor.
Ga opnieuw naar de hardware pagina en maak een dummy (Type:) aan. Bij "Name" vul je een naam in, waarmee je deze sensor binnen Domoticz gaat gebruiken.
Via Setup ga je vervolgens op de "Devices" pagina kijken om het IDX nummer van deze dummy te noteren. Op de afbeelding rechts heb ik de schakelaar "Schuursensor" genoemd en is de bijbehorende Idx dus 213.
Ga terug naar de hardware pagina van domoticz om daar je zojuist aangemaakte dummy terug te vinden. Op die regel klik je op de knop "Create virtual sensors".
Gebruik dezelfde naam voor deze virtuele switch als voor de dummy hardware. Nu kan je deze schakelaar terug vinden op de domoticz webpagina LightSwitches (met de lamp icoon).
Nu alles klaar staat in Domoticz, ga je weer terug naar het configureren van de sensor zelf. Verander het wifi Access Point dus weer naar Tasmota en kies weer voor IP adres 192.168.4.1 en druk de reset knop van de sensor in totdat het indicatielampje snel begint te knipperen.
Zolang deze snel knippert, is de sensor via het genoemde IP adres bereikbaar. Bij wijzigingen via deze website de save knop alleen indrukken als het indicatielampje snel knippert.
Pas nu de Domoticz parameters aan door bij "Idx 1" het eerder genoteerde Idx nummer in te vullen (in mijn geval zou dat 213 zijn). De overige waarden op 0 zetten. Druk dan op de knop Save.
Let op: Een aantal paragraphen hieronder beschrijf ik waarom je hier juist een "ongebruikte" Idx in zou kunnen vullen.
Op deze website (https://templates.blakadder.com/DP-WP001.html) staat een template. Als je met de muis binnen dat kader komt, klik op de knop "copy".
1) Plak de template door op de knop "Configure Other" te klikken.
2) Vervolgens "Main Menu" selecteren.
3) Selecteer "Console"
4) Op de templates.blakadder.com/DP-WP001.html website staat vervolgens vermeld dat je een rule1 gaat kopieren in de command line van de console.
Gebruik echter de onderstaande rule1:
Rule1 on TuyaReceived#data=55AA0002000001 do Power ON ENDON Rule1 1
5) Kopieer en plak daarna de volgende regels in de command line van de console:
SetOption59 1
SetOption66 1
PowerOnState 0
6) De sensor is nu klaar voor gebruik. Echter, de werking is nu tegenovergesteld aan de meeste andere sensors. De sensor zal nu een "0" waarde sturen.
In Domoticz, bijvoorbeeld door middel van Blocky, moet de switch/lamp op "1" worden gezet, zodat er dan gekeken kan worden of de sensor deze switch/lamp op "0" heeft gezet bij het detecteren van beweging.
Deze sensor reageert nogal traag (tussen 4- en 10 seconden). Dit komt vooral doordat na detectie van beweging, de wifi chip pas wordt ingeschakeld. Na het versturen van het bericht wordt de wifi chip weer uitgeschakeld en zal dan circa 5 minuten niet meer reageren. Zo is deze sensor ontworpen. Dit zorgt er wel voor dat de batterij lang mee zal gaan (naar verwachting).
Aanvankelijk reageerde de sensor goed bij mij, maar na verloop van tijd begon deze toch detecties te missen. Daarop heb ik bedacht op een andere manier in Domoticz de sensor status af te vragen.
Via deze site kun je een python script kopieren, waarmee je kunt zien of een bepaald ip adres online is. Kopieer het in een tekst editor (bijvoorbeeld gedit) en sla het op als "check_device_online.py" in de /home/pi/scripts map. Vervolgens moet Python en Arping geinstalleerd worden op de raspberry Pi. Open een terminal en gebruik de volgende commando's:
sudo apt-get install python
sudo apt-get install arping
sudo chmod +x /home/pi/domoticz/sripts/check_device_online.py
Enkele paragraphen hierboven staat aangegeven dat je bij de Tasmota Domoticz parameters bij IDX 1 het idx nummer van de sensor invult. Bij gebruik van deze methode moet dat juist niet en vul je een ongebruikte IDX in. Bekijk de devices pagina in Domoticz en zoek een niet gebruikte IDX op (of kies een hoog getal, zodat je geen problemen krijgt wanneer je nieuwe devices toevoegd). Het is bij deze methode namelijk niet de bedoeling dat de sensor op "0" wordt gezet bij detectie van beweging.
Gebruik de terminal om het volgende commando uit te voeren:
crontab -e
Dit opent een document waarin commando regels komen te staan die op reguliere basis moeten worden uitgevoerd.Voeg hierin het volgende commando regel toe:
*/1 * * * * sudo python ~/domoticz/scripts/check_device_online.py "ip adres van de sensor" "idx van de sensor" 1 0

Gebruik het karakter " vooral niet in de regel hierboven, alleen spaties. Deze regel zorgt er nu voor dat het aangegeven IP adres elke seconde wordt gescand en, indien aanwezig, het betreffende idx gedurende die tijd op "1" wordt gezet.