Tado geolocatie via Domoticz

Tado geolocatie via Domoticz

22 december 2021 0 Door Björn Meijer

Sinds ongeveer een jaar zijn wij in het bezit van Tado thermostaatkranen en ik kan wel zeggen dat wij hier zeer tevreden over zijn. De voordelen van de Tado-thermostaten zijn:

  • Eenvoudige installatie;
  • De temperaturen in elke ruimte is separaat instelbaar;
  • Eenvoudige bediening op afstand via de Tado-app.
  • Thermostaatkranen zijn in te stellen met kinderslot.
  • Luchtvochtigheid per ruimte wordt gemeten.
  • Klimaatcomfort wordt bijgehouden.
  • Tijdschema’s in te stellen via de app.
  • Regelmatig software updates met nieuwe functies.
  • API-functionaliteit.

Een (groot) nadeel van Tado is dat je moet betalen voor de geolocatie-functie. Deze functie zit in Auto-Assist waarvoor je een abonnement moet afsluiten. Aan de hand van geolocatie wordt automatisch de thermostaat uitgeschakeld indien iedereen van huis is. Voor een bedrag van circa € 25,00 per jaar kun je deze functie inschakelen. Voor een product waarbij je toch behoorlijk wat geld betaald verwacht ik dat dit erbij in zit.

Gelukkig is er voor Tado een plug-in gemaakt zodat je deze in Domoticz kan bedienen. In combinatie met de Life360 plug-in kun je de thermostaat automatisch in- en uitschakelen via geolocatie. Op de Github pagina staat uitgelegd hoe je de Life360 plug-in in Domoticz installeert.

Inhoudsopgave

Stap 1 – Installeer de Life360 plug-in

Installeer de Life360 plug-in. De stappen hiervoor staan uitgelegd op de Github pagina van de ontwikkelaar.

Stap 2 – Noteer de benodigde Idx-en van Life360

Heb je de Life360 plug-in correct geïnstalleerd, dan vind je deze terug in het hardware-overzicht.

Life360 plug-in Domoticz Hardware-overzicht
Life360 plug-in Domoticz Hardware-overzicht

Noteer de Idx van de aanwezigheid (in mijn geval 95) en van de locatie (96). Deze heb je straks nodig voor je dzVents-script.

Stap 3 – Noteer de benodigde Idx-en van Tado

Noteer de Idx van lichtschakelaar ‘verwaming ingeschakeld‘ (in mijn geval 16) en van lichtschakelaar thermostaat (H). Deze geeft aan of de thermostaat handmatig staat ingeschakeld of niet. In mijn geval is dit Idx 15.

Tado plug-in Domoticz Hardware-overzicht
Tado plug-in Domoticz Hardware-overzicht

Stap 4 – Let’s get ready to script

Ga naar Instellingen Gebeurtenissen.

Je kunt nu via de web omgeving scripts maken en aanpassen om apparaten in Domoticz te besturen.
Klik op dzVents Device.

Domoticz dzVents
Domoticz dzVents – nieuw script aanmaken

Als het goed is zie je nu onderstaande code in het tekstbewerkingsgedeelte van je scherm.

return {
	on = {
		devices = {
			'myDevice'
		}
	},
	logging = {
		level = domoticz.LOG_INFO,
		marker = 'template',
	},
	execute = function(domoticz, device)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_INFO)
	end
}

Pas het script aan naar onderstaand script.

return {
	on = {
		devices = {
			[95] = { 'between 07:00 and 22:00' }
		},
	},
	execute = function(domoticz, device)
	    if domoticz.devices(95)._state == 'Off' then
	        domoticz.devices(16).switchOff()    -- Vorstbeveiliging ingeschakeld
	    else 
            domoticz.devices(16).switchOn()     -- Vorstbeveiliging uitgeschakeld
	    end

    domoticz.log(domoticz.devices(96).name .. " is bij " .. domoticz.devices(96).state, domoticz.LOG_INFO)
    domoticz.log("Thermostaat woonkamer is ingesteld op " .. domoticz.devices(43)._state .. "ºC", domoticz.LOG_INFO)
	end
}

Stap 5 – Uitleg van het script

Het script zit als volgt in elkaar.

[95] = { 'between 07:00 and 22:00' }

Met { 'between 07:00 and 22:00' } wordt de voorwaarde gesteld dat deze tussen 07:00 en 22:00 uur geldig is. Het apparaat met Idx 95 is de schakelaar van de Life360 plug-in welke aangeeft of je thuis bent (On) of niet (Off). Vul hier de Idx in uit stap 2.

Indien aan alle voorwaarden is voldaan wordt de rest van het script worden uitgevoerd.

	execute = function(domoticz, device)
	    if domoticz.devices(95)._state == 'Off' then
	        domoticz.devices(16).switchOff()    -- Vorstbeveiliging ingeschakeld
	    else 
            domoticz.devices(16).switchOn()     -- Vorstbeveiliging uitgeschakeld
	    end

De voorwaarde if domoticz.devices(95)._state == 'Off' then controleert of Life360 aangeeft of je thuis (On) bent of niet (Off). Indien je niet thuis bent wordt met het commando domoticz.devices(16).switchOff() de verwarming uitgeschakeld. Vervang de 16 voor de Idx die je in stap 3 hebt genoteerd.
Ben je wel thuis, of kom je weer thuis, dan wordt de verwarming weer ingeschakeld met het commando domoticz.devices(16).switchOn().

domoticz.log(domoticz.devices(96).name .. " is bij " .. domoticz.devices(96).state, domoticz.LOG_INFO)
    domoticz.log("Thermostaat woonkamer is ingesteld op " .. domoticz.devices(43)._state .. "ºC", domoticz.LOG_INFO)

domoticz.log(domoticz.devices(96).name .. " is bij " .. domoticz.devices(96).state, domoticz.LOG_INFO) geeft in het logboek aan waar de gebruiker zich op dat moment bevindt. Pas Idx 96 aan naar de Idx welke je in stap 2 hebt genoteerd.

domoticz.log("Thermostaat woonkamer is ingesteld op " .. domoticz.devices(43)._state .. "ºC", domoticz.LOG_INFO) geeft aan waarop de thermostaat is ingesteld. Pas Idx 43 aan naar de Idx uit stap 3.