Categories
Betraktelser & Berättelse Linux M2M programming Sensors Techstuff VSCP

Ny smart elmätare från Ellevio

An English version is here.

Ett kretskort (som jag tillverkat för att många frågat efter det) för att koppla upp sig mot smarta mätare finns här.

—————————————————————————————

Så monterades den då den nya elmätaren. Tydligen skall 5.4 miljoner nya mätare ut innan 2025. Jodå, jag har samlat data från dess föregångare (som bara satt monterad här i två år) rätt länge. S0-puls var inte tillgänglig för vanligt folk men den blinkande IR dioden var det. Så effekt och energi har jag alltså loggat. Jodå, jag har en till mätare också, på mitt kontor. Läser S0 och IR där och kan på så sätt skilja på husets totala elförbrukning och kontorets elförbrukning.

Men den nya elmätaren lovade mer. Ett seriell interface för kunder. En HAN port. Japp, definitivt sådant som en sådan som jag går igång på. Några minuter efter att den var installerad var kundinterfacet aktiverat. Bara att gå in i på “mina sidor” och aktivera. Smidigt. Info från Ellevio finns här.

Tyvärr han jag inte gå vidare med att bygga den interface logik som krävs för att kunna läsa ut värden från interfacet då den dan. Fick (otåligt) hålla mig till dagen efter eftersom jag hade annat att göra. Men det var mycket enkelt. En transistor några motstånd och en USB till serie konverter är allt som behövs. Sen kunde en Raspberry Pi läsa informationen som mätaren skickar ut. Man skulle lika gärna kunnat använda en ESP32’a eller en ESP8266, Arduino, eller en pc såklart. Inget konstigt, dyrt eller avancerat.

Den nya mätaren ger ström och spänning och aktiv och reaktiv last på alla faser separat. Plus summerad energi. Ja både in och ut, om man nu är en sådan som har ett vindkraftverk eller solpaneler på tomten. Härligheter för den som gillar data. All data skickas ut var tionde sekund.

Så vad skickar mätaren?

Efter vad jag förstår heter protokollet “P1 Companion Standard” som är baserad på IEC 62056-21 Mode D. Energiföretagen har gett ut en Branschrekommendation för lokalt kundgränssnitt för elmätare som beskriver funktion och protokoll. Man kan gissa att Ellevio inte är de enda som har det här kundinterfacet och protokollet.

Det seriella formatet är okrypterat med hastighet och format 115200,N,8,1. Lite standard. Sänds dock inverterat så det måste man ta hand om.

Kontakten på elmätaren är en RJ12 enligt nedan

Kundgränssnitt på elmätare

Mätaren skickar data på pin 5 när D_Rqst(RTS) är hög. Jag har testat anpassningskretsen nedan med både 5V och 3.3V och båda fungerar utmärkt.

Tittar man på hur gränssnittet på mätaren ser ut så förstår man att både 3.3V och 5V fungerar.

Kundgränssnitt på elmätare

Mätaren ger +5V, max 250mA ut på 5V.

En enkel krets är det enda som behövs för att anpassa det här till en USB TTL serieadapter som jag använt eller till de seriella kanalerna på en Raspberry Pi, Arduino eller annan enhet.

p1 serial interface

Välj 5V för VCC om rx skall anslutas till en 5V ingång (Arduino etc), annars välj 3.3V (ESP32/ESP8266/Raspberry Pi etc). I mitt fall så använder jag en USB till serie adapter som kan hantera TTL nivåer. Kom ihåg att koppla jorden också till den enhet som skall läsa data.

Om din mätare har strömmatning på 5V och om du vill köra VCC=3.3V så koppla inte VCC till strömmatningen på mätaren. Vid VCC=5V kan du välja om du skall strömförsörja lokalt eller externt. Bra är det att inte köra båda på samma gång.

Om du använder en usb till serie adapter som jag och Raspberry Pi så kommer den att bli tillgänglig som /dev/ttyUSB0, /dev/ttyUSB1, etc när den kopplas in. Med programmet Minicom kan du titta på den råa datan. Installera Minicom med

sudo apt install minicom

Vill du kunna öppna porten utan “sudo” så adderar du bara den användare du kör under (oftast “pi”) till dialout i /dev/group

Använd editorn nano eller vim eller din egen favorit.

Kör nu Minicom med

minicom -b115200 -D/dev/ttyUSB0

Addera sudo om du inte gjort ändringen i /dev/group.

Switcharna talar väl för sig själv. Men för säkerhets skull tar vi dom. -b sätter baudraten. -D anger den port som du vill kommunicera på. Du ändrar såklart till den port du använder. Om allt är som det skall skrivs följande ut på skärmen var tionde sekund

I det länkade dokumentet ovan finns en bilaga 3 som talar om vad respektive rad är för typ av data. Enkelt att “parsa”. Man har tänkt till.

För att avsluta Minicom skriver du

ctrl-A Z X 

och väljer “yes” när du får frågan “Leave Minicom?” Bäst att skriva det eftersom sekvensen inte är den första man kommer på.

Mer än så är det inte. Nu är det bara att skriva ett program som läser de här värdena och listar dem i diagram och tabeller. node-red är en utmärkt verktyg att använda för det här. node-red kan läsa från en seriell port direkt eller också kan man skriva en snutt som denna i Python

import serial

sio = serial.Serial(
port='/dev/ttyUSB1',\
baudrate=115200,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=12)

print("connected to: " + sio.portstr)
count=1

while True:
line = sio.readline().decode('ascii')
if (-1 != line.find("1-0:31.7.0")):
print("[" + line + "]")
print("Fas L1:"+line[11:-5]+ " " + line[-4])
print(float(line[11:-5]))

Lämpligen skickar man sen data till en MQTT broker eller liknande istället för att skriva ut den. Lite roligt kodande för en kväll helt enkelt.

Jag har knappat ihop projektet vscp-python-p1-power-meter som skickar sensorvärden till valfri MQTT broker. Gillar du inte VSCP så kan koden enkelt anpassas för andra format (det finns till och men en konfigurering för VSCP hatare ;-)). Jag tror att koden är ganska enkel att förstå. Konfigurering sker i filen config.ini och du har dokumentation på kodsidan. Nedan en skärmdump från MQTT explorer som visar MQTT VSCP data för spänning, fas 1 i realtid

Och strömmen för samma fas

Notera diagrammet nere till höger. En smidig finess i MQTT explorer för att snabbt visualisera data.

Såhär kan set se ut när data presenteras i node-red

Men det är mycket enkelt att göra en egen websida för att presentera data om man först sänder den till en MQTT broker. Websockets är din vän där. Skickar du VSCP events över det interfacet istället för någon annan slumpvis data så har du en lösning som både skalar och är återanvändbar på alla nivåer. Återkommer kanske senare med ett exempel som visar hur det där går till.

Ja och såhär någonting ser det ut när allt rullar.

Demo i realtid finns här

Drivare till VSCP daemon finns här.

Categories
Betraktelser & Berättelse

Björnar

Los ett tillhåll för Björnar och programmerare. Möter en man som definitivt föredrar det första före det andra på affären idag. Sådant man får överleva en dag i Los.

Categories
Betraktelser & Berättelse

Skydd

Förutom en lätt värk i vaccinationsområdet så allt bra på vaccinationsfronten. Min Indiske vän säger att “det är nu det börjar”. DNA i min kropp byts ut och jag kommer bli en lydig soldat i överhöghetens arme’. Som om jag inte var det redan. Deklaration inlämnas på rätt datum. Skatt betalas. Brott begås icke. Jag begår inte ens hor. Nejdå. Men kanske blir det värre nu… Återstår att se.

Men jag diskuterar alltså sällan med människor. Varken vänner i Indien eller på närmare håll. Det är liksom ingen ide’. Det finns för många rätt och bestämda åsikter där ute och jag har inte ett enda RÄTT svar att komma med. Har nog aldrig haft.

Men generellt sett skall man vara försiktig med att anse att andra är dumskallar. Ju fler man trycker är det desto större är sannolikheten att man själv är en. Man kan ha en dålig åsikt, men behöver inte vara en dålig person för det. Ja och då har vi inte ens berört rätten att ha en åsikt. Sådant man kan dö för.

Fast vad bryr sig en Facebook generation (ja alla är väl över femtio där numera) om sådant? En like till…

Hat och dumheter.

Fast man kan inte säga så mycket om det där alltså. Man har för många lik i sin egen källare. Kasta den första mobiltelefonbatteriet den som inte har det.

Nyinspelning av Saltkråkan. Blir en höjdare såklart med rätt skådisar och rätt produktion. Gillar och ser redan fram emot. Sverige är bra på det där och Astrids orginalmanus är såklart guld. Men det lär gnällas. “Det var bättre förr” hörs redan från mellansvenska tätorter där vinylskivar läggs på renoverade blänkande “bättre än förr” skivspelare.

Bodil och Kjell Anderson. Sicken kombo. Vinylen hyllas i den där boken. Gamla tider också. Jag skummar (rätt mycket) och kräks. Att Bodil Malmsten hade en sådan dålig smak. Verkade ju sympatisk för övrigt.

Jodå, den går att läsa den där boken. Lite roligt finns det hur som helst i den om man som jag gillar skvaller.

Sprutan, vaccinet, får jag förresten i vänster arm. Eftersom jag är socialist. Fast tänker sedan att då borde man kanske stuckit den högra. Kunde behövas lite ömhet och värk där högerut. Men det är klart. Här värker det lite och är dysfunktionellt i alla fall där på höger sida. Så skit samma. Det går på ett ut.

Snöstormen igår gick inte av för hackor. Horisontellt väder. Riktigt skitväder. Idag sol och en decimeter issnö. Lite helvetet över det hela om man tänker bort solen. Inte så stor skillnad från innan alltså.

Ser fram mot en dag när man kan åka mellan A och B i egen bil utan att oroa sig för att bensinen skall ta slut. Det är många år nu som tankning har skett på marginalerna. Det där är ett glädjeämne som inte så många uppskattar säkert. Man kan hitta många sådana om man vill. Glädjas eller gräva ner sig i deppigheten. Igår på väg tillbaks från vaccinationen tändes “tomt i tanken” lampan när jag var tillbaks i Los. Förr visste man att då kunde man åka fem sex mil lätt innan det hände något. Så en dag så gällde inte detta faktum och man stod där. Nu vet jag att när den där lampan tänds så är man nära slutet. Lämpligt att stoppa i en liter i alla fall om man har dom resurserna i plånboken och behöver färdas en mil till. Men kom hem med bilen den här gången också. Utan den där litern.

En full reservdunk… Tjugo år sedan kanske… En gång…

Tråkigt är det i alla fall inte. Möjligen lite tröttande.

Allt jag ger bort. Gratis. Musik, text, dataprogram, hårdvarukonstruktioner. Allt är på “all time low“. Som en prövning eller ett monument över undertecknads oduglighet. Ändå känner jag mig inte nedslagen av det där. Konstigt egentligen. Man borde bli deppig. Men har liksom blivit van. Kan möta det där med en ganska stor portion likgiltighet. Ljungström rekommenderade The Fool On The Hill. Ja och den är väl en låt som är som om den var skriven om mig från början. Skulle inte kunna känna mig mer träffad av en text. Fast Lennon/McCartney visste ju inte såklart vem jag var. Man projicerar in sig själv såklart med lätthet. Min moster Ruth tyckte istället att den här låten handlade dom mig. Fast det här ÄR jag. Ingen person är så enkel att en låt räcker som beskrivning av vem personen är. Det lär man sig som nyfiken.

Kör förresten gratisversionen av Spotify för tillfället. Reklam. Massor. Man kan bli galen för mindre. Ja om man nu som jag lyssnar på musik hela dagarna. Men man får såklart skylla sig själv om man lyssnar medelst gratisversion.

Skulle behöva en stor påse godis. För fredens skull.

Nu låtsas jag att …