452 836 läst · 1 798 svar
453k läst
1,8k svar
Elmätare, H1-port / P1-port / HAN-port (många namn verkar florera)
ESP8266 kör jag, men den är på håret utifrån vad elmätaren levererar. Jag har gjort ett flertal justeringar, men har fortfarande enstaka strömspiksar som bråkar.J Jannet skrev:
När elmätaren stängt av strömmen så är den i mitt fall avstängd flera minuter, vilket gör det jobbigt att prova sig fram också.
Jag kör med mjukvara istället för hårdvara på serieporten gör att spara ström. Jag har ett antal "delat()" i koden i huvudloopen och även under initieringen för att spara ström.
Har inte satt in en kondensator mellan 3,3V och GND än, men det skall in också...
Medlem
· Stockholm
· 1 315 inlägg
Menar du att elmätaren stänger av matningen pin 1 emellanåt?pacman42 skrev:
ESP8266 kör jag, men den är på håret utifrån vad elmätaren levererar. Jag har gjort ett flertal justeringar, men har fortfarande enstaka strömspiksar som bråkar.
När elmätaren stängt av strömmen så är den i mitt fall avstängd flera minuter, vilket gör det jobbigt att prova sig fram också.
Jag kör med mjukvara istället för hårdvara på serieporten gör att spara ström. Jag har ett antal "delat()" i koden i huvudloopen och även under initieringen för att spara ström.
Har inte satt in en kondensator mellan 3,3V och GND än, men det skall in också...
Medlem
· Stockholm
· 1 315 inlägg
Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.J Jannet skrev:
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
Där har jag nog mitt problem med koden jag använder drar för mycket.B Bo Berglund skrev:Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
Var kopplas kondensatorn in någonstans?B Bo Berglund skrev:Om man överbelastar matningen från mätaren så kan den stängas av och slås på igen efter ett tag (minuter). Därför är det viktigt att se till att ESP8266 körs med så strömsnål kod som möjligt.
Om man sätter in en delay på 1-2 millis i loop() så gör det stor skillnad. För mig sänkte det med 50%.
Och den stora kondensatorn tar hand om strömspikar vid användning av WiFi (sändning).
Medlem
· Stockholm
· 1 315 inlägg
Det som drar mycket är att i drift är det långa pauser när inget händer (typ 10 s mellan datapaketen) och då snurrar den vansinnigt fort runt i loopen. Och där brukar det finnas några funktioner som används tex för att uppdatera firmware via WiFi. De funktionerna anropas flera tiotusentals gånger per sekund och då jobbar de med WiFi-kretsarna som drar extra ström.J Jannet skrev:
Om man lägger in 1 ms delay i loopen så är max frekvens plötsligt nere i 1000 Hz och mycket färre såna anrop görs ==> strömförbrukningen minskar....
Medlem
· Stockholm
· 1 315 inlägg
Hej, jag har spenderat kvällen/dagen med att försöka få till en ESP8266-P1 mätare till min Kamstrup Omnia-mätare från göteborgs energi. Jag har använt denna:
https://github.com/UdoK/esp8266_p1meter_sv
Jag har någon D1 klon.
Jag har lött ihop enligt RJ12-instruktuionen med matning från mätaren. Nu när jag kopplar in mätaren så får jag kontakt med Mosquitto MQTT-Broker i home assistant.
jag får livtecknet: p1 meter alive: p1meter
Dock får jag inga andra datapaket, det jag tror jag fastnar på att jag inte får Serial.available().
Någon som har någon ide om vad jag ska testa? Vad jag förstått så är mätarnas p1-port aktiverad från start från gbg-energi?
https://github.com/UdoK/esp8266_p1meter_sv
Jag har någon D1 klon.
Jag har lött ihop enligt RJ12-instruktuionen med matning från mätaren. Nu när jag kopplar in mätaren så får jag kontakt med Mosquitto MQTT-Broker i home assistant.
jag får livtecknet: p1 meter alive: p1meter
Dock får jag inga andra datapaket, det jag tror jag fastnar på att jag inte får Serial.available().
Någon som har någon ide om vad jag ska testa? Vad jag förstått så är mätarnas p1-port aktiverad från start från gbg-energi?
Medlem
· Stockholm
· 1 315 inlägg
När jag fick igång kopplingen till mina två HAN-enablerade mätare, som tillhandahölls av Eon resp Vattenfall, så var man tvungen att "aktivera" porten hos nätägaren.R Ryden skrev:
Aktiveringen medförde två saker:
1) Det kommer ut +5V matning på RJ12 stift 1 medf jord på stift 3 och 6
2) Datautmatningen är aktiverad och styrs nu av ingången på stift 2 (data-REQ)
Dvs i ditt fall får du igång din avläsare eftersom den kontaktar MQTT-servern, alltså har du 5V tillgängligt.
För att få ut data måste du nu koppla ihop RJ-12 stift 2 (REQ) med stift 1 (+5V) annars sänds inga data ut på stift 5.
Du kan antingen koppla ihop 1-2 permanent (har jag gjort) och då får du data i paket var 5:e eller 10:e sekund, eller också kör du databegäran från din ESP8266 så att den lägger stift 2 hög när den vill få ett paket data och tar ner den när paketet mottagits. En filosofi-fråga egentligen.
I det första fallet behövs det någon mjukvarufiltrering om man inte vill sända till MQTT var 5-10:e sekund och i det andra sover läsaren mellan de önskade datatiderna och kommenderar sändning vid behov.
Och glöm inte att mätaren sänder data inverterat mot vad ESP8266 väntar sig, dvs du måste sätta in en inverterare mellan mätaren och ESP8266 (en transistor och ett par motstånd). När du gör detta så se till att spänningen till inverterarens utgång tas från 3.3V och INTE 5V, för ESP8266 klarar inte 5V på ingångarna.