Powershell modul Vera

Håller nu på att skapa en Powershell modul för att hantera Vera / Micasaverde. Orsaken till att jag gör en modul är för att kunna integrera mer saker med veran, exempelvis Outlook och Google kalendrar. Jag kommer att uppdatera tråden allt eftersom jag utvecklar modulen. Jag hoppas på att få till många roliga och behövliga funktioner i Modulen.

powershell-logo

Är det någon som tycker detta är ett bra initiativ eller har en bra idé på funktionalitet som borde finnas i modulen så lägg gärna en kommentar.

Jag bygger modulen på en Windows 8.1 med Powershell V4, modulen bör fungera på Windows 7, Windows 2008 r2 eller nyare så länge Powershell V3.0 finns installerad. Powershell V3.0 finns att hämta här

För tillfället så har modulen full möjlighet att läsa ut alla enheter och returnera dessa som objekt i Powershell. Objekten kan konsumeras av andra script mycket enkelt. Funktionen för att hämta ut objekten är inte optimerad alls! Jag kommer att göra det allt eftersom jag skriver modulen.

Modulen skapades: 2014-12-26  – Initial version 0.5

Nuvarande version: V1.1  /  Uppdaterades – 2015-02-06

V1.1 – Läs mer här: Nyheter

Nuvarande funktionalitet i modulen:

  • Hämta alla objekt ur Vera och skapa objekt av dessa i Powershell – (V0.5) Check
  • Konvertera Verans UNIX tidsformat till ett läsbart format – (V0.6) Check
  • Läsa upp information med hjälp av Windows inbyggda röst API – (V0.6) Check
  • Läsning av RSS Feed från automatiserar.se – (V0.7) – Check
  • Uppdatering av scriptet via scriptet – (V0.8) – Check
  • Sökning efter en givare i veran – (V0.8) – Check
  • Städning, optimering och buggfix – pågående

Funktioner jag hoppas på att göra till modulen

  • Byta scener via script.
  • Uppdatera värden på specifika enheter via script.
  • Definiera datatyper på objekten som returneras.
  • Skapa givare i Veran.
  • Ta bort givare i Veran.
  • Uppdatera givare i Veran.
  • Enklare XAML gui där alla enheter med status listas.
  • Hantera inloggning och kommunikation från externt nätverk.
  • Hantera inloggning till veran. – (V0.9) – Check (2014-12-30)
  • Integration mot Outlook och Google kalender.

Kända problem:

  • Vera med UI5 ser inte ut att fungera med kommandot get-MJ-VeraStatus för tillfället. (V1.0) – Check (2014-01-02)

Hur installerar du modulen på din dator:

  1. Ladda ner filen som ligger längst ner i tråden, spara den med namnet automatiserar.psm1
  2. Om du är säker på att du vill ha modulen oavsett vilket konto som kör på datorn, skapa en mapp under sökvägen ”C:\Program Files\WindowsPowerShell\Modules”, döp mappen till Automatiserar. I mappen sparar du filen ”Automatiserar.psm1”
  3. Beroende på hur du har ställt din säkerhet i Powershell så kan det krävas att du ändrar executionpolicy till en mindre strikt för att testa modulen.
    1. Detta görs genom att öppna Powershell som administratör och skriv ”Set-ExecutionPolicy RemoteSigned” alternativt ”Set-ExecutionPolicy Unrestricted
  4. Genom att öppna Powershell och skriva ”get-MJ-VeraStatus -veraIP 10.10.10.10”     ( ip adressen ska ändras till den du har på din vera enhet )

Resultatet nedan är hur ett av alla objekten ser ut.

PowershellModul-V1

 

 

 

 

 

 

 

 

 

Genom att skriva raden nedan så läses informationen om enhet 65 direkt från veran upp i datorns högtalare.

Send-MJ-Speak -message ”The Current temperature in your yard is $((get-MJ-VeraStatus | Where-Object {$_.EnhetsID -eq 65} | Select-Object CurrentTemperature).CurrentTemperature) degree Celsius”

Alla moduler jag skapar heter nått med MJ,  dvs  ”*action*”-MJ-”*vettigtNamn*”, detta för att inte krocka med befintliga namn som redan kan finnas i Powershell.

Följande funktioner finns idag i modulen.

  • Update-MJ-Module
  • Get-MJ-AutomatiserarModulen
  • Read-MJ-AutomatiserarRSSFeed
  • Send-MJ-Speak
  • get-MJ-VeraStatus

Följande textfil döps om till Automatiserar.psm1 och sparas i en mapp som heter Automatiserar

Powershell script: Automatiserar

Vill man inte använda hela modulen, utan bara nyttja vissa funktioner så fungerar även det. Kopiera funktionen ur scriptet och implementera det i egna script. delas funktionerna vidare så behåll en hänvisning hit till www.automatiserar.se om det är ok. 🙂

Som vanligt tänk igenom och kontrollera koden innan du kör den! Modulen körs på egen risk och innehåller inte någon signering av koden alls så jag kan inte garantera att den inte har blivit ändrad!

Jag kör själv modulen på all min utrustning och tycker att det fungerar riktigt bra! därför valde jag att skapade ett sätt att uppdatera modulen enkelt.

// Markus

1 reaktion på ”Powershell modul Vera”

  1. Pingback: Powershell modul Vera V1.3 | Vi Automatiserar.se

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *