Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon! 🥇🥈🥉

Moskus

Administrator
  • Innlegg

    16 883
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    811

Alt skrevet av Moskus

  1. Dumt spørsmål: Kan jeg få én Pi til å håndtere to RFXer? Gjerne på port 10001 og 10003, eller whatever.
  2. Ja, det er slik jeg leser det!
  3. Ja, det skulle ikke være noe problem å få dette idiotsikkert og stabilt så lenger du skriver all datan rett til ram-minne og ikke på minnekorte på Pien. Jeg har en gammel Raspberry Pi 1 Model B her som bare samler støv da den har blitt byttet ut med en Pi2, så denne kan nok fungere fint for dette formålet. Skal bryne meg på dette i morgen og kanskje skrive en guide Hurra! Jeg har også noen originale RPier i ymse formater liggende og slenge, så bare kjør på. Hva mener du nå? Det var mer et hjertesukk til Bert. Han finner det sikkert når han begynner å "lurke", jeg skal gi ham et hint om hjemmeautomasjon.no når vi åpner.
  4. Ah, fantastisk! Vurderer på å redusere antallet Belkin USB-over-Ethernet-bokser. Hr. Iblis Linux-guru, kan dette gjøres idiotsikkert, slik at det alltid starter opp? ... hvis det er så enkelt, hvorfor kan vi da ikke få et LAN-interface direkte, og oppe bukk over alle tullete USB-tilkoblinger?
  5. En Silex USB-over-IP sak og VPN?
  6. Nexa-dingser med dårlig batteri kan typisk bli en støykilde. Hvis du bruker MS13 X10 (trådløse) bevegelsessensorer, så kan de ødelegge for både deg og naboen hvis de har dårlige batterier. Marmitek-kontrollen likeså, men ikke like ille for den har ikke like stor antenne som MS13. Enkel løsning: Handle en diger bunke batterier på Clas, og bytt alt. Alternativer: WallC-2. Men den er litt
  7. Det gjør jeg også (men jeg bruker kun "morning", "day", "evening", og "night"), og det er det som setter basisen for hva lysene skal settes til (dimme-nivåer, hvor lenge de er på, om de skal reagere på bevegelse, etc). Så er det bare å lage automatikk på når de forskjellige "tidsstatusene" skal inntreffe. Jeg har det slik (i kortversjon): Morgen fra kl. 06:00 (når EightSleep-lakenet ankommer blir dette endret til: Person står opp etter kl. 05:30). Dag når Lux Ute er > 50. (Manuelt i helgene, for endring til "Dag" kjører opp rullegardiner på soverom også). Kveld når ungenes "sovelys" blir skrudd på (trykk på bryter kjører ned rullegardiner og på med bakgrunnstøy på det aktuelle soverommet, og aktverer lyd-triggeren etter 15 minutter med stillhet, da sover de). Natt når vi legger oss.
  8. Når du trigger eventet, må du også huke av for "Run Only If Other Event Conditions Are True".
  9. Hmmmm... OK, da. Må gjøre et nytt forsøk på sikt. Det jeg liker med Netcam Studio er at det krever relativt lite ressurser, noe Blue Iris ikke er like bra på. Men det kan ha endret seg.
  10. OK, mulig jeg får prøve det på nytt, kanskje jeg slipper å skrive en Netcam Studio-plugin selv.
  11. Det trodde ikke jeg heller. Men å finne en URL direkte til "siste stillbilde" fra et kamera fikk jeg ikke til (den gangen, er vel et par år siden nå).
  12. Ja, det var det helikopteret jeg skulle hatt...
  13. $60 er jo ikke noe særlig å spørre om. Det jeg irriterte meg mest over Blue Iris da jeg prøvde det, var at det skulle være så vanskelig å få til et fornuftig web interface og/eller mulighet til å bare vise et bilde (for integrasjon i HTML-sider eller HStouch). Har det blitt noe bedre?
  14. Typisk at det kjekke skjer på østlandet...
  15. Moskus

    ZUNO

    Fantastisk! Denne skal jeg ha! €55 er jo litt, da...
  16. Du må ha nytt hull i døra. Den passer ikke i norske dører uten videre... Venter også på IDlock.
  17. Solgte ikke du en til meg for en stund siden...? Jeg har ingen direkte behov for en selv akkurat nå, men mulig jeg kjenner noen.
  18. Ja, godt poeng! Jeg vil tippe de bruker samme hardware (Raspberry Pi med en Z-wave modul). Fermate, det kan være du da vil beholde den. Jeg skal se om jeg finner Z-NET imaget et sted, det må jo være tilgjengelig, ellers så har jeg jo en Z-NET å klone.
  19. ... har lyst på, men burde vel la det være...
  20. Ja, jeg har tenkt tanken. Har lurt på å skrive et par "komme i gang med scripting" poster, så det blir nok en del av det.
  21. Ah.... jäklar.
  22. HomeSeer som hovedsystem.
  23. 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
  24. 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:
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.