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

Spørsmål

Skrevet

Hei!
Jeg har nettop startet med raspberry pi og python koding.
Jeg har satt opp en pi pico til å lese data fra HAN porten på min AIDON måler.
Jeg har en M-bus slave HAT og den virker greit. Dataen jeg får inn er problemet.

Jeg klarer å manuelt dekode OBIS kodene til å få ut verdiene, men jeg ønsker å lage en funksjon i micropython som gjør dette for meg.
Er det noen som kan vise meg veien videre?
Eksempel på raw data jeg får:
E6E7FF0F40FFFFFFFF01010203090601FF0107FFFF06FFFF1A8002020FFF161B18DC7E7EA10B41088313FA7CE6E7FF0F40FF
Takk på forhånd!
 

2 svar til spørsmålet

Anbefalte innlegg

  • 0
Skrevet (endret)

Da har jeg kommet noen hakk lenger.
https://aidon.com/wp-content/uploads/2023/06/AIDONFD_RJ45_HAN_Interface_EN.pdf   -> dokumentasjon på AIDON RJ45 HAN
Ut i fra min AIDON måler, er dette en raw output av liste 2.
7ea10b41088313fa7ce6e7ff0f40ffffffff010c020209060101ff0281ff0a0b4149444f4e5f563030303102020906ffff6001ffff0a103733353939393239303737363335313002020906ffff600107ff0a04363532350203090601ff0107ffff06ffff14e902020fff161b0203090601ff0207ffff06ffffffff02020fff161b0203090601ff0307ffff06ffffffff02020fff161d0203090601ff0407ffff06ffffff1e02020fff161d0203090601ff1f07ffff10ff8d02020fff16210203090601ff4707ffff10ffa002020fff16210203090601ff2007ffff12092602020fff16230203090601ff3407ffff12092802020fff16230203090601ff4807ffff12092a02020fff16236b4e7e

I grønt her har jeg markert korrekt obis for Active power +. 
Jeg var forvirret en stund da jeg ikke fant riktige OBIS koder.
I dokumentasjonen står feks Active Power+  som OBIS :  1-0:1.7.0.255
Først oversatte jeg dette til 01 00 01 07 00 FF. Men i HEX blir dette:   01 FF 01 07 FF FF 06
Så for de av dere som kommer bort i samme problem, er det nok for at hex 00 som er den riktige oversettelsen av int 0 blir erstattet med FF for placeholder eller "ingen verdi"
06 som kommer etterpå angir hva slags type format "value" er i. Så for denne koden, 06 blir det double-long-unsigned. Eller de neste 4 bytes etter 06. Som da blir 8 hex characters. 

                      
01ff0107ffff06ffff14e9
Blir da korrekt oversatt: 
01FF0107FF -> OBIS kode for Active Power+
06 -> double-long-unsigned. Altså les de neste 4 bytes eller neste 8 hex.

FFFF14E9 -> 5353 i decimal. /1000 blir dette 5.3 kW som var strømforbruket mitt på det tidspunktet. 

Her er en komplett obis dictionary for python for å lese av de korrekte kodene. 
Merk, at dette er list 3. Som inneholder både list 1 og list 2. Men noen av dataen her blir bare sendt ut hvert 60 minutt. 

OBIS_CODES = {
    "01FF0107FFFF06": {"description": "Momentary Active power+ (Q1+Q4)", "type": "double-long-unsigned"},
    "01FF0207FFFF06": {"description": "Momentary Active power- (Q2+Q3)", "type": "double-long-unsigned"},
    "01FF0307FFFF06": {"description": "Momentary Reactive power+ (Q1+Q2)", "type": "double-long-unsigned"},
    "01FF0407FFFF06": {"description": "Momentary Reactive power- (Q3+Q4)", "type": "double-long-unsigned"},
    "01FF1F07FFFF10": {"description": "IL1 Current phase", "type": "long-signed"},
    "01FF2007FFFF12": {"description": "IL2 Current phase", "type": "long-signed"},    
    "01FF3307FFFF12": {"description": "IL3 Current phase", "type": "long-signed"},
    "01FF4707FFFF10": {"description": "UL1 Phase voltage", "type": "long-unsigned"},
    "01FF3407FFFF12": {"description": "UL2 Phase voltage", "type": "long-unsigned"},
    "01FF4807FFFF12": {"description": "UL3 Phase voltage", "type": "long-unsigned"},
    "FFFF6001FFFF0A": {"description": "Meter ID", "type": "visible-string"}, 
    "FFFF600107FF0A": {"description": "Meter type", "type": "visible-string"},             
    "FFFF01FFFFFF09": {"description": "Clock and date in meter", "type": "octet-string"},  
    "0101FF0281FF0A" :{"description": "Obis list identifier", "type": "visible-string"},
    "01FF0108FFFF06" :{"description": "Cumulative hourly active import +", "type": "double-long-unsigned"},
    "01FF0208FFFF06" :{"description": "Comulative hourly active export -", "type": "double-long-unsigned"},
    "01FF0308FFFF06" :{"description": "Comulative hourly reactive import +", "type": "double-long-unsigned"},
}
 

Endret av hellands
  • Like 2
  • 0
Skrevet

Artig prosjekt 🙂! Nå finnes det allerede åpen kildekode HAN port leser, men det må være gøy å ha kompetansen til å lage sin egen. Jeg er så langt fornøyd med å kunne redigere tilstrekkelig på yaml kode til å få alt i huset koblet til Home Assistant. (Med unntak av Namron komfyvakt som ikke vil fungere stabilt hverken på ZHA eller Z2M i Home Assistant). Håper du kommer i mål og publiserer resultatet, så får vi andre tilgang til en mulig løsning til. 👍🏻

  • Like 1

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
Svar på spørsmålet...

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