Moskus Skrevet 24. august 2019 Skrevet 24. august 2019 De som har lest HomeSeer-skolen vet at jeg er veldig opptatt av å holde orden i systemet sitt. Det er fordi da er det så mye enklere å finne frem når man skal automatisere. Det er lett å huske hva "Node 11 Switch Multilevel 1" er når man bare har 11 noder, men når man har mange er det selvfølgelig helt umulig. I HomeSeer er det lett å tilordne rom og etasje til enhetene dine, men det er tungvindt å gi selve devicene noe mer fornuftig valg. Jeg navngir enheter med "Enhet, device_type", slik at det f.eks. er "Taklys, Switch Multilevel 1" eller "Taklys, Power", og det har jeg frem til nå gjort manuelt fordi jeg legger til en og en node. Men tidligere i vår satte jeg opp et helt hus på et par dager, på over 60 noder. Da tar det altfor lang tid å gjøre det manuelt, og et script var på sin plass. Scriptet gjør at dette: ... enkelt kan forandres til dette (etter å ha også gitt dem nye etaskjer og rom): ... og dermed kan man med litt sjuling av "unødvendige enheter" ende opp med noe enklere: Det fungerer også på andre sensorer, bl.a. bevegelsessensorer og magnetbrytere. Før: Etter: Bruk Måten det gjøres på er at root-devicen navngis med navnet du har tenkt å bruke og med et komma og Root bak, f.eks. "Taklys, Root (123)" (jeg har også begynt å sette nodenummeret i parentes bak Root). Så kjøres scriptet med Root Device ID som parameter, sub/function må settes til "RenameDevices". RenameDevices.vb Sub RenameDevices(input As String) 'Moskus 2019 Dim rootRef As Integer = input Dim rootDevice As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(rootRef) rootDevice.MISC_Set(hs, HomeSeerAPI.Enums.dvMISC.NO_LOG) If Not rootDevice.Name(hs).Contains("Switch") Then rootDevice.MISC_Clear(hs, HomeSeerAPI.Enums.dvMISC.AUTO_VOICE_COMMAND) Dim rootName As String = rootDevice.Name(hs) Dim prefix As String = rootName.Substring(0, rootName.IndexOf(",")).Trim hs.WriteLog("RenameDevices", "Starting with prefix: " & prefix) Dim i As Integer 'For i = (rootRef + 1) To endRef For Each i In rootDevice.AssociatedDevices(hs) Dim device As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(i) device.Name(hs) = prefix + ", " + device.Name(hs) device.MISC_Set(hs, HomeSeerAPI.Enums.dvMISC.NO_LOG) If Not device.Name(hs).Contains("Switch") Then device.MISC_Clear(hs, HomeSeerAPI.Enums.dvMISC.AUTO_VOICE_COMMAND) Next hs.SaveEventsDevices() hs.WriteLog("RenameDevices", "Done renaming " & prefix) End Sub 4 4 Siter
myrene Skrevet 24. august 2019 Skrevet 24. august 2019 Det er bra, men jeg foreslår å endre teksten slik, så en kan sortere på Name: No Status Hus Stue 10 Taklys TV stoler Status Was Reset Node 10 Z-Wave Application Status Reset Application Status 40,030 kW Hours Node 10 Z-Wave kW Hours Today 21:32:40 Reset Accumulated Values 3,5 W Hus Stue Strømforbruk taklys TV stoler Today 21:55:51 20% Hus Stue Taklys TV stoler Today 20:55:30 Off On On Last Level Start Dimming Stop Start Brightening 0 Watts Node 10 Z-Wave Watts 1 09.05.2019 08:12:14 No Status Hus Stue 12 Taklys spisebord Status Was Reset Node 12 Z-Wave Application Status Reset Application Status 129,880 kW Hours Node 12 Z-Wave kW Hours Today 22:14:35 Reset Accumulated Values 8,3 W Hus Stue Strømforbruk taklys spisebord Today 21:55:37 25% Hus Stue Taklys spisebord Today 20:55:29 Off On On Last Level Start Dimming Stop Start Brightening 8,700 Watts Node 12 Z-Wave Watts 1 21.05.2019 11:21:56 Siter
Moskus Skrevet 25. august 2019 Forfatter Skrevet 25. august 2019 16 timer siden, myrene skrev: Det er bra, men jeg foreslår å endre teksten slik, så en kan sortere på Name: Det gjør man jo alltid uansett....? "Taklys spisebord" skal komme før "Taklys TV stoler". Hva er nummeret før navnet? Men det er du selv som må sette opp din logikk. Hvis det er smart for deg, så gjør du det. Siter
myrene Skrevet 25. august 2019 Skrevet 25. august 2019 Nummeret før er Z-Wave ID nummeret. Det forsvinner jo når man gir Floor og Room Siter
Moskus Skrevet 25. august 2019 Forfatter Skrevet 25. august 2019 4 timer siden, myrene skrev: Nummeret før er Z-Wave ID nummeret. Det forsvinner jo når man gir Floor og Room OK, de har man vanligvis ikke bruk for, så derfor anbefaler jeg å legge dem til slutt. Og som du poengterer selv: De ødelegger for sortering på navn. Det er vesentlig enklere å finne "Taklys spisebord" i en lang liste av enheter, når du slipper å huske at det er node 12. Som sagt, det er hele bakgrunnen for å skrive scriptet. Jeg har 124 noder, og det er umulig å huske hva node 34 eller 79 er for noe. 1 Siter
myrene Skrevet 26. august 2019 Skrevet 26. august 2019 Tja, jeg har bare halvparten av det du har på hver plass (hytta og hjemme), men de nodene som jeg følger med på, synes jeg det er greit å huske nummeret på, og så finne de ved å liste opp på Name. Det er selvfølgelig en smakssak, og jeg har forsøkt med mange forskjellige måter å sortere på, og ha kommet til at dette passer bedre for meg. Jeg har bare drevet med dette 7-8 år, så jeg kan ikke si at jeg er noen veteran, men noe erfaring har jeg fått. Siter
Moskus Skrevet 26. august 2019 Forfatter Skrevet 26. august 2019 7-8 år er vel å regne som veteran innen hjemmeautomasjon, og man skal ikke argumentere mot personlig smak. Og du står fritt til å endre scriptet slik det passer for deg, det er derfor jeg legger ut hele koden. Jeg har prøvd mange ulike systemer for sortering, og har kommet frem til at alfabetisk sortering er det som fungerer best for folk flest. Og da anbefaler jeg "etasje", "rom", "enhetsnavn" + "funksjon", i den rekkefølgen. Så lenge enhetene dine har fornuftige navn klarer alle å finne dem igjen. Jeg pleier å tenke at det ikke bare er jeg som skal bruke automasjonen, men andre også. Når jeg setter opp systemer for andre, så har de jo ingen forhold til Z-wave sitt nodenummer, så da fjerner jeg det helt. Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.