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

Lokal lesing av HAN - The Easy Way (TM)


Anbefalte innlegg

27 minutes ago, xibriz said:

Tilbake til The Easy Way, du har nevnt Zigbee, men kanskje Z-Wave også er ett alternativ?

 

Ser at Z-Uno bare trekker 50 mA: https://z-uno.z-wave.me/technical/#Electrical

 

Definitivt et alternativ, og faktisk det foretrukne for de fleste vil jeg tro. Men så var det dette med baud rate, HAN er 2400 og den støtter bare: "Valid values are: 9600, 14400, 19200, 38400, 57600, 115200, 230400 bps". 

 

Jeg skal sjekke muligheten for å kode en soft-ttl på GPIO med lav nok baud, det er nok eneste mulighet.

  • Like 1
Lenke til kommentar
Del på andre sider

1 minutt siden, petersv skrev:

 

Definitivt et alternativ, og faktisk det foretrukne for de fleste vil jeg tro. Men så var det dette med baud rate, HAN er 2400 og den støtter bare: "Valid values are: 9600, 14400, 19200, 38400, 57600, 115200, 230400 bps". 

 

Jeg skal sjekke muligheten for å kode en soft-ttl på GPIO med lav nok baud, det er nok eneste mulighet.

 

Her har du en i Frankrike som prøvde på det samme, bare 1200 baud: https://forum.z-wave.me/viewtopic.php?f=3427&t=26015

 

Jeg har ikke nok kunnskap i lavnivåspråk til å klare å få det til uten å bruke 1000 timer :( 

  • Like 2
Lenke til kommentar
Del på andre sider

Ser bra ut dette, men ikke noen løsning i tråden du linker til dessverre. Hvis jeg får tid, skal jeg ta en titt på det biblioteket som er nevnt, og se om jeg får snekret sammen noe kode for å teste. Har ikke noen z-uno, så må få tak i det først. Tror dette er veien å gå, takk for tipset!

Lenke til kommentar
Del på andre sider

3 minutter siden, petersv skrev:

Ser bra ut dette, men ikke noen løsning i tråden du linker til dessverre. Hvis jeg får tid, skal jeg ta en titt på det biblioteket som er nevnt, og se om jeg får snekret sammen noe kode for å teste. Har ikke noen z-uno, så må få tak i det først. Tror dette er veien å gå, takk for tipset!

 

Jeg har en Z-Uno så jeg kan være med på testingen hvis du hoster opp noe som kan lese dataene :)

 

Har modifisert koden til @roarfred slik at den kompilerer for Z-Uno (mer eller mindre fjernet en del ting som ikke støttes).

Lenke til kommentar
Del på andre sider

1 time siden, petersv skrev:

Supert! Du kan jo begynne med å se om denne kompilerer: https://github.com/PaulStoffregen/AltSoftSerial ? :)

 

Nei.. det kompilerer ikke. Det var mange problemer ute å gikk der.

 

For det første finnes ikke `inttypes.h` i Z-uno-kjernen.

Også er ikke Z-uno definert i "board"-filen.

Og hvis man trikser det til, så er det ingen av timerene i "timer"-filen som fungerer.

 

Jeg ser på Z-uno-forumet at det snakker om noe som heter GPT timer som ikke er nevnt noen steder i AltSoftSerial.

Endret av xibriz
Lenke til kommentar
Del på andre sider

Noen så vet om dette er mulig å kjøre på OSX ? har kommunikasjon mellom mac og måler, men må få dataene i et forståelig format...

 

Alternativ 1 - med stikkontakt og Raspberry PI i sikringsskapet og :

Dette er den desidert enkleste løsningen og er utviklet av Per Erik Nordbø i BKK. Med denne kan du lese ut HAN data til Raspberry Pi og meldingene kan deretter logges til skjer, fil eller multicast på LAN. For å bruke dataene videre må man lage noe IFTTT og/eller MQTT etc. for å få det inn i ditt favoritt-hjemmeautomasjonsmiljø.

Lenke til kommentar
Del på andre sider

Takk :) men hadde håpet på ett litt meir utfyllende svar, helst ein guide i fra hvordan flytte info fra det "vinduet" eg har til homeseer ?

 

Eg har Homeseer på ein Windows 10 pc i nettverket :)

Endret av hflatoey
Lenke til kommentar
Del på andre sider

Noen som ser hva som kan være galt her, har ikke gitt helt opp med å få det til å fungere i osx :-P

 

Thomass-Mac-mini:han-port-1.14 thomasjakobsen$ make
gcc -o test_rx -D SERIAL_PORT='"/dev/tty.usbserial"' -Wall -Wextra -O2 read.c rs232.c fcs.c aes.c -lm
read.c:156:7: warning: explicitly assigning value of variable of type 'unsigned char *' to itself
      [-Wself-assign]
  buf = buf;
  ~~~ ^ ~~~
read.c:157:11: warning: explicitly assigning value of variable of type 'unsigned int' to itself
      [-Wself-assign]
  buf_len = buf_len;
  ~~~~~~~ ^ ~~~~~~~
read.c:170:11: warning: explicitly assigning value of variable of type 'int' to itself [-Wself-assign]
  buf_len = buf_len;
  ~~~~~~~ ^ ~~~~~~~
read.c:610:9: error: use of undeclared identifier 'errno'
    if (errno == EAGAIN) {
        ^
read.c:610:18: error: use of undeclared identifier 'EAGAIN'
    if (errno == EAGAIN) {
                 ^
read.c:655:50: error: use of undeclared identifier 'errno'
      printf("read()==-1: errno: %s\n", strerror(errno));
                                                 ^
read.c:1082:20: warning: implicit declaration of function 'open' is invalid in C99
      [-Wimplicit-function-declaration]
    if ((read_fd = open(fname, O_RDONLY)) == -1) {
                   ^
read.c:1082:32: error: use of undeclared identifier 'O_RDONLY'
    if ((read_fd = open(fname, O_RDONLY)) == -1) {
                               ^
4 warnings and 4 errors generated.
rs232.c:20:26: error: use of undeclared identifier 'B50'
  case      50 : baudr = B50;
                         ^
rs232.c:22:26: error: use of undeclared identifier 'B75'
  case      75 : baudr = B75;
                         ^
rs232.c:24:26: error: use of undeclared identifier 'B110'
  case     110 : baudr = B110;
                         ^
rs232.c:26:26: error: use of undeclared identifier 'B134'
  case     134 : baudr = B134;
                         ^
rs232.c:28:26: error: use of undeclared identifier 'B150'
  case     150 : baudr = B150;
                         ^
rs232.c:30:26: error: use of undeclared identifier 'B200'
  case     200 : baudr = B200;
                         ^
rs232.c:32:26: error: use of undeclared identifier 'B300'
  case     300 : baudr = B300;
                         ^
rs232.c:34:26: error: use of undeclared identifier 'B600'
  case     600 : baudr = B600;
                         ^
rs232.c:36:26: error: use of undeclared identifier 'B1200'
  case    1200 : baudr = B1200;
                         ^
rs232.c:38:26: error: use of undeclared identifier 'B1800'
  case    1800 : baudr = B1800;
                         ^
rs232.c:40:26: error: use of undeclared identifier 'B2400'
  case    2400 : baudr = B2400;
                         ^
rs232.c:42:26: error: use of undeclared identifier 'B4800'
  case    4800 : baudr = B4800;
                         ^
rs232.c:44:26: error: use of undeclared identifier 'B9600'
  case    9600 : baudr = B9600;
                         ^
rs232.c:46:26: error: use of undeclared identifier 'B19200'
  case   19200 : baudr = B19200;
                         ^
rs232.c:48:26: error: use of undeclared identifier 'B38400'
  case   38400 : baudr = B38400;
                         ^
rs232.c:50:26: error: use of undeclared identifier 'B57600'
  case   57600 : baudr = B57600;
                         ^
rs232.c:52:26: error: use of undeclared identifier 'B115200'
  case  115200 : baudr = B115200;
                         ^
rs232.c:54:26: error: use of undeclared identifier 'B230400'
  case  230400 : baudr = B230400;
                         ^
rs232.c:56:26: error: use of undeclared identifier 'B460800'
  case  460800 : baudr = B460800;
                         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [test_rx] Error 1
Thomass-Mac-mini:han-port-1.14 thomasjakobsen$ 
 

Lenke til kommentar
Del på andre sider

@Thomas_ja27, det ser ut som om du mangler definisjonen av masse greier, så enten har du ikke alle filene, eller så er det platformavhengig, og vil ikke fungere uten at du manuelt porterer koden.

 

@ZoRaC, det ser jo veldig bra ut. Siden det ser ut som standard JSON kan du parse det med mye rart. Homeseer har jeg ikke peiling på, men @Moskus kan sikkert hjelpe deg litt på veien.

Lenke til kommentar
Del på andre sider

4 timer siden, petersv skrev:

@Thomas_ja27, det ser ut som om du mangler definisjonen av masse greier, så enten har du ikke alle filene, eller så er det platformavhengig, og vil ikke fungere uten at du manuelt porterer koden.

 

@ZoRaC, det ser jo veldig bra ut. Siden det ser ut som standard JSON kan du parse det med mye rart. Homeseer har jeg ikke peiling på, men @Moskus kan sikkert hjelpe deg litt på veien.

Fikk det til! Nå kjører det i OSX :)Skjermbilde.thumb.PNG.18f426f180afa5984967aaba233664e9.PNG

  • Like 2
Lenke til kommentar
Del på andre sider

1 time siden, LenothX90 skrev:

liten bug ? 

Curr_L1: 4535

Curr_L2: 5086

 

Volt_L1: 2399

Volt_L2  : 0

 

 

mangler nok et komma ja, skal nok være:

Curr_L1: 4,535

Curr_L2: 5,086

 

Volt_L1: 239,9

Volt_L2  : 0 (L2 måles ikke, ser det står 0 i menyen på måleren også)

Lenke til kommentar
Del på andre sider

4 timer siden, Thomas_ja27 skrev:

mangler nok et komma ja, skal nok være:

Curr_L1: 4,535

Curr_L2: 5,086

 

Volt_L1: 239,9

Volt_L2  : 0 (L2 måles ikke, ser det står 0 i menyen på måleren også)

men du har strøm på L1 L2 L3, men volt bare på L1 og L3

Lenke til kommentar
Del på andre sider

Har logget litt:

 

Hvert 10. sek

{"Date_Time":"2018-03-07 21:00:00",
"Meter_Time":1520452800,
"Host_Time":1520452802.413,
"OBIS_List_Version":"KFM_001",
"GS1":"6970631403607026",
"Meter_Model":"MA304H3E",
"Act_Pow_P_Q1_Q4":6193,
"Act_Pow_M_Q2_Q3":0,
"React_Pow_P_Q1_Q2":0,
"React_Pow_M_Q3_Q4":667,
"Curr_L1":20698,
"Curr_L2":14984,
"Curr_L3":11661,
"Volt_L1":2379,
"Volt_L2":0,
"Volt_L3":2389}

 

Hvert 2. sek

{"Date_Time":"2018-03-07 21:00:02",
"Meter_Time":1520452802,
"Host_Time":1520452803.997,
"Act_Pow_P_Q1_Q4":6223}

 

Hvert 2. sek

{"Date_Time":"2018-03-07 21:00:04",
"Meter_Time":1520452804,
"Host_Time":1520452806.002,
"Act_Pow_P_Q1_Q4":6288}

 

Hvert 2. sek

{"Date_Time":"2018-03-07 21:00:06",
"Meter_Time":1520452806,
"Host_Time":1520452808.007,
"Act_Pow_P_Q1_Q4":6229}

 

Hvert 2. sek

{"Date_Time":"2018-03-07 21:00:08",
"Meter_Time":1520452808,
"Host_Time":1520452810.004,
"Act_Pow_P_Q1_Q4":6242}

 

Hver time

{"Date_Time":"2018-03-07 21:00:10",
"Meter_Time":1520452810,
"Host_Time":1520452812.569,
"OBIS_List_Version":"KFM_001",
"GS1":"6970631403607026",
"Meter_Model":"MA304H3E",
"Act_Pow_P_Q1_Q4":6255,
"Act_Pow_M_Q2_Q3":0,
"React_Pow_P_Q1_Q2":0,
"React_Pow_M_Q3_Q4":662,
"Curr_L1":20880,
"Curr_L2":15245,
"Curr_L3":11684,
"Volt_L1":2375,
"Volt_L2":0,
"Volt_L3":2384,
"Date_Time2":"2018-03-07 21:00:10",
"Act_Energy_P":621458,
"Act_Energy_M":0,
"React_Energy_P":140,
"React_Energy_M":82923}

 

Har lagt ut dette på forumet til Indigo Domo i håp om at noen kan hjelpe meg med et plugin :)

http://forums.indigodomo.com/viewtopic.php?f=138&t=20303

Lenke til kommentar
Del på andre sider

26 minutter siden, petersv skrev:

kjører opp node på maskinen kan vi lage en MQTT-klient

 

Hvis det er Node-RED på RaspBerry du henviser til, kan du veldig enkelt sette opp MQTT broker direkte fra Node-Red.
Du trenger ikke installere en egen broker (server).

Legg til "Mosca MQTT broker" fra Node-RED.
Det vil si du får både MQTT broker og klient på en RaspBerry Pi.

Endret av Odd
Lenke til kommentar
Del på andre sider

  • petersv endret tittelen til Lokal lesing av HAN - The Easy Way (TM)

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.