Scripta mot Telldus Znet Lite på liknande sätt som Telldus DUO eller Tellstick!
Har nu använt Telldus ZNET Lite för att styra bland annat motorvärmaren via 433Mhz.
Efter att ha utforskat möjligheterna i Telldus Live tjänsten valde jag att fortsätta mitt system för hemautomation med Powershell. Vi har tidigare skrivit en recension på Telldus ZNET Lite.
Jag hittade tidigare en väldigt välskriven Powershell modul för Telldus Live på DollarUnderscore hemsida. Jag kontaktade honom och fick ok att inkludera koden i Powershell modulen för hemautomation, koden delar vi nu fritt på Github. Funktionerna för Telldus Live som DollarUnderscore har skrivit är tydligt uppmärkta i koden.
Fördelen med att nyttja modulen för att styra olika händelser i Telldus Live är många. Bland annat är det möjligt att hämta in information från andra externa datorkällor och nyttja den informationen för att styra enheter.
Guide på hur du lägger till modulen
För att lägga till modulen på din dator behövs följande 3 steg göras (tar ca 3 minuter att göra):
Skapa en mapp som heter ”Automatiserar” under sökvägen ”C:\Program Files\WindowsPowerShell\Modules\”
Spara den senaste versionen av modulen med namnet ”Automatiserar.psm1″ i mappen som heter ”Automatiserar”. Du kommer nu att få varning om att tillåta att filen ska skapas där, acceptera detta.
Ser det ut på följande sätt är det klart! modulen är nu ”installerad” och redo att användas!
Högerklicka på Powershell.exe och välj kör som administratör, Skriv ”Set-ExecutionPolicy remotesigned”, svara sedan ”Y” och tryck Enter. Detta tillåter moduler att köras lokalt.
Skriv följande rad ”Connect-TelldusLive” för att koppla upp mot Telldus Live, du kommer nu att få en inloggningsruta där du anger ditt konto till Telldus Live.
Om allt går ok så händer det inte något alls nu. Du kommer tillbaka till en tom rad när det är klart.
Nu är det möjligt att starta / stoppa enheter i Telldus live med några få rader:
Genom att skriver Get-TDDevice listas alla dina enheter i Telldus Live. Jag döljer DeviceID och lite annat genom att enbart visa delar av all information som finns. 
Genom att skriva Get-TDDevice | Set-TDDevice -Action turnOn aktiveras alla mina strömbrytare som Telldus styr. State nedan är nu ”ON” på allt förutom Strips sensorn (som är en dörrsensor).
Så spara du inloggningen
Varje gång Powershell startar på nytt behöver du ange behörigheterna igen… Lessnade på detta och byggde en extra funktion ”GET-TDCredential” till dom funktioner som Dollarunderscore redan byggt. Detta för spara lösenordet ”säkert” som en Secure string och möjliggöra automatisk inläsning av behörigheter varje gång jag behöver koppla upp mot Telldus Live.
Genom att skriva Get-TDCredential och ange behörigheten till Telldus live så sparas inloggningen lokalt. Detta gör det möjligt att med en mindre modifiering automatiskt ladda in behörigheten och koppla upp script.
För att kontrollera att behörigheterna sparats kör GET-TDCredentials igen, detta bör returnera ett användarnamn som är din epost samt ”system.Security.SecureString” som lösenord. Dina behörigheter finns sparade lokalt och delvis ”krypterat”.
I uppstarten av ett script räcker det nu med att skriva Connect-TelldusLive -Credential $(Get-TDCredential) för att koppla upp mot Telldus Live med ditt konto automatiskt.
Vad kan Telldus Znet Lite göra nu?
Från och med nu är det fantasin som sätter stopp med vad du kan göra med Telldus ZNET Lite!
Tänd belysning efter solens nedgång dynamiskt
Med hjälp av lite analysring av kod på en hemsida är det nu möjligt att hämta sol upp/ner. Funktionen Get-MJ-SolUppNer klarar av att lista 290 städer, genom att enbart skriva GET-MJ-SolUppNer listas alla städer. För att välja en stad skriver du Get-MJ-SolUppNer -Stad Sundsvall. Informationen hämtar jag från dinstartsida.se.
$deviceID = 12345 # ID på enheten som ska aktiveras / avaktiveras.
if ((get-date) -ge (Get-MJ-SolUppNer -Stad sundsvall).solned){Set-TDDevice -DeviceID $DeviceID -Action turnOn} else {Set-TDDevice -DeviceID $deviceID -Action turnOff}
Styrning av motorvärmare med temperatur från Vera lite
Exempel på delar av min styrning till motorvärmaren som sitter på en Nexa brytare. Koden hämtar temperaturen ur min Vera Lite och kontrollerar om det är under 5 grader och att klockan är efter 06.00 för att starta.
[decimal]$MinTemperatur = 5.00 # Antal Grader som det ska vara under för att starta.
[int]$myDeviceID = 123456 # device id inne i Telldus Live
[datetime]$starttid = "06:00" # ange hur mycket klockan minst måste vara.
if (([decimal](get-MJ-VeraStatus -FindThisDevice 63).CurrentTemperature) -le $MinTemperatur -and (Get-Date) -ge ($starttid))
{
"ON"
Connect-TelldusLive -Credential (Get-TDCredential)
Set-TDDevice -DeviceID $myDeviceID -Action turnOn
}
else
{
"OFF"
Connect-TelldusLive -Credential (Get-TDCredential)
Set-TDDevice -DeviceID $myDeviceID -Action turnOff
}
Har du någon idé på vad mer som skulle vara möjligt att styra med hjälp av modulen eller saknar du nått i modulen? hör av dig så kan jag kolla om det är nått jag kan bygga 🙂
// Ispep

I mer än 10 år har Markus Jakobsson delat med sig av erfarenhet inom smarta hem på bloggen. Markus har testa det mesta och lärt sig massor på vägen, kunskaper och erfarenheter han delat med dig här på bloggen.
Favoriter inom smarta hem just nu:
Xiaomi Mi Flora
Raspberry Pi 5
Homey
Home Assistant
Displayen LYWSD03MMC
Hoppas du uppskattade innehållet och fick nytta kunskapen vi delat med oss på Automatiserar.se.
Stort tack för att du tog dig tid att läsa vårt inlägg.
Med vänliga hälsningar Markus Jakobsson
Allt går att automatisera!

































Lämna ett svar