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

Gratis alternativ til Netatmo-plugin


ZoRaC

Anbefalte innlegg

Flere enn meg som synes 40 USD for Netatmo-plugin er litt drøyt?

Hvis dere kjører HS3 på Linux er det veldig lett å lage en gratis løsning (sikkert mulig på Windows også)! :)

 

1. Legg inn scriptet fra denne siden: https://github.com/michaelmiklis/netatmo.sh/blob/master/netatmo_nowrapper.sh
Husk å legg inn brukernavn/passord nederst i scriptet.
(Husk også "chmod +x Netatmo.sh")

2. "crontab -e" og sett inn dette (kjører scriptet hvert 5. min): */5 * * * * /path/to/Netatmo.sh > /usr/local/HomeSeer/html/netatmo.json
3. Installer Jon00 DataScraper-plugin

4. Jon00DataScraper.ini:

[Grab8]
Path=http://localhost/netatmo.json
Pattern1=(?s)"Noise":(\d*),
Pattern2=(?s)"Temperature":-?(\d*\.?\d*),
Pattern3=(?s)"CO2":(\d*),
Pattern4=(?s)"Humidity":(\d*),
DeviceName1=Noise
DeviceValue1=[0]
DeviceText1=[0] dB
DeviceName2=Temperatur
DeviceValue2=[101]
DeviceText2=[101] °C
DeviceName3=CO2
DeviceValue3=[200]
DeviceText3=[200] ppm
DeviceName4=Luftfuktighet
DeviceValue4=[301]
DeviceText4=[301]%

Den henter bare fra innedelen (jeg henter data fra utedelen via WeatherXML og WeatherUnderground), men ute.temp skal være tilgjengelig i [100] og ute-fukt i [300].

 

5. Lag et event som kjører hvert 5. min:

netatmo.PNG

 

6. Etter å ha kjørt scriptet en gang, slik at deivcene er opprettet, legg inn en passende range, osv på devicen. F.eks for temp:
image.thumb.png.593fd725cedf0719dd302bd88b7fe8a2.png

 

Og vipps, har du spart 30 USD (etter at du har sendt meg 10 USD som takk for tipset ;):P)!

netatmo3.PNG

Endret av ZoRaC
Ny lenke til scriptet
  • Like 6
Lenke til kommentar
Del på andre sider

  • 1 år senere...

Hvis det er flere som bruker dette, så har dere nok merket at det har sluttet å virke de siste par ukene.

Fixen er enkel - endre "my" til "api" i URLen (scriptet på siden det lenkes til er oppdatert):

Sitat
Luca
2018-06-20T10:16:47+00:000000004730201806 at 10:16

You need to replace API_GETMEASURECSV=”https://my.netatmo.com/api/devicelist”

to

API_GETMEASURECSV=”https://api.netatmo.com/api/devicelist”

 

Siden det tok noen uker før jeg oppdaget at temp ikke endret seg, så laget jeg et event:

image.png.dd218818607d8a6f8f183d27583c82c1.png

 

("ERROR!" er da en statusverdi jeg har lagt til på devicen med verdien -100 :) - førstepost er oppdatert) 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 6 måneder senere...

Jeg forsøkte å legge dette inn i crontab -e men fikk "No MTA installed discarding output". testa med :

 

*/5 * * * * /path/to/Netatmo.sh > /usr/local/HomeSeer/html/netatmo.json 2>&1

og 

*/5 * * * * /path/to/Netatmo.sh >> /usr/local/HomeSeer/html/netatmo.json

Lenke til kommentar
Del på andre sider

Jeg har fått det til å fungere, men er det noen som kan forklare meg dette med datascraper plugin til jon00.  Hvorfor er Devicevaluene det dem er ? 

DeviceName1=Noise
DeviceValue1=[0]
DeviceText1=[0] dB
DeviceName2=Temperatur
DeviceValue2=[101]
DeviceText2=[101] °C
DeviceName3=CO2
DeviceValue3=[200]
DeviceText3=[200] ppm
Lenke til kommentar
Del på andre sider

Akkurat nå, Christian skrev:

Jeg har fått det til å fungere, men er det noen som kan forklare meg dette med datascraper plugin til jon00.  Hvorfor er Devicevaluene det dem er ? 


DeviceName1=Noise
DeviceValue1=[0]
DeviceText1=[0] dB
DeviceName2=Temperatur
DeviceValue2=[101]
DeviceText2=[101] °C
DeviceName3=CO2
DeviceValue3=[200]
DeviceText3=[200] ppm

 

Cluet ligger i disse:

Path=http://localhost/netatmo.json
Pattern1=(?s)"Noise":(\d*),
Pattern2=(?s)"Temperature":-?(\d*\.?\d*),
Pattern3=(?s)"CO2":(\d*),
Pattern4=(?s)"Humidity":(\d*),

Den søker igjennom fila etter det regulære uttrykket "(?s)"Noise":(\d*)". Alle matcher på den legges i en INI-fil (Jon00DataScraperData.ini, mener jeg den heter).

Treffene på "Pattern1" legges i verdiene [0]-[99].

Treffene på "Pattern2" legges i verdiene [100-199]

osv

 

Derfor så vil "DeviceValue1=[0]" sette verdien til det første treffet på "Pattern1".

 

Ga det mening? :)

Lenke til kommentar
Del på andre sider

Akkurat nå, Christian skrev:

okei, så da må jeg se i den for å finne DeviceValue... Ja, det ga mening, da er det bare å forsøke å få ut noe fornuftig på de andre tingene jeg skal scrape'e

 

Ja, etter å ha kjørt en scrape, ta en titt i den INI-filen, så ser du verdiene den har funnet. Da finner man som regel utav det. :)

https://regex101.com/ er et godt sted å teste regex på.

Lenke til kommentar
Del på andre sider

Ser ikke ut som om den eventen vil endre verdier i HS... Jeg har også satt den slik at den skal endre last change uavhengig om verdien endres eller ikke, men det skjer ikle noe når jeg kjører scriptet, hverken manuelt med run knappen eller om det starter automatisk....

Lenke til kommentar
Del på andre sider

2 timer siden, Christian skrev:

Så litt på den regex101 men skjønte ikke så mye... 

 

Hvis du kopierer innholdet i Netatmo.json inn på den siden + det som står bak "PatternX" i INI-fila, så vil du se hva den vil matche mot. Det er enklere å bruke den til å finne ut hvilket "pattern" du skal bruke, enn å legge det inn i INI-fila og kjøre scrape for hver test. :)

 

2 timer siden, Christian skrev:

Ser ikke ut som om den eventen vil endre verdier i HS... Jeg har også satt den slik at den skal endre last change uavhengig om verdien endres eller ikke, men det skjer ikle noe når jeg kjører scriptet, hverken manuelt med run knappen eller om det starter automatisk....

 

Du tenker på eventen i pkt 5? Den skal opprette devicene og oppdatere dem... 

Har eventen opprettet devicene? Hvis den har opprettet den, så er det rart om den ikke også oppdaterer verdien...

Står det noe i loggen når du kjører eventen?

Lenke til kommentar
Del på andre sider

  • 1 år senere...

Jeg skummet igjennom den, så mest ut som at det var en forklaring på hvordan man tilpasser teksteditor til å skrive rett tegnsett for unixsystemer. 

 

Vil anta man må bruke cygwin o.l for å faktisk kunne kjøre scriptet?

Lenke til kommentar
Del på andre sider

Ok har forsket litt videre på dette, og funnet en løsning til windows.

 

Man kan bruke dette powershell biblioteket: https://tjalve.is-a-geek.com/PowerShell/Netatmo/index.html

 

Deretter sette opp autorisasjonen ved å kjøre:

Quote

Set-NetatmoAuthorization -client_id "xxxx" -client_secret "yyyy" `
   -username "[email protected]" -password "abcd"

 

Når det er gjort så kan du kalle f.eks 

Quote

get-netatmoformated

 

Som vil gi dette resultatet

Quote

co2_calibrating   : False
data_type         : {Temperature, CO2, Humidity, Noise...}
date_setup        : 19.03.2015 21:37:56
firmware          : 177
last_setup        : 19.03.2015 21:37:56
last_status_store : 28.07.2020 13:51:02
last_upgrade      : 24.08.2015 04:32:16
reachable         : True
station_name      : test1
type              : NAMain
wifi_status       : 51
_id               : 70:ee:50:12:73:0c
altitude          : 162
city              : 
country           : NO
location          : {fjernet}
timezone          : Europe/Oslo

module_name      : Indoor
AbsolutePressure : 978,5
CO2              : 386
date_max_temp    : 28.07.2020 00:00:22
date_min_temp    : 28.07.2020 12:35:21
Humidity         : 58
max_temp         : 23,2
min_temp         : 21,9
Noise            : 36
Pressure         : 997,5
pressure_trend   : down
Temperature      : 21,9
temp_trend       : stable
time_utc         : 28.07.2020 13:50:51
 
battery_percent : 83
battery_vp      : 5582
data_type       : {Temperature, Humidity}
firmware        : 43
last_message    : 13.07.2020 07:18:17
last_seen       : 13.07.2020 07:17:45
last_setup      : 19.03.2015 21:37:45
module_name     : Outdoor
reachable       : False
rf_status       : 72
type            : NAModule1
_id             : 02:00:00:12:85:14

 

Kjører man det til en fil, med 

Quote

get-netatmoformated | out-file c:\temp\netatmo.txt

 Så kan du lese det med jon00 sitt datascrapper verktøy.

  • Like 1
  • Thanks 1
Lenke til kommentar
Del på andre sider

På 28.7.2020 den 14.02, Gjelsvik skrev:

 Så kan du lese det med jon00 sitt datascrapper verktøy.

Kan du poste scraper.ini filen din for kva du har satt opp her? Prøver dette, men første gang eg bruker Jon00DataScraper og er usikker korleis eg skal sette den opp.

Lenke til kommentar
Del på andre sider

2 timer siden, Bostad skrev:

Kan du poste scraper.ini filen din for kva du har satt opp her? Prøver dette, men første gang eg bruker Jon00DataScraper og er usikker korleis eg skal sette den opp.

Fant ut av det 😀

 

image.png.747fde5ab5070bc04d1b477df83b2c4c.png

 

[Grab1]
Path=C:\Script\netatmo\netatmo.txt
Pattern1=(?s)Temperature      : -?(\d*\.?\d*)
Pattern2=(?s)Noise            : (\d*)
Pattern3=(?s)CO2              : (\d*)
Pattern4=(?s)Humidity         : (\d*)
Pattern5=(?s)Pressure         : (\d*)
Pattern6=(?s)Temperature     : -?(\d*\.?\d*)
Pattern7=(?s)Humidity        : (\d*)
DeviceName1=Temperatur-Inne
DeviceValue1=[0]
DeviceText1=[0] °C
DeviceName2=Temperatur-Ute
DeviceValue2=[500]
DeviceText2=[500] °C
DeviceName3=Luftfuktighet-Ute
DeviceValue3=[600]
DeviceText3=[600] %
DeviceName4=Støy-Inne
DeviceValue4=[100]
DeviceText4=[100] db
DeviceName5=CO2-Stue
DeviceValue5=[200]
DeviceText5=[200] ppm
DeviceName6=Luftfuktighet-Inne
DeviceValue6=[300]
DeviceText6=[300] %
DeviceName7=Lufttrykk
DeviceValue7=[400]
DeviceText7=[400] mbar

Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Hmm, får ikke dette helt til å funke, får følgende feilmelding:

 

Running script Jon00DataScraperJSON.vben :Object reference not set to an instance of an object

 

Hva skriver dere inn i Jon00DataScraper.ini første gang?

 

Lenke til kommentar
Del på andre sider

12 timer siden, Tom skrev:

Hmm, får ikke dette helt til å funke, får følgende feilmelding:

 

Running script Jon00DataScraperJSON.vben :Object reference not set to an instance of an object

 

Hva skriver dere inn i Jon00DataScraper.ini første gang?

 

Windows eller linux?

Min ini fil er som over. Den peiker til C:\Script\netatmo\netatmo.txt . I Samme mappe kjører eg powershellscripta

Lenke til kommentar
Del på andre sider

Dette er powershell scriptet eg kjører:
#Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Import-Module C:\Script\netatmo\netatmo.psm1
Set-NetatmoAuthorization -client_id "DIN-CLIENT-ID" -client_secret "DIN-CLIENT-SECRET" `
   -username "DITT-BRUKERNAVN" -password "DITT-PASSORD"
get-netatmoformated | out-file C:\Script\netatmo\netatmo.txt

 

Antar du har laget deg konto på Netatmo API?

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • 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.