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

Moskus

Administrator
  • Innlegg

    16 873
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    807

Alt skrevet av Moskus

  1. Moskus

    Lage plugin selv

    Du kan returnere en "List(Of T)" der T er en type som String, Double, etc. T kan til og med være din egen klasse hvis du ønsker det. Tåpelig eksempel under. En funksjon tar imot en array av tall og dobler dem, og disse nye tallene blir returnert i en List(Of Double). Function DoubleTheseNumbers(ByVal numbers() As Double) As List(Of Double) Dim ret As New List(Of Double) For Each d In numbers ret.Add(d * 2) Next Return ret End Function Sub SomeSub() Dim nums() As Double = {0.1, 0.2, 0.3} Dim lst As List(Of Double) = DoubleTheseNumbers(nums) For Each d In lst Console.WriteLine(d) Next End Sub ... vil selvfølgelig gi: Hvis du sender inn en tom array av tall, får du en tom List(Of Double) tilbake, og dermed blir ingenting skrevet ut. Det nydelige med denne måten å gjøre det på er at lister kan brukes sammen med Linq. Og Linq er fantastisk! Hvorfor er Linq så genialt? Jo, fordi du kan gjøre spørringer på (bl.a.) lister, og det er opphavet til Lamda-funksjoner. Dermed kan du f.eks. redusere koden i "SomeSub" over til dette (der vi har kombinerer List, Linq og Lambda-funksjoner): DoubleTheseNumbers({0.1, 0.2, 0.3}).ForEach(Sub(x) Console.WriteLine(x)) .... som også vil gi:
  2. Moskus

    Lage plugin selv

    Riktig. Dette hadde jeg gjort: 1. Du setter child'en for Status blir satt til "Off" 2. SetIOMulti() blir trigget, og får Device Ref til devicen Status og tilhørende CAPI-trigger. 3. Du henter ut root-devicen sin ref (child devices har kun én assosisert device) og henter ut IDen fra PED (f.eks) eller device_subtype, eller noe slikt. 4. Nå har du både pod-IDen og kommando og kan sende en web-request, gjerne i en ny tråd (for å ikke låse plugin'en din mens kommandoen blir utført). 5. Den nye tråden venter på svar (til en timeout; la oss si 5-10 sekunder). Hvis success, så bruker du den vanlige "hs.SetDeviceValue(REF_TIL_STATUS, ON_VALUE_FEKS_100, True)"
  3. Neste år stiller Team Hjemmeautomasjon.no!
  4. Haha! Tror ikke jeg er flink nok med elektriske kretser til det.
  5. Moskus

    Lage plugin selv

    Nei, jeg tenker en root pr pod, og ferdig med det. En root representerer en pod. Er det ingen roots har du ingen pod'er i HomeSeer. Ja, hver root har sine respektive child-devices. HomeSeer lagrer assosiasjonene (altså hvis du har en root, får du device Ref til alle child devices), så det kan brukes direkte. Det er det.
  6. Du kan justere notifikasjoner på Kontoinnstillingene dine.
  7. Spennende! Kunne meg en automatisk søppelbøtte eller selvvannende drivhus.
  8. Okay. Du om det. Jeg vil uansett oppfordre alle til å oppdatere. Har du prøvd å trekke UZB1 ut fra maskinen? La den ligge 10 sekunder før du setter den inn igjen. Kanskje vi nå skal begynne med å ta en backup av Z-wave interfacet ditt før vi herjer noe mer? Hvor mange noder har du? Låser?
  9. Moskus

    Lage plugin selv

    Hvis du lagrer all nødvendig informasjonen i root, og henter accociated devices (altså child devices) fra den, så har du alt du trenger. For hver poll kjører du da For each root in Roots som illustrert i "CheckAndCreateDevices()". Her er min poll fra FitbitSeer: ''' <summary> ''' A timer to fetch new data every X minutes, configured in InitIO ''' </summary> ''' <remarks>By Moskus</remarks> Private Sub UpdateTimerTrigger(ByVal obj As Object) If Me.Settings.LogTimerElapsed Then Log("Timer elapsed. Updating Fitbit-data.") Dim devs = (From d In Devices() Where d.Interface(hs) = Me.Name _ And d.DeviceType_Get(hs).Device_SubType_Description.ToLower = "root").ToList For Each d In devs Dim ref As Integer = d.Ref(hs) Dim t As New Thread(AddressOf UpdateFitbitData) t.Start(ref) Next End Sub Private Sub UpdateFitbitData(ByVal rootref As Integer) Dim f As FitbitSetup = FitbitSetup.GetRootData(rootref) 'FitbitSetup er min egen klasse for å lese ut og tolke verdier fra Fitbit If f IsNot Nothing Then f.UpdateData(rootref) End If End Sub
  10. Her må noen av SmartThings-generalene arrestere meg, men jeg mener at SmartThings er 100% avhengig av skyen. Skru av internett og smarthuset ditt blir et dumt hus...
  11. Will do. Men i morgen.
  12. Moskus

    Lage plugin selv

    Ser jo bra ut! Da trenger du en root device (som bl.a. lagrer IDen), 5 child devicer for output (temp, humid, etc) og tilsvarende for det du skal styre. Hvilke controller har du? Mitt hovedtips er å lage et enkelt Console applikasjon i VB.NET. Når du kan lese ut data med det og sende kommandoer til varmepumpa, så er du klar for å lage en plugin.
  13. Hehehe!
  14. Meh. Ikke noe særlig spesielt, egentlig. Du ekskluderer noden. Da skal den fjernes. Eventuelt kan du prøve å velge en Import funksjon, da importerer HomeSeer de nodene som ligger i controller men ikke i HS. Bare husk å vekk Wall2C først, den skal gjøre de samme prosedyrene som ved en Add Node. MEN Interfacet ditt har jo en gul trekant? Det skal være et grønt "check" (en hake) hvis alt er vel. Får du noen feilmeldinger i loggen når du starter HS?
  15. Hmmm... men digitale utganger er kanskje å foretrekke hvis det skal styres vannbåren varme...?
  16. Ja, jeg talte porter nå. De er ikke like. Den danske modulen har 18 utganger nederst, Z-water har 24.
  17. Moskus

    Lyse Smartly

    Jeg vet ikke om "Tone" har dekning for å si om det fungerer eller ei, jeg har ikke sett den sertifisert noe sted, men det kan jo ha gått meg hus forbi. Den skal jo kunne styre både lys, temperatur og "er klargjort for lyd". På den annen side er visstnok listeprisen (dvs fra leverandør) over 4000 kr, så kan du legge på distributørens påslag og moms, så begynner vi å få et bilde over hva den koster.
  18. Jeg gjorde det på http://alexa.amazon.com
  19. Hmmm! Er ikke det Z-water da? For det er denne du snakker om: https://youcontrol.dk/dansk-z-wave-afbryder/z-wave-plus-dansk-z-wave-din-skinne-modul-til-lys-og-gulvarme-styring-lhc5020.html ... sant?
  20. Kan ta en kort oppsummering: FreePBX (en eller annen versjon, husker ikke) på en selvstendig virtuell maskin, men kan også kjøres på en RPi. Diverse Cisco-telefoner med SIP Et par andre SIP-telefoner Nevne dørtelefon. SPA-3201 for å kunne ringe ut/inn via Telio-adapteret For hver telefon lager du en (eller flere) extensions. På SIP-klientene rundt omkring bruker jeg to Extensions, en for intern ringing (intercom) med autoanswer på og en for samtaler utenfra (via SPA-3201). Hvis jeg ringer 133 så ringer jeg stua. Ringer jeg 233, så ringer jeg også stua men uten autoanswer.
  21. Hvis vi kan unngå PM på spørsmål andre kan lære av, så er jeg fornøyd.
  22. Definér "komponent". Tenker du på hardware eller software?
  23. Jepp. Og for å være ærlig: Det var ikke bare trivielt å sette opp, iallfall ikke for meg, for jeg kunne så lite om SIP og telefonsentraler fra før.
  24. Det lar seg jo gjore, JSON er jo bare strenger... Men det ER enklere med en plugin, skrik ut hvis du trenger hjelp. Øh... bare å laste prosjektet kræsjer VS? Det skal det ikke gjøre, jeg visste ikke engang det var mulig. Og det er alget med Visual Studio 2015, jeg har ikke testet det med 2017 men forventer at det fungerer prikkfritt som de andre prosjektene mine gjør.
  25. Det er det jeg også har gjort, og jeg anbefaler det på det høyeste. Jeg anser det som så til de grader viktig at det meldes om brann til alle uansett hvor de er så fort som over hodet mulig. Få alle i sikkerhet. Deretter kan du tenke på slukking.
×
×
  • 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.