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

Lesing av AMS data (AMS/HAN -> IoT)


Anbefalte innlegg

23 timer siden, ZoRaC skrev:

Er det noen her som er lagt til som «collaborator» på prosjektet hans? Eller er alle contributions lagt inn via PR? Hvis man forker prosjektet hadde det jo vært fint om man kunne redigert ReadMe til å henvise til den nye fork’en. 

 

EDIT:

Kan se ut til at "hlovdal" kanskje er "contributor", men han/hun er visst ikke på dette forumet. Skal se om jeg finner noen måte å ta kontakt på. :) 

 

Jeg har en fork nå med de endringene jeg poster her, relativt minimale inntil videre. Kan fortsette der hvis det skulle bli vanskelig med kontakt. 

Jeg kan dokumentere i forhold til den jeg har, som inneholder endringer som må være der for at det skal kompilere uansett. 

Ellers tenkte jeg litt på de andre prosjektene som ligger i samme Git, det er en simulator og et par andre prosjekt uten PCB. Skulle disse blitt skilt ut som egne forks, evt egne prosjekt?

 

Dette for å ha AMS to MQTT alene med biblioteket HanReader, i tillegg til dokumentasjonen og PCB-filene. 

Endret av DIYglenn
Lenke til kommentar
Del på andre sider

Over på noe helt annet: så har Z-Uno kommet med software serial. Dvs at man i teorien kan få dette til å kjøre på en Z-uno i stedet for ESP. Jeg har prøvd litt å det ser ut som at man får korrekt data inn på Z-unoen, men biblioteket må modifiseres for å kompilere korrekt.

  • Thanks 1
Lenke til kommentar
Del på andre sider

@xibriz Du kjenner kanskje til dette mer enn meg, men jeg la til følgende i accesspoint.cpp før server.client().stop();

server.sendContent("");

Som anbefales når man sender en webside i "chunks" for å si at nå er det slutt. Jeg er veldig usikker på akkurat hva dette betyr. Er det fordi content length er satt til "unknown"? 

 

accesspoint.cpp på GitHub

 

Tipset kom herfra:

 

ESP8266 Arduino #3375

 

Usikker akkurat hvorfor dette er nødvendig, kanskje du eller noen andre har en forklaring. Det fungerer iallefall, og sidene lastes inn mye raskere på Windows PC, og fungerer knall på Apple-devices.

  • Like 2
Lenke til kommentar
Del på andre sider

4 timer siden, xibriz skrev:

Bra observert @DIYglenn! Her er det tydelig at ESP-biblioteket ikke følger standarden. Rart det ikke er fikset når det ble oppdaget for ett år siden. 

Selv om siden nå fungerer utmerket bra ellers, så skjer det ingenting når jeg trykker "save"-knappen. Den bare henger. Hvis jeg venter en stund og kjører reset, så er vi tilbake til AP modus igjen.

 

Lagringen burde vel gå raskt? Må vel evt. koble til og lese seriell igjen.

Jeg har ingenting under Subscribe Topic, vet ikke helt hva jeg skulle ha lagt til.

 

Jeg har ennå ikke gått gjennom MQTT-siden for å dele opp topics etc, jeg har kun testet MQTT via NodeRED før, akkurat nå har jeg ingen enheter på MQTT. 

 

Har satt opp uten kryptering inntil videre, for å heller prioritere dette når jeg begynner å få til et system.

 

WiFi og klient-passord er fjernet i bildet under, ellers er alt slik jeg fylte inn før jeg trykket save.

5b6debedc0100_kaifaams.png.03d48bf88521fb00cd385ff10dad2241.png

Endret av DIYglenn
Lenke til kommentar
Del på andre sider

37 minutter siden, DIYglenn skrev:

Selv om siden nå fungerer utmerket bra ellers, så skjer det ingenting når jeg trykker "save"-knappen. Den bare henger. Hvis jeg venter en stund og kjører reset, så er vi tilbake til AP modus igjen.

 

Lagringen burde vel gå raskt? Må vel evt. koble til og lese seriell igjen.

Jeg har ingenting under Subscribe Topic, vet ikke helt hva jeg skulle ha lagt til.

 

Jeg har ennå ikke gått gjennom MQTT-siden for å dele opp topics etc, jeg har kun testet MQTT via NodeRED før, akkurat nå har jeg ingen enheter på MQTT. 

 

Har satt opp uten kryptering inntil videre, for å heller prioritere dette når jeg begynner å få til et system.

 

WiFi og klient-passord er fjernet i bildet under, ellers er alt slik jeg fylte inn før jeg trykket save.

 

Jeg klarer ikke å se at subscribe-feltet er påkrevd (nå er jeg ikke superstødig i c/c++), men det kan hende at det blir feil å la det stå tomt. Kan du prøve å sette det til f.eks "home/meter/set".

 

Det subscribe gjør er å lytte på en MQTT-topic. Så når du sender ut noe på topic "home/meter/set" så vil ESPen fange det opp å foreta seg noe. Men den delen av koden er ikke der så ingenting vil skje. Men prøv å sett den alikevell.

Lenke til kommentar
Del på andre sider

Prøvde igjen, dessverre det samme. 

Det virker som det går gjennom, den lagrer og Mac/iPhone mister kontakten.  Men etter et par minutt kobler den til igjen... da skulle vel egentlig ikke AP eksistere?

vanskelig å si hva som gjør det. 

 

Får teste med seriell tilkoblet litt senere. 

 

Vet jo at jeg kommer rundt det manuelt, men syns det hadde vært greit å få fikset dette «en gang for alle». Sikkert andre som vil møte på samme feil. 

 

Skal også teste chrome på Windows, mulig det funker normalt der. 

Endret av DIYglenn
Lenke til kommentar
Del på andre sider

4 timer siden, xibriz skrev:

Du må nok sjekke serial output. Du koblet opp på 2.4GHz nett? ESP støtter ikke 5GHz. 

Dessverre gjør det ikke det. 

Jupp, Apple router med 2.4 og 5GHz i samme SSID. 

Funker med Wemos D1 Mini. 

 

Skal sjekke med serial samtidig så det er litt mer debug å hente. 

Endret av DIYglenn
Lenke til kommentar
Del på andre sider

  • 2 uker senere...
On 20/05/2018 at 12:18, StenO said:

Byte   Verdi	
00-15: ASCII målernummer
16-23: Import energi totalt (Wh)
24-31: Eksport energi totalt (Wh)
32-39: Reaktiv energi totalt R+ (VArh)
40-47: Reaktiv energi totalt R- (VArh)
48-51: Import effekt totalt (W)
52-55: Eksport effekt Totalt (W)
56-59: Reaktiv effekt totalt R+ (VAr)
60-63: Reaktiv effekt totalt R- (VAr)
64-69: ????
70-73: Forbruk fase 1 (W)
74-77: Forbruk fase 2 (W)
78-81: Forbruk fase 3 (W)
82-83: Spenning fase 1 (V) *10
84-85: Spenning fase 2 (V) *10
86-87: Spenning fase 3 (V) *10
88-89: Strøm fase 1 (A) *10
90-91: Strøm fase 2 (A) *10
92-93: Strøm fase 3 (A) *10
94-95: Frekvens (Hz) *100

Det viste seg at det jeg trodde var effekt eksport alltid var null uansett hvor mye jeg leverte inn til nettet - men de andre tallene så ut til å stemme. 

Tror også ganske sikkert at 56 - 63 er reaktiv effekt. I alle fall teller 40-47 opp når jeg har verdier i 60-63 ig 40-47 stemmer med avlesning på displayet på måleren.

Aner fremdeles ikke hva 64-69 inneholder, men nå tenker jeg det greier seg for min del :-)

 

image.thumb.png.da5c42f886b955c45c2f12674aed79d7.png

 

Har du fått verifisert dataene du hentet du av SLIP-meldingen?

 

Hos meg ligger alltid fase 2 på 0, både i W og A

 

Her er et eksempel på eksporten fra AIDON-måleren

37 33 35 39 39 39 32 39 30 34 34 37 39 38 37 32 a6 1d 9e 00 00 00 00 00 29 f9 0a 00 00 00 00 00 da 02 00 00 00 00 00 00 86 c3 2a 00 00 00 00 00 50 0e 00 00 00 00 00 00 00 00 00 00 38 03 00 00 9c 71 00 00 d5 0c b2 03 00 00 00 00 00 00 a3 0a 00 00 5a 09 57 09 59 09 6f 00 00 00 86 00 8b 13 03 3e 45

 

Lenke til kommentar
Del på andre sider

5 hours ago, StenO said:

Jeg har ikke gjort noen flere studier på feltene 64-69. Det andre ser ut til å stemme ganske godt.

Er din fase 2 tilkoblet i det hele tatt?

 

Ja, har alle faser tilkoblet. Ser noen felter stemmer, men andre ikke gjør det. Kan være konverteringen jeg har mellom serial og slip data - hvilke kode brukte du fra rådata (buffer) -> slip?

 

Er det korrekt hos deg at total eksport resettes ca kl. 09:05 om morgenen (den teller opp kwH opp til det tidspunktet, så resettes) og import ca 13:30 (dog jeg får de dataene på byte 40-47

 

Dette kan bunne seg i feil i konverteringen til slip - brukte aidon scriptet til en tidligere her i tråden til å lage slip, og node red til å dekode den.

 

#!/usr/bin/python

import serial
import time
import struct
import sys
import paho.mqtt.client as mqtt
import binascii

client = mqtt.Client()

client.connect("192.168.1.5", 1883, 60)
client.will_set("AMS/raw", payload=None, qos=0, retain=True)


# SLIP constants
FEND = '\xc0'


def parse(pkt):
    print "".join("{:02x}".format(ord(c)) for c in pkt)

    print len(pkt)
   # pkt = pkt[len(pkt)-79:]
   # print pkt
    if len(pkt) == 99:

        client.publish(
            "AMS/slip", "".join("{:02x}".format(ord(c)) for c in pkt))

    else:
        print "Length mismatch"


if len(sys.argv) != 2:
    print "Missing port argument"
    sys.exit(0)

buf = ""
ser = serial.Serial(sys.argv[1], baudrate=9600,
                    timeout=0, parity=serial.PARITY_NONE)

while(1):
    if ser.inWaiting():

        buf += ser.read(200)
        if FEND in buf:
            # Split message at the SLIP FEND character
            [pkt, buf] = buf.split(FEND)
            # Replace escape sequences in SLIP message
            pkt = pkt.replace("\xdb\xdc", "\xc0")
            pkt = pkt.replace("\xdb\xdd", "\xdb")

            parse(pkt)


client.loop_forever()

 

 

Lenke til kommentar
Del på andre sider

Kanskje det er noe du umiddelbart ser her:

 

Her er avlesning av smappee (CT-klammer og har faktisk vært svært nøyaktig)

 

Instantaneous values:
voltage=238.7 Vrms
FFTComponents:
Phase 1:
current=14.416 A, activePower=1940.644 W, reactivePower=428.337 var, apparentPower=1987.353 VA, cosfi=97, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:
Phase 2:
current=7.178 A, activePower=899.165 W, reactivePower=413.203 var, apparentPower=989.563 VA, cosfi=90, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:
Phase 3:
current=14.016 A, activePower=1690.717 W, reactivePower=935.241 var, apparentPower=1932.149 VA, cosfi=87, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:
Phase 4:
current=3.741 A, activePower=500.929 W, reactivePower=122.928 var, apparentPower=515.792 VA, cosfi=96, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:
Phase 5:
current=3.654 A, activePower=487.369 W, reactivePower=127.734 var, apparentPower=503.83 VA, cosfi=96, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:
Phase 6:
current=3.71 A, activePower=498.271 W, reactivePower=115.807 var, apparentPower=511.552 VA, cosfi=97, quadrant=0, phaseshift=0.0, phaseDiff=0.0
FFTComponents:


Phase 1, peak active power 5995.763 W at 18/08/2018 17:57:40
Phase 2, peak active power 6578.69 W at 20/08/2018 16:42:05
Phase 3, peak active power 6440.171 W at 20/08/2018 15:38:15
active energy RMS per phase mapping combination
phase mapping 210=106.635 kWh [ -1/1]
phase mapping 12=217.655 kWh [* -1/3]
phase mapping 21=108.926 kWh [ 1/1]
phase mapping 102=116.397 kWh [ 1/1]
phase mapping 120=256.149 kWh [ 1/0]
phase mapping 201=125.505 kWh [ -1/0]

active energy RMS (solar) per phase mapping combination
phase mapping 210=2.34 kWh [ -1/1]
phase mapping 12=166.582 kWh [* -1/3]
phase mapping 21=2.432 kWh [ 1/1]
phase mapping 102=1.935 kWh [ 1/1]
phase mapping 120=110.533 kWh [ 1/0]
phase mapping 201=104.035 kWh [ -1/0]

 

Og SLIP data på samme tidspunkt

373335393939323930343437393837327b6b9e00000000004c360b0000000000da0200000000000031042b00000000002a0c000000000000000000004404000019720000160e10040000000000003a08000061095a095909710000006b0087130387ce

 

Lenke til kommentar
Del på andre sider

I den første meldingen får jeg denne analysen:

image.png.1f74439554d8672dc464627b7c7c046d.png

 

og for den andre slip meldingen denne: 

image.png.ef9c941e4509a8be5bccc7d6fb7d2525.png

 

Ser ikke ut til at du har noen belastning på fase 2 i denne beregningen.

Er åpen for at det er ting her jeg ikke har fått med meg eller som rett og slett er feil, men ser at Import effekt totalt ser ut til å stemme med sum av forbruk på fasene. Antar da at solcellene dine ikke bidrar til forbruket ditt.

 

Eksport sum (om det var den du mente) resettes ikke hos meg, jeg får heller ikke målingene dine til å stemme med tallene i meldingen slik jeg dekoder dem.

 

Overordnet ser det ut til at verdiene i meldingene jeg får stemmer ganske bra, men jeg har heller ikke kommet hel til bunns i dette.

 

 

Lenke til kommentar
Del på andre sider

1 hour ago, Christoffer said:

Det er ikke nødvendig for måleren å måle strømmen i L2 hvis du har IT/TT nett så er fullt mulig den bare er koblet til uten at det faktisk er noe som måler den. 

 

Interessant - jeg har 220V IT 3 fase. Noen grunn til at L2 ikke trengs å måles i måleren når den leverer strøm? Jeg er ingen elektriker, så er det mulig å regne ut L2 på hvis måleren ikke måler den?

Lenke til kommentar
Del på andre sider

  • 2 uker senere...

Hei.

Er det noen som har benyttet roarfred sin AmsToMqttBridge her?

Har fått koden ned på en D1 mini,  og BKK har åpnet for data.

Men eg får bare ut effekt data.. Er det noen som har fått dette til med BKK sine måler, og år ut data på spenning og strøm ?

Hvis noen har noen gode tips, så tar jeg i mot med stor takk.

Lenke til kommentar
Del på andre sider

3 hours ago, DIYglenn said:

Ja, dette er «Kaifa» måleren1f44c.png

Jepp det er den.. noen andre som bare får ut effekt hvert sekund, men ingen ting annet ved å benytte    AmsToMqttBridge? Kanskje noen som har funnet en løsning også?

Lenke til kommentar
Del på andre sider

52 minutter siden, Stedy skrev:

Jepp det er den.. noen andre som bare får ut effekt hvert sekund, men ingen ting annet ved å benytte    AmsToMqttBridge? Kanskje noen som har funnet en løsning også?

 

Kaifa hadde en firmwarebug i vår, usikker på om den er fikset og hva konsekvensen av feilen var. 

 

Se:

 

Edit:

Du kjører «include kaifa.h»?

Endret av ZoRaC
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.