Gå til innhold
  • Bli medlem

Søk i nettsamfunnet

Viser resultater for emneknaggene 'script'.



Flere søkevalg

  • Søk etter emneknagger

    Skriv inn nøkkelord separert med kommaer.
  • Søk etter forfatter

Innholdstype


Kategorier

  • Generelt
    • Automasjonskaféen
    • Annen Elektronikk
    • Ditt system
    • Grafikk og design
    • Nettverk
    • Nybegynner
  • Bruksområder
    • A/V-kontroll
    • Belysning
    • Klimakontroll
    • Overvåking
    • Sikkerhet
    • Strømsparing og strøm-overvåkning
    • Talestyring
  • Systemer
    • Domoticz
    • Fibaro Home Center
    • Futurehome
    • HDL
    • Home Assistant
    • HomeKit
    • HomeSeer
    • Homey
    • Indigo Domotics
    • openHAB
    • Sensio
    • SmartThings
    • Telldus Live!
    • Vera
    • Z-Way
    • Zipato
    • Øvrige systemer
  • Teknologi / Protokoller
    • Blåtann
    • irDA
    • KNX
    • MQTT
    • RF
    • xComfort
    • Z-Wave
    • ZigBee
  • Utlån, kjøp og salg
    • Prisjakt
    • Kjøp / Salg
    • Powerbuy
    • Kommersielle tilbud
    • Utlån
  • Nettstedet
    • Kunngjøringer
    • Nyheter
    • Ris, ros og spørsmål om forumet

Blogger

  • En teknologisk hverdag
  • Enda en hobby?
  • Smånytt
  • en guide til elektro-verdenen

Kategorier

  • Nyheter
    • Produkter
    • Programvare
  • Tester
    • Systemer
  • Guider
    • Fibaro
    • HomeSeer
    • Nettverk
    • openHAB
    • Z-Wave

Finn resultater i...

Finn resultater som...


Startdato

  • Start

    Slutt


Sist oppdatert

  • Start

    Slutt


Filtrer etter antall...

Ble med

  • Start

    Slutt


Gruppe


Om meg


System

Fant 39 resultater

  1. Jeg ønsker å få til trinnvis belysning av trappetrinn på samme måte som her: https://kreativbelysning.no/butikk/trappebelysning/automatisk-trappebelysning Tenker følgende: - Bevegelsesdetektor i topp og bunn - 4 stk Fibaro rgbw hvor hver utgang er koblet til ett trinn - Lage et script som styrer rekkefølgen og tidsintervall på når hvert trinn tennes (hsp.WaitMS?) Utfordringen er at jeg aldri har laget et script før, og vet knapt nok hvordan det fungerer. Så mitt spørsmål er: hvordan skal et slikt script skrives? Setter stor pris på tips i riktig retning
  2. Hei, Ønsker å bruke fibaroen til å styre garasjeport. Jeg trenger da et rele som kan pulse. Har kjøpt en fibaro relè switch. som er koblet til inngangen på garasjeport åpneren. Er det noen som kan hjelpe meg å lage en virtual device, som har en knapp. Den knappen gir en puls på f.eks. 1sek. Samme pulsen kjører port opp å ned. Fin om noen kan hjelpe meg her =)
  3. EDIT: Ny versjon av scriptet, nå med mulighet for å sende med info fra en device i meldingen! Skrevet for IFTTT, men kan jo enkelt endres til hva som helst. Formål: Send pushvarsel til meg, samboer eller begge og evt bare hvis vi er hjemme/borte. Se scriptet: Guide for bruk: Først, registrer konto på IFTTT.com for begge brukere og last ned IFTTT-appen på telefonene til begge brukere. Lag en "applet" med "Maker" som "This", den skal ha "event name" satt som "notify". "That" skal fortsatt være "Notification", men den skal ha "{{Value1}}" som innhold (settes inn via "ingredient"-knappen). I scriptet må man legge inn API-key for begge brukere. Det er siste del av URL man finner her: https://ifttt.com/services/maker/settings I HomeSeer trenger du 2 devicer som sier om hver av dere er hjemme eller ikke. Jeg bruker PHLocation-plugin og har satt opp "home location": Da får man en device hver som er enten "Near" eller "Not near" "hjemme": I scriptet må man sette IDen til "near"-devicene. "isHomeValue" settes til "1" og "isAwayValue settes til "0" hvis man bruker PHLocation ("Near" er verdi 1 og "Not near" er verdi 0). Eksempel: Parameter her er: "3|0|Warning: %name% is at %value%!|300" Det vil føre til at jeg får varsel uansett, hun vil ikke motta varsel og teksten vil være "Warning: %name% is at %value%!" (hvis device 300 er en temp.sensor, så kan teksten bli f.eks: "Warning: Fryser is at -5!".
  4. Jeg begynte på dette prosjektet fordi jeg hadde glemt å følge med på trykkmåleren for varmtvann til radiatorene i huset. Rørleggeren som så at det var nesten ikke vann i systemet lurte på om jeg hadde veldig god råd siden jeg risikerte å ødelegge hele systemet. Klok av skade så begynte jeg å drodle opp en løsning for å kunne automatisere overvåkningen siden tanken og måleren er i ett rom jeg ikke går ofte inn i (og selv når jeg er der så glemmer jeg å sjekke status). Tidligere har jeg laget overvåkning av elektrisitetsmåleren på loftet og jeg begynte med en lignende løsning. Foran måleren monterte jeg ett wifi webkamera med ir (jeg gikk for DLink DCS932L, men her er det sikkert mange som fungerer like bra). Dette kameraet kan man sette opp til å sende via ftp. Jeg sender ett bilde til en ftp-server som jeg har på en windowsserver (den magiske serveren som drar alt her i huset). Det tas ett nytt bilde ca hvert 5 minutt og det overskriver det eksisterende bildet siden jeg ikke trenger noe historikk. "Råbilde" På serveren har jeg en windows service som følger med på folderen som bildet legges inn i. Ved en ny eller endret jpg-fil begynner denne servicen å jobbe. Jeg bruker her ett gratis bibliotek som heter OpenCv til å undersøke bildet. Jeg har valgt veien via templates, mens en som kan bildebehandling sikkert ville brukt forskjellige andre funksjoner. I første omgang leter jeg igjennom bildet etter selve måleren ved hjelp av en mal og "klipper" ut den hvis jeg finner den. "Målermal" Etter litt bildebehandling sitter jeg igjen med. "Måleren" Etter dette bruker jeg en mal basert på måler nålen i ønsket posisjon og tester mot utklippet bilde. Jeg roterer malen slik at jeg tester for alle 360 grader. Det "treffet" som har høyest sannsynlighet tas vare på og lagres ned i en database. "Mal for målernål i ønsket posisjon (rotasjon 0 grader)" For å få dette over i Homeseer så har windows servicen en liten webserver basert på NancyFx som har kun en side som vises på localhost. Her kommer data som en semikolon separert streng hvor man har datanavn=data. Jeg prøvde å gjøre dette litt bedre med json i starten, men ble stående fast og gikk for en enkel løsning hvor data kommer som en tekststreng. Mulig jeg skal se på dette ved en senere anledning, men det er ingen hast siden dette er noe som kun brukes lokalt på min server. CS-scriptet kjøres hvert 20 minutt og henter ut data fra windows service. Veldig enkle greier som henter ut rotasjon i grader, sannsynlighet og bildets dato/tid og dette legges inn i hardkodede deviceId (virtuelle devicer). (Og man må jo lage seg 3 devicer i Homeseer som skal motta verdiene) Jeg har en event som sjekker om rotasjonen er over +/-10 grader. Hvis det skjer så får jeg en melding på sms. "Oversikt i Homeseer" Script for å hente tall fra windows service I tillegg er det en windows service som er veldig spesifikk for meg. Hvis det er interresse så kan jeg prøve å lage noe mer generelt som folk kan leke med. Link til kildekode: https://github.com/oesolberg/MeterReaderService Link til zip-fil med service ferdig kompilert (23 MB pakket, 65 MB utpakket). http://bit.ly/MeterReaderHjemmeAutomasjon Hvordan å installere: Pakk ut alle filene i en egnet katalog (f.eks. c:\program files\meterreader) bruk Powershell og skriv inn følgende kommando : new-service -Name MeterReaderService -DisplayName "MeterReaderService" -Description "MeterReaderService" -BinaryPathName "c:\program files\meterreader\MeterReaderService.exe" -StartupType Manual For å starte service kan du kjøre kommando (i powershell): start-service -name "MeterReaderService" For å endre litt på hva som skal overvåkes må du inn og editere i MeterReaderService.exe.config filen. Følgende er nå satt: <add key="folder" value="C:\temp\warmwater\" /> <!- Hvilken folder som overvåkes --> <add key="filter" value="*.jpg" /> <!- Hvilken filtype man skal trigge på (men her er jeg redd at det kun fungerer med jpg-filer) --> <add key="sleepinterval" value="2000"/> <!- Antall millisekunder man skal vente fra en fil har endret seg til man begynner å behandle den --> <add key="port" value="1234"/> <!- porten til Nancy webserver - url http://localhost:1234 --> <add key="MaalerMal" value="MeterMalWithGray.jpg" /> <!- filen som inneholder målermalen (må ligge i underkatalogen Templates) --> <add key="NaalMal" value="KorrektNaalMedGraatt.jpg" /> <!- filen som inneholder målernålen (må ligge i underkatalogen Templates) -->
  5. GrandbeingMX0404.vb Script for å styre en Grandbeing MX0404 HDMI matrise. Lager en root med tilhørende child-devicer for hver utgang hvor man kan trykke på de forskjellige inngangene. Alt i et script, men dette blir nok en plugin på sikt (der er det lettere å få til en autorefresh, og sånt). '© Moskus 2014 Dim Scriptname As String = "GrandbeingMX0404.vb" Dim hdmi_outputs() As String = {"None", "TV", "SageTV", "Xbox", "Extra"} Dim ip_address As String = "192.168.0.39" Public Sub Main(parm As Object) End Sub Public Sub Setup(parm As Object) 'Setting up devices 'Creating master device Dim dt As New HomeSeerAPI.DeviceTypeInfo Dim devref As Integer = hs.NewDeviceRef("Root") Dim dv As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(devref) Try dv.Location(hs) = "HDMI matrix" dv.Location2(hs) = "Media" dv.Device_Type_String(hs) = "HDMI root" dv.DeviceType_Set(hs) = New HomeSeerAPI.DeviceTypeInfo dv.Status_Support(hs) = True dv.Can_Dim(hs) = False hs.SaveEventsDevices() dv.MISC_Set(hs, HomeSeerAPI.Enums.dvMISC.SHOW_VALUES) dv.MISC_Clear(hs, HomeSeerAPI.Enums.dvMISC.STATUS_ONLY) 'Adding a "Refresh" button to the root device hs.DeviceScriptButton_AddButton(devref, "Refresh", 0, Scriptname, "ButtonPress", "Refresh", 1, 1, 1) hs.SaveEventsDevices() Dim SVpair As New HomeSeerAPI.VSPair(HomeSeerAPI.ePairStatusControl.Status) SVpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue SVpair.Value = 0 SVpair.Status = "HDMI matrix" hs.DeviceVSP_AddPair(devref, SVpair) Dim VGpair As New HomeSeerAPI.VGPair VGpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue VGpair.Set_Value = 0 VGpair.Graphic = "images/Moskus/icon_hdmi.png" hs.DeviceVGP_AddPair(devref, VGpair) hs.WriteLog("HDMI matrix", "Root device for HDMI matrix created") Catch ex As Exception hs.WriteLog("HDMI matrix", "Error creating root device: " & ex.Message) End Try 'Creating child devices dv.Relationship(hs) = HomeSeerAPI.Enums.eRelationship.Parent_Root For i As Integer = 1 To 4 Dim childref As Integer = CreateOutputDevice(i, devref) If childref > 0 Then dv.AssociatedDevice_Add(hs, childref) Next End Sub Public Function CreateOutputDevice(ByVal output As Integer, masterdevice As Integer) As Integer 'Creating device Dim dt As New HomeSeerAPI.DeviceTypeInfo Dim devref As Integer = hs.NewDeviceRef("Output " & output) Dim dv As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(devref) Try dv.Location(hs) = "HDMI matrix" dv.Location2(hs) = "Media" dv.Device_Type_String(hs) = "HDMI out " & output dv.DeviceType_Set(hs) = New HomeSeerAPI.DeviceTypeInfo hs.SaveEventsDevices() dv.Status_Support(hs) = True dv.Can_Dim(hs) = False dv.MISC_Set(hs, HomeSeerAPI.Enums.dvMISC.SHOW_VALUES) dv.MISC_Clear(hs, HomeSeerAPI.Enums.dvMISC.STATUS_ONLY) dv.Relationship(hs) = HomeSeerAPI.Enums.eRelationship.Child dv.AssociatedDevice_Add(hs, masterdevice) dv = Nothing hs.WriteLog("HDMI matrix", "Test Device for output " & output & " created") Catch ex As Exception hs.WriteLog("HDMI matrix", "Error creating devices: " & ex.Message) Return 0 End Try Dim SVpair_off As New HomeSeerAPI.VSPair(HomeSeerAPI.ePairStatusControl.Status) SVpair_off.PairType = HomeSeerAPI.VSVGPairType.SingleValue SVpair_off.Value = 0 SVpair_off.Status = "None" hs.DeviceVSP_AddPair(devref, SVpair_off) Dim VGpair_off As New HomeSeerAPI.VGPair VGpair_off.PairType = HomeSeerAPI.VSVGPairType.SingleValue VGpair_off.Set_Value = 0 VGpair_off.Graphic = "images/Moskus/icon_hdmi_X.png" hs.DeviceVGP_AddPair(devref, VGpair_off) 'Adding buttons, values and graphic For i As Integer = 1 To 4 hs.DeviceScriptButton_AddButton(devref, output & "-" & i, i, Scriptname, "ButtonPress", output & "-" & i, 1, i, 1) Dim SVpair As New HomeSeerAPI.VSPair(HomeSeerAPI.ePairStatusControl.Status) SVpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue SVpair.Value = i SVpair.Status = "Input " & i hs.DeviceVSP_AddPair(devref, SVpair) Dim VGpair As New HomeSeerAPI.VGPair VGpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue VGpair.Set_Value = i VGpair.Graphic = "images/Moskus/icon_hdmi_" & i & ".png" hs.DeviceVGP_AddPair(devref, VGpair) Next Return devref End Function Public Sub ButtonPress(Input As Object) Dim devref As Integer = Input(0) Dim ButtonName As String = Input(1) Dim output As String = String.Empty 'Gets filled by GetURLIE Dim device As Integer = 0 Dim master As Integer = hs.GetDeviceParentRefByRef(devref) If master = 0 Then master = devref Dim dv As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(master) For Each devid As Integer In dv.AssociatedDevices(hs) Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(devid) Select Case dev.Device_Type_String(hs) Case Is = "HDMI root" device = 0 Case Is = "HDMI out 1" device = 1 Case Is = "HDMI out 2" device = 2 Case Is = "HDMI out 3" device = 3 Case Is = "HDMI out 4" End Select Next Dim command As String = "Refresh" If device > 0 Then Dim value As Integer = hdmi_outputs.ToList.IndexOf(ButtonName) command = device & "-" & value End If Select Case command Case Is = "Refresh" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=refrash", True) '"refrash" is actually not a typo on my part... Case Is = "1-1" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a09", True) Case Is = "1-2" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a1D", True) Case Is = "1-3" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a1F", True) Case Is = "1-4" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a0D", True) Case Is = "2-1" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a17", True) Case Is = "2-2" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a12", True) Case Is = "2-3" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a59", True) Case Is = "2-4" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a08", True) Case Is = "3-1" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a5E", True) Case Is = "3-2" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a06", True) Case Is = "3-3" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a05", True) Case Is = "3-4" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a03", True) Case Is = "4-1" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a18", True) Case Is = "4-2" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a44", True) Case Is = "4-3" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a0F", True) Case Is = "4-4" output = hs.GetURLIE("http://" & ip_address & "/get_data?type=port&cmd=a51", True) End Select InterpretOutput(devref, output) End Sub Public Sub InterpretOutput(ByVal devref As Integer, ByVal output As String) 'output: Output1=1Output2=1Output3=1Output4=1 Dim data(3) As Integer data(0) = CInt(output(8).ToString) data(1) = CInt(output(17).ToString) data(2) = CInt(output(26).ToString) data(3) = CInt(output(35).ToString) Dim master As Integer = hs.GetDeviceParentRefByRef(devref) If master = 0 Then master = devref Dim dv As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(master) For Each devid As Integer In dv.AssociatedDevices(hs) Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(devid) Select Case dev.Device_Type_String(hs) Case Is = "HDMI out 1" If hs.DeviceValue(devid) <> data(0) Then hs.SetDeviceValueByRef(devid, data(0), True) Else hs.SetDeviceValueByRef(devid, data(0), False) End If Case Is = "HDMI out 2" If hs.DeviceValue(devid) <> data(1) Then hs.SetDeviceValueByRef(devid, data(1), True) Else hs.SetDeviceValueByRef(devid, data(1), False) End If Case Is = "HDMI out 3" If hs.DeviceValue(devid) <> data(2) Then hs.SetDeviceValueByRef(devid, data(2), True) Else hs.SetDeviceValueByRef(devid, data(2), False) End If Case Is = "HDMI out 4" If hs.DeviceValue(devid) <> data(3) Then hs.SetDeviceValueByRef(devid, data(3), True) Else hs.SetDeviceValueByRef(devid, data(3), False) End If End Select Next End Sub Gir:
  6. Lar deg sette en vilkårlig device som Root med vilkårlige devicer som Child Devices. Parameter: RooTID|child1ID,child2ID,etc Sub Main(ByVal params As String) Dim lines() As String = params.ToString.Split("|") Dim rootRef As Integer = lines(0) Dim children() As String = lines(1).Split(",") Dim rootDevice As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(rootRef) rootDevice.Relationship(hs) = HomeSeerAPI.Enums.eRelationship.Parent_Root Dim childDevice As Scheduler.Classes.DeviceClass For Each c As Integer In children childDevice = hs.GetDeviceByRef(c) rootDevice.AssociatedDevice_Add(hs, c) childDevice.Relationship(hs) = HomeSeerAPI.Enums.eRelationship.Child childDevice.AssociatedDevice_Add(hs, rootRef) Next End Sub
  7. For å teste meg litt så satte jeg igang med ett script (c#) for å hente badetemperaturer fra yr. Yr legger alle badetemperaturer ut som en xml fil på adressen http://om.yr.no/badetemperatur/badetemperatur.xml Jeg har laget en liten scriptsnutt som henter ned xml, plukker ut fylket. Løper igjennom alle temperaturer for fylket og gir ett snitt. Grunnen til at jeg kan ta for hele fylket er at så lenge jeg har fulgt med så har Østfold kun fått varsling for 2 steder og begge er på Jeløya. Og siden det er der jeg bor så tenkte jeg i utgangspunktet å ta snittet. Mulig jeg kommer til å flikke mer på scriptet etterhvert for i tillegg å plukke ut høyeste og laveste. Hva gjør man for å bruke dette scriptet? Først lager du en virtual device Og i den spesifiserer du ett navn, setter den som Status Only Device Setter grafikk hvis det interresserer deg Og til slutt går inn på advanced (jeg er usikker på om ID er laget idet man trykker for ny device eller om du må inn etter at du har lagret første gangen). Det som er viktig her er Reference ID. Legg til scriptet under i homeseer sin scriptkatalog (hos meg er den å finne i C:\Program Files (x86)\HomeSeer HS3\scripts). Filen må ha endelse/extension .cs. I mitt tilfelle har jeg kalt det YrBadetemperatur.cs som gir full path: C:\Program Files (x86)\HomeSeer HS3\scripts\YrBadetemperatur.cs using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Xml; public object Main(object[] Parms) { int virtualDeviceId = 154; //Virtuell device reference id som man har definert for å legge inn tekstverdien fra yr string countyId = "01"; //Hvilket fylke man skal hente inn verdier fra string logName="GuahtdimYrBade";//Her kan man sette inn hva man vil. Det er første kolonne i loggen hs.WriteLog(logName,"Start Yr badetemp" ); System.Net.WebRequest webRequest = System.Net.WebRequest.Create(@"http://om.yr.no/badetemperatur/badetemperatur.xml"); System.IO.Stream content; System.Net.WebResponse response = webRequest.GetResponse(); //Håndtere gzip av content if (((System.Net.HttpWebResponse)response).ContentEncoding =="gzip") { content = new System.IO.Compression.GZipStream(response.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress); } else { content = response.GetResponseStream(); } System.IO.StreamReader reader = new System.IO.StreamReader(content); string strContent = reader.ReadToEnd(); if (strContent.Length > 0) { int startPoint = strContent.IndexOf("\n", StringComparison.InvariantCulture) + 1;//Fjerner første xml linje <?xml version="1.0" encoding="UTF-8"?> strContent = strContent.Substring(startPoint); System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument(); xmlDocument.LoadXml(strContent); System.Xml.XmlNode ostfoldNode = xmlDocument.SelectSingleNode("//badetemp/badetemperaturer/county[@id='" + countyId + "']"); if (ostfoldNode != null) { System.Xml.XmlNodeList tempNodes = ostfoldNode.SelectNodes("//county[@id='" + countyId + "']/place/temperature"); if (tempNodes != null) { int totaltTemp = 0; int counter = 0; //Henter inn alle vanntemperaturer for fylket og gjør det mulig å lage snitt foreach (System.Xml.XmlNode tempNode in tempNodes) { System.Xml.XmlAttribute test = tempNode.Attributes["water"]; totaltTemp += int.Parse(test.Value); counter++; } decimal avgTemp =(decimal) (totaltTemp/counter); string badeTempString = "Vanntemperatur Jeløya(snitt): " + avgTemp.ToString("0.0") + "\u00B0C"; hs.SetDeviceString(virtualDeviceId,badeTempString,true); //string stringValue=hs.DeviceString(virtualDeviceId); //hs.WriteLog("From device", stringValue); hs.WriteLog(logName,badeTempString ); } } } hs.WriteLog(logName,"Done" ); return 0; } Etter dette bør du lage en event som tar seg av innhenting av verdier. Jeg har gjort det som bildet under viser Det er bare å komme med spørsmål og ønsker.
  8. Nexst

    ooouups

    Mistenker at jeg har driti på draget, eller hva man skal si. jeg har prøvd å legge inn andre dashboards, for å finne et jeg liker bra. men nå har jeg rotet til det såpass at main domoticz (custom.js) har blitt likt noen av de andre dashboardsa. så nå får jeg ikke åpnet orginal index.html noen forslag? sliter litt her nå gitt.. prøvd å lete meg frem etter backup også. har vel egentlig tatt backup før men,, aner ikke hva jeg skal gjøre.
  9. Et script jeg bruker til å sjekke om hvilke dører eller vinduer som er åpne, og sender en email/push-melding med den beskjeden på egnede tidspunkter (som f.eks. når alarmen blir skrudd på eller huset går over i natt-modus). Du må endre (minst) tre linjer, og det er hhv. "Dim rfxcom() as Integer..." og "Dim zwave() as integer..." og nederst "hs.SendEmail...". Jeg sender push-meldinger til Pushalot og/eller PushSafer (hvor sistnevnte snart får en plugin). CheckDoorsAndWindows.vb Sub Main(ByVal input As Object) Dim lst As New System.Collections.Generic.List(Of String) Dim closedStatus As Integer = 100 'RFXCOM devices Dim rfxcom() As Integer = {41, 1188, DINE RFXCOM-SENSORER HER KOMMASEPARERT} closedStatus = 2 For Each d As Integer In rfxcom If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next 'Zwave devices Dim zwave() As Integer = {450, 545, DINE Z-WAVE-SENSORER HER KOMMASEPARERT} closedStatus = 255 For Each d As Integer In zwave If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next If lst.Count > 0 Then Dim msg As String = "Følgende vinduer er åpne: " & vbNewLine msg &= String.Join(vbNewLine, lst) hs.SendEmail("TIL_HVEM@epost.com", "FRA_HS#@epost.com", "", "", "HS3: Åpne vinduer/dører!", msg, "") Else hs.WriteLog("Vindu/dører", "Alle er lukket") End If End Sub
  10. Med @Fermate og min forestående plugin for Smarter Coffee og iKettle, kan man bruke Alexa til å sette i gang kaffekokingen. @Fermate har allerede laget et glimrende oppsett med direkte integrasjon mot devicene til plugin'en, men jeg ville se litt nærmere på hvordan jeg kunne bruke scripts sammen med Alexa. Det gir enda flere muligheter med tanke på spørsmål og svar. Dette brukes sammen med Jon00s Alexa Helper. Husk å oppdatere "cupsDeviceRef", "strengthDevRef" og "brewDevRef". Alexa_CoffeeHelper.vb 'Moskus 2017 Function SetCups(ByVal speech As String) As String hs.WriteLog("CoffeeHelper SetCups", "Input received: '" & speech & "'") Dim cupsDeviceRef As Integer = 1475 Dim number As Integer = 0 Dim success As Boolean = Integer.TryParse(speech, number) Dim answer As String = "" If success Then hs.CAPIControlHandler(hs.CAPIGetSingleControl(cupsDeviceRef, True, number & " cups", False, False)) answer = number & " cups selected. " Else hs.CAPIControlHandler(hs.CAPIGetSingleControl(cupsDeviceRef, True, 6 & " cups", False, False)) answer = "I didnt' understand " & speech & " so I selected 6. " End If Return answer & "Do you want weak, normal, or strong coffee?" End Function Function SetStrength(ByVal speech As String) As String hs.WriteLog("CoffeeHelper SetStrength", "Input received: '" & speech & "'") Dim strengthDevRef As Integer = 1476 If speech.ToLower = "weak" OrElse speech.ToLower = "normal" OrElse speech.ToLower = "strong" Then hs.CAPIControlHandler(hs.CAPIGetSingleControl(strengthDevRef, True, speech, False, False)) Return speech & " coffee comming up. I'm ready. Are you?" Else hs.CAPIControlHandler(hs.CAPIGetSingleControl(strengthDevRef, True, "normal", False, False)) Return "I didn't get that, so strength is set to normal. Do you still want to brew coffee?" End If End Function Function BrewCoffee(ByVal speech As String) As String hs.WriteLog("CoffeeHelper SetStrength", "Input received: '" & speech & "'") Dim brewDevRef As Integer = 1474 If speech.ToLower = "yes" Then hs.CAPIControlHandler(hs.CAPIGetSingleControlByUse(brewDevRef, HomeSeerAPI.ePairControlUse._On)) Return "Brewing coffee!" Else Return "Cancelling coffee brewing." End If End Function Oppsett i Jon00 Alexa helper sine sider: Primary trigger: Response trigger #1: Response trigger #2: Response trigger #3: Voilá!
  11. Hei, Er det noen som er gode på programmering som kan hjelpe meg med en måte å sette polling interval for en device med et script? På forhånd takk for hjelp!
  12. Jeg har en Z-wave dørsensor, som virker som den skal. Det jeg er ute etter, er å lage en device som kan gi med tidsdata på siste endring. Sensoren gir jo et 'tidsstempel' "Last Change" i Device List. Det jeg har gjort er å lage en virituel enhet som jeg ønsker å gi verdien til dørsensorens 'tidsstempel'. Ønsker å kjøre dette i en Event, med "Only allow a single intance to run at a time" Dette setter vel en verdi til en device hs.setdevicevaluebyref(913, ett eller annet) Tror dette skal gi meg tidsstempelet' hs.DeviceLastChangeRef(802) Her er 913 den virituelle enheten, og 802 enheten som får 'tidsstempel' Har pøvd på &hs.setdevicevaluebyref(913, hs.DeviceLastChangeRef(802)) Men det gir meg Running script(2) &hs.setdevicevaluebyref(913, hs.DeviceLastChangeRef(802)), init error: Ugyldig prosedyrekall eller argument: 'hs.setdevicevaluebyref' Noen med scriping-kompetanse som kan hjelpe?
  13. RandomValue.vb Setter en eller flere lamper eller en av flere RGB-devicer til en vilkårlig verdi. Festlig for ungene hvis det brukes på en RGB-lampe/stripe! Parameter: 100,101,102 ... der 100-102 er device ref'er til f.eks R, G og B for en led-stripe. Eller helt uavhengige lamper. Sub Main(ByVal input As Object) '© Moskus Dim generator As New Random Dim devices() As String = input.ToString.Split(",") For Each d As String In devices Dim ref As Integer = CInt(d.Trim) Dim newValue As Integer = generator.Next(0, 99) Dim CAPIcontrol As HomeSeerAPI.CAPIControl = Nothing For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(ref) If newValue = cc.ControlValue Then CAPIcontrol = cc Exit For End If Next If CAPIcontrol IsNot Nothing Then hs.CAPIControlHandler(CAPIcontrol) CAPIcontrol = Nothing Else hs.WriteLog("RandomValue script", "CAPI not found for random value " & newValue & " on device " & ref) End If Next generator = Nothing End Sub
  14. SmartToggle.vb "Toggler" en device mellom "Off" og "On Last Level" hvis den finnes (altså er en Z-wave device). Kun mellom "Off" og "On" ellers. Parameter: 400 ... der 400 er device ref til device'n du vil toggle. Public Sub Main(ByVal input As Object) '© Moskus 2015 Dim control As String = input Dim devicevalue As Double = hs.DeviceValueEx(control) Dim capi As HomeSeerAPI.CAPIControl = Nothing If devicevalue = 0 Then 'device is off, so let's trigger "On Last Level" if it exists on the device, and just "On" capi = hs.CAPIGetSingleControl(input, True, "on last level", False, False) If capi Is Nothing Then '"On last Level" wasn't found, so we need to find "On" capi = hs.CAPIGetSingleControl(input, True, "on", False, False) End If Else 'The device is on, so let's turn it offf capi = hs.CAPIGetSingleControl(input, True, "off", False, False) End If If capi IsNot Nothing Then hs.CAPIControlHandler(capi) Else hs.WriteLog("SmartToggle", "Could not execute CAPIcontrol, it's nothing! (Input device value: " & devicevalue & ")") End If End Sub Eventet ser da slik ut:
  • Medlemsstatistikk

    3 790
    Totalt antall medlemmer
    846
    Flest pålogget
    oeh
    Nyeste medlem
    oeh
    Ble med
×
×
  • Opprett ny...