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

Vinnerliste

Populært innhold

Viser innholdet med mest poeng fra 07. sep. 2019 i alle områder

  1. Tegneserier er gøy. Automatiske tegneserier er selvfølgelig enda gøyere. Tidligere var det bare å linke bildet på nettet, men VG ville gjøre det litt vanskeligere for oss. Men det lar seg ordne. Aller først trenger vi SP_ID'en din. Logg inn på VG (det holder med en gratis-konto), og trykk F12 (eller åpne Developer Console) Så finner du "Application" på menyen øverst, finner så cookies, og velger "www.vg.no". Dobbelttrykk på tekstfeltet etter "SP_ID" og kopier hele denne lange, uforståelige teksten til et sted. NB! Dette scriptet omfatter sletting av filer, og kan potensielt gå ad undas. Det er selvfølgelig testet en del av meg, men som alltid: Ta backup først! Scriptet er her: Tegneserie.vb Sub Main(ByVal input As Object) 'Moskus 2019 'Parametre: device_ID|Tegneserie 'Serie-alternativer: Pondus, Lunch, Hjalmar, Tegnehanne Dim devID As String = input.ToString.Split("|")(0) Dim serie As String = input.ToString.Split("|")(1) Dim deleteFiles As Boolean = True Dim SP_ID As String = "DIN_LANGE_SPID_STRENG_HER" Dim directoryName As String = hs.GetAppPath & "/html/images/Tegneserier/" 'Check if "Tegneserier" exits If (Not System.IO.Directory.Exists(directoryName)) Then System.IO.Directory.CreateDirectory(directoryName) 'Delete local files If deleteFiles Then For Each deleteFile As String In System.IO.Directory.GetFiles(directoryName, serie.ToLower & "*.*", System.IO.SearchOption.TopDirectoryOnly) System.IO.File.Delete(deleteFile) Next End If Dim remoteFile As String = "" Dim filename As String = serie.ToLower & "_" & Now.Date.ToString("yyMMdd") & ".jpg" Dim localFile As String = hs.GetAppPath & "/html/images/Tegneserier/" & filename Dim dateFormat As String = Now.Year & "-" & Now.Month.ToString("00") & "-" & Now.Day.ToString("00") Select Case serie.ToLower Case = "pondus" remoteFile = "https://www.vg.no/tegneserier/api/images/pondus/" & dateFormat Case = "lunch" remoteFile = "https://www.vg.no/tegneserier/api/images/lunch/" & dateFormat Case = "hjalmar" remoteFile = "https://www.vg.no/tegneserier/api/images/hjalmar/" & dateFormat Case = "tegnehanne" remoteFile = "https://www.vg.no/tegneserier/api/images/tegnehanne/" & dateFormat End Select If remoteFile <> "" Then Try Using client As New System.Net.WebClient Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12 client.Headers.Add(Net.HttpRequestHeader.Cookie, "SP_ID=" & SP_ID) client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0") client.DownloadFile(remoteFile, localFile) client.Dispose() End Using Catch ex As Exception hs.WriteLog("Tegneserier", "Ex: " & ex.ToString) End Try Dim dateValue As Integer = CInt(Now.Date.ToString("yyMMdd")) hs.SetDeviceString(devID, "<img src='/images/HomeSeer/status/custom.gif' />", True) hs.SetDeviceString(devID, "<img src='./images/Tegneserier/" & filename & "' width='300px' />", False) hs.SetDeviceValueByRef(devID, dateValue, True) Else hs.WriteLog("Tegneserie", "RemoteFile ikke spesifisert for tegneserie: " & serie) End If End Sub Du legger inn SP_ID-strengen din istedenfor "DIN_LANGE_SPID_STRENG_HER". I tillegg må du lage en device pr. tegneserie du er interessert i. Som i nyhetsscriptet er dette en "Status Only" device. Så er det bare å sette opp eventet. Tegneseriene blir oppdatert kl. 08:00, så 08:15 er sikkert et bra tidspunkt. Kun ukedager og lørdager. Huk av "Wait for Script to finish" og "Only allow singe instance". Så repeter for hver tegneserie. Parameter er dev_ID|Tegneserie, f.eks. 3689|Pondus. ... som gir oss: Bredden er satt til 300px for at hele tegneserien skal dukke opp i Device Management, men dette er ikke en begrensning i f.eks. HStouch.
    4 poeng
  2. Jeg gjør noe lignende for en led-stripe - dimmer den basert på lux fra en sensor. Jeg bruker EasyTrigger til dette. Enkelt sagt - dersom LUX < 51 så skal lysene settes til 18 + (LUX / 1.5) Formelen som passer for deg må du nesten finne selv - Det ble mye testing for min del. Men da har jeg iallefall bare en event ?
    2 poeng
  3. Kjekt. Fikk det til hos meg, men måtte endre til
    1 poeng
  4. Jeg skummet igjennom i går - kort sagt, hvis den returnerer Null, så betyr ikke det nødvendigvis at den ikke finner noen devicer (den timer ut), så da må man kalle funksjonen en gang til.
    1 poeng
  5. Nå fungerte det her også Jeg ser i Config-mappa at du har begynt på en .xml-fil for Multisensor 6. Godt mulig du er klar over det, men Manufacturer, ProductType og ProductID stemmer ikke (i alle fall ikke med mine enheter). Mine enheter har følgende verdier: Manufacturer='0x86' ProductType='0x2' ProductID='0x64'. Men igjen, takk for et nyttig verktøy. Og om du ønsker så er det bare å legge inn (og endre) min .xml-fil for HeatIT også.
    1 poeng
  6. 1 poeng
  7. Nyheter er viktig, og din bolig burde vite hva som skjer. HStouch kommer med en RSS-leser, men den støtter ikke norske tegn, og fungerer bare når den vil. Ettersom jeg ble lei av det, skrev jeg et lite script for å hente frem nyheter. NewsReader.vb Sub Main(ByVal parameters As Object) 'Moskus 2019 Dim devID As Integer = parameters.ToString.Split("|")(0) Dim url As String = "https://api.rss2json.com/v1/api.json?rss_url=" & System.Net.WebUtility.HtmlEncode(parameters.ToString.Split("|")(1)) Dim source As String = "" Try Using client As New System.Net.WebClient Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls12 client.Encoding = System.Text.Encoding.UTF8 source = client.DownloadString(url) End Using Catch ex As Exception hs.WriteLog("NewsReader Error", "Net Feil: " & ex.Message) End Try If source = "" Then hs.WriteLog("NewsReader Error", "Got no response from url: " & url) Exit Sub End If Try Dim json = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Object)(source) Dim output As String = "" For i As Integer = 0 To 4 output &= "• <b>" & json("items")(i)("title") & "</b><br>" output &= json("items")(i)("description") & "<br><br>" Next hs.SetDeviceString(devID, output, True) Catch ex As Exception hs.WriteLog("NewsReader Error", "Net Feil: " & ex.Message) End Try End Sub HomeSeer trenger en referanse til Newtonsoft.Json.Dll, det kan du sette opp ved å lese under "Installasjon" i denne tråden: https://www.hjemmeautomasjon.no/forums/topic/4338-script-enturvb-få-inn-data-fra-entur/ Du trenger en virtuell device per nyhetskilde du vil ha. Ingen controller er viktig, velg "Status Only device" og "Do not log commands from this device". Så lager du et event. Det kan trigge hvert 15. minutt. Og så legger du til en kjøring av NewsReader.vb for hver nyhetskilde du ønsker deg. Parameter for scriptet er "DEV_ID|http://nyhetskilde.com/rss/", altså device ID, en "pipe" | og kilden. Huk av "Wait for script to finish" og "Only allow a single instance" Da blir resultatet dette: Her er noen nyhetskilder: https://www.aftenbladet.no/rss https://www.aftenposten.no/rss https://www.nrk.no/toppsaker.rss https://www.dagbladet.no/rss/ https://www.vg.no/rss/feed/?categories=1068&limit=10&format=rss&private=1 - sjekk https://vg.no/rss for å sette opp din egen feed.
    1 poeng
  8. Har endelig kommet dit at prosjektet mitt i bilen har blitt satt i bruk. Har montert en rpi i bilen koblet til dens canbus vha en hat fra skpang som leser dataene fra ene canbus linjen. Så nå er den satt opp slik at hvis jeg drar i lyshornhendelen og jeg trykker på håndbrekk AV (min bil har egen funksjon for håndbrekk av og på) så åpnes garasjeporten. Har I tillegg satt opp geofencing slik at jeg kan bruke samme funksjon uavhengig om jeg er hjemme eller hos mine foreldre. Oppsummering: Rpi leser canbus og sender via mqtt. Homeseer mottar signalet via mqtt og sjekker status på porten og om funksjonen er aktivert (kan deaktiveres hvis bilen er til service eller lånt til noen) Homeseer sender åpne kommando til rett garasjeport basert på koordinater også mottatt fra rpi over mqtt har også sjekk på at det er valid GPS fix og at den ikke er mer enn XX sekunder gammel.
    1 poeng
  9. Dette har ikke så mye med automasjon å gjøre men - Bare et lite tips om at det kan være lurt å ta en skikkelig inspeksjon av ladestasjonen når sesonger er over! Min Gardena R5080Li stoppet plutselig midt på plenen. Jeg så at det ikke var lys i ladestasjonen, og regna med at strømforsyningen hadde tatt kvelden. En rask måling viste at denne var OK, så neste steg var å åpne selve ladestasjonen. Var ikke vanskelig å se hva som hva problemet... Etter å ha loddet løs kontakten og reparert ødelagte printbaner, så virket faktisk alt etter at det var koblet opp igjen. Hvordan den våte mulden har kommet inn i ladestasjonen aner jeg ikke (Kanskje maur/edderkopper?)
    1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00
×
×
  • 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.