Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Guahtdim

Medlemmer
  • Innlegg

    1 439
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    67

Alt skrevet av Guahtdim

  1. Det eneste jeg ikke liker med c# script er at man må prefikse metoder og variabler med full path til assembly. Hva jeg var nødt til: System.IO.StreamReader reader = new System.IO.StreamReader(content); Hva jeg er vant til: var reader = new StreamReader(content); Jeg er vant til at det holder å ha det i using-statements og så er kompilatoren lur nok til å plukke fra riktig assembly. Men nå er jeg klar over det så da er det ikke noe problem å ta hensyn til det neste gang. Mens jeg utviklet scriptet så begynte det plutselig å levere masse feil siden content hadde gått fra plain text til gzip. Men da fikk jeg testet å håndtere det og. Mulig @ZoRaC burde legge ut sitt alternativ hvor han bruker en plugin?
  2. 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.
  3. Lagt ut https://www.hjemmeautomasjon.no/forums/topic/1773-hente-badetemperatur-fra-yr-snitt-over-fylket/
  4. Da har jeg fått flyttet alle mine enheter fra Domotics til Homeseer. RFXCom kunne gjerne lage alle devicer for en enhet. 23 temperaturmålere med temp, fukt og batteri tok sin tid. I tillegg har jeg eksperimentert med C# script for å hente inn badetemperatur fra Yr. Det tok noen timer, men nå henter jeg badetemperaturer enkelt og greit.
  5. Hadde du hatt den innendørs kunne du satt opp ett webkamera til å ta bilde eller sende livestream fra måleren/bilde via ftp eller noe lignende. Du kan alltids få tak i ett kamera som tåler å stå ute, men jeg regner med at prisen blir ganske dyr. Det ble til tider litt langt å gå opp på loftet så jeg har ett Dlink 933 som er satt opp til å sende meg bilde hvert 10 minutt til en folder på en server(ftp). I tillegg har jeg laget en liten service som "ser" og snapper opp disse bildene for å dekode målertallene til ett siffer som lagres i database. Innsendingsprosessen til strømleverandør har jeg valgt å beholde manuelt i frykt av feil.
  6. Jeg var ikke klar over at Robomow hadde støvsugere. Jeg vet de lager noen stridsvognaktie gressklippere.
  7. Guahtdim

    TrådfriSeer

    Hvis Telldus utstyret kjører på 433MHz så må du i tillegg til Homeseer(billigste variant eller oppover) skaffe deg en RFXtrx433e enhet (ca 1000 kr) for å kommunisere med enheter som bruker 433MHz. Og da trenger du også en RFXCom plugin ($25). Denne pluginen er noe som går mot Homeseer. Jeg mener Homeseer også har en telefon app, men hvor enkelt det er å få inn ting er jeg usikker på siden jeg ikke bruker den selv. @Moskus har sikkert bedre kontroll på dette.
  8. Status: Det har vært liten tid i det siste til å holde på med dette. Jeg har nå fått til å skape enheter(veldig simple) og oppdatere i HS. Nå må jeg komme igang med å få flikket ut noe simpel config. Og etter det sy sammen en simple POC. Må man alltid ha en root device for å få en samling enheter eller kan man lage en gruppe uten å måtte ha en root? Slik jeg lager ting nå så har jeg en root som egentlig ikke har noe for seg og alle følerdata som child-devices.
  9. Electrolux sine siste har en utforming som gjør at de lettere kommer til i hjørner. Jeg har den ikke selv og vet ikke hvor grei den er å automatisere.
  10. Guahtdim

    TrådfriSeer

    Veldig bra. Plutselig fikk Homeseer en stor OPP for min del. Jeg ser for meg at jeg muligens kan slutte å få tyn for at jeg har glemt å slå av lyset i kjelleren eller på loftet.
  11. Fant denne linken. Kanskje den er spennende https://www.domoticz.com/forum/viewtopic.php?t=8797
  12. Har du allerede en server/maskin klar og vil leke på ett litt billigere nivå så går det an å installere Domoticz på maskinen(støtter både windows og linux) og kjøpe til RFXtrx og en UZB1. Jeg er fortsatt der selv om jeg nå har lisens på Homeseer. Men her er det javascript som gjelder for scripting. På ett senere tidspunkt kan man kjøpe inn Homeseer og legge inn på maskinen. Men det kan godt ta lang tid.
  13. Domoticz støtter Mqtt. Men det blir kanskje litt mye å sette seg inn i.
  14. De er ikke kommet så langt at man får noe gratis der. Beklager.
  15. Hva er det du savner? Ingenting er som blanke lerret ?
  16. En fyr har faktisk laget en template. Så fort man skjønner at -r <ip-adresse> må brukes hvis du kjører remote så går det feiende fort å komme opp med en default tom plugin i C#. Fra tråden https://forums.homeseer.com/showthread.php?t=178122 https://marketplace.visualstudio.com/items?itemName=thealexdresko.HomeSeerTemplates-18379 - template I tillegg er de nødvendige dll-er laget som en nuget pakke. Han kjører ett powershell script for å fikse noe greier (gadd ikke sette meg inn i det) som man bør fjerne hvis man kjører remote. Editer csproj-filen og kommenter ut <!-- <Target Name="AfterBuild"> <Exec Command="powershell -file &quot;$(ProjectDir)fix-output.ps1&quot; -configuration $(ConfigurationName) -executionpolicy Unrestricted -NonInteractive" /> </Target> -->
  17. Oooopssann, der tapte jeg 100 spenn på å slenge med en slik i min repeater-bestilling hos kjell.com. Ja, ja, slik kan det gå. Jeg har en fra før som fungerer helt greit på en vaskemaskin.
  18. En liten statusrapport: Driver og ser på noe plugin-templates for C# etter å ha nesten oversatt deler av @Moskus sitt prosjekt. Jeg føler jeg begynner å få kontroll, men det er fortsatt ett langt stykke fram til å ha noe kjørende som kan presenteres. Men jeg blir litt skuffet over hva jeg har fått i Homeseer siden jeg for tiden kjører Domoticz (jeg har ikke orket å flytte over enda). Domoticz koster ingenting og gir deg følgende ut av boksen: Støtte for RfxCom (må kjøpes som plugin hos Homeseer) Støtte for RFLink (finnes ikke for Homeseer) Historie alle enheter(må kjøpes som plugin hos Homeseer) Grafer for alle enheter(må kjøpes som plugin hos Homeseer) Kjører som service (funker ikke for Homeseer?) Mulig det er mer også. Det eneste som gjør at jeg ikke angrer kjøpet av Homeseer er at det snakker ett av språkene mine (C#). Mulig jeg oppdager mer positive ting med Homeseer når jeg får brukt litt mer tid på det.
  19. Hmm, dette kunne vært noe enkelt for å unngå de stadige kommentarene fra madammen når jeg glemmer å skru av lyset på loftet og i kjelleren.
  20. Både ebay og aliexpress har endel 433mhz termometere for svømmebasseng, men ulempen er at man vet ikke om disse er støttet av RFXtrx433e eller noe lignende. Ett alternativ (muligens dårlig) er å kjøpe ett termometer du vet fungerer og legge det i en vanntett boks som senkes ned i vannet.
  21. Jeg er usikker på om den har vært her før men https://farmbot.io Her snakker vi automatisering.
  22. La oss håpe at jeg tar feil Jeg bare ser for meg at prosesseringen av multiple inputs samtidig vil kreve litt hardware.
  23. Spennende, men enda en enhet som krever at man er koblet mot en behandlingsenhet som ligger utenfor ditt eget hjem (slik tolket jeg det).
  24. Disruptive kommer ikke til å kjøre noe mot privatpersoner med det første. I tillegg kommer alle data til å bli lastet opp til Disruptives "sky". Med andre ord mister du internett koblingen så aner du ikke hva som er status på dine egne enheter.
  25. Jeg er nybegynner selv når det kommer til RfxCom så jeg er ikke sikker på hvordan man kan samle dette. Mulig @Moskus har ett godt svar på dette?
×
×
  • 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.