Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chit chat issue #4

Open
nldroid opened this issue Jan 10, 2020 · 158 comments
Open

Chit chat issue #4

nldroid opened this issue Jan 10, 2020 · 158 comments

Comments

@nldroid
Copy link
Owner

nldroid commented Jan 10, 2020

Issue topic voor algemene vragen en opmerkingen. Gooi hier alles in wat je wilt. Dan kunnen we de issues echt gebruiken voor bugs.

@tbrasser
Copy link

Is er een mogelijkheid om UART0 te gebruiken via ESPHome? Want die kan je volgens mij de boolean Inverted meegeven, misschien is het dan mogelijk om de meter uit te lezen zonder extra hardware?

@WiebKastanje
Copy link

WiebKastanje commented Jan 15, 2020

Ik ben niet zo van de software, meer van de hardware.

Een ESP8266 (D1mini ESP8266) heeft slechts 1 hardware UART (UART0). Deze wordt in ESPHome gebruikt voor de logger met output via de USB poort.
Daarom wordt de software UART van ESPHome gebruikt voor applicaties. En die heeft helaas geen Inverted boolean. De logger kan uitgezet worden in ESPHome, zodat de UART0 voor andere dingen ingezet kan worden.
Misschien kan iemand voor ESPHome een Inverted boolean voorstellen/maken?

Een ESP32 (D1mini ESP32) heeft daarentegen 4 hardware UARTs (UART 0-3). Die is met ESPHome zeer geschikt voor het uitlezen van de slimme meter.

Waarom is de D1mini ESP32 minder populair? De vormfactor is hetzelfde als de D1mini 8266, maar de prijs is circa 3x hoger. Een D1mini EPS8266 kost ongeveer EUR 1,50.
Een D1mini ESP32 kost ongeveer EUR 5,00.

Voor mijn slimme meter zou ik liever een ESP32 willen gebruiken, want extra hardware om een signaal te inverteren is niet handig. Bovendien heeft de ESP32 een stabielere WiFi omdat het meerdere processor cores heeft. (hogere prijs komt uiteraard door extra hardware functionaliteit)

@tbrasser
Copy link

Ja ik beschik ook over een ESP32. Heb het uart component al aangepast naar Inverted, vanavond eens kijken of 't werkt met dit custom_component eroverheen.

Misschien dat ik ga kijken of ik die boolean configureerbaar kan maken.

Het principe zou iig moeten werken, volgens deze gast: https://www.esp32.com/viewtopic.php?t=4719#p20712

@nldroid
Copy link
Owner Author

nldroid commented Jan 15, 2020

Dat zou mooi zijn. Dan heeft een ESP32 ineens extra toegevoegde waarde. Scheelt extra hardware.

@nldroid
Copy link
Owner Author

nldroid commented Jan 15, 2020

Ik heb een ESP32 board besteld. Moet uit China komen maar als hij binnen is, kan ik er mee testen.

@WiebKastanje
Copy link

Ik heb een ESP32 board besteld. Moet uit China komen maar als hij binnen is, kan ik er mee testen.

Ik heb er nog wel eentje liggen. Zal ik die via PostNL naar je sturen?

@nldroid
Copy link
Owner Author

nldroid commented Jan 15, 2020

Ik heb een ESP32 board besteld. Moet uit China komen maar als hij binnen is, kan ik er mee testen.

Ik heb er nog wel eentje liggen. Zal ik die via PostNL naar je sturen?

Alleen als je zelf haast hebt :) Ik heb mijn Wemos (en de rest) inmiddels op een PCB gesoldeerd en vanavond print ik het laatste onderdeel van het kastje met de 3D printer. Voor mijzelf is het goed zo.

@WiebKastanje
Copy link

Ik heb een ESP32 board besteld. Moet uit China komen maar als hij binnen is, kan ik er mee testen.

Ik heb er nog wel eentje liggen. Zal ik die via PostNL naar je sturen?

Alleen als je zelf haast hebt :) Ik heb mijn Wemos (en de rest) inmiddels op een PCB gesoldeerd en vanavond print ik het laatste onderdeel van het kastje met de 3D printer. Voor mijzelf is het goed zo.

Altijd leuk om voortgang te boeken., maar....
het moet voor jou niet op werk gaan lijken.
Dus ik wacht je resultaat af zonder tijddruk van mijn zijde.

Misschien wel leuk om foto's van jouw eindresultaat te posten.

@nldroid
Copy link
Owner Author

nldroid commented Jan 15, 2020

Deze ligt nu in mijn meterkast. Zal wel een plaatje schieten met het kastje er omheen.

image

@tbrasser
Copy link

tbrasser commented Jan 15, 2020

waar halen jullie die rj11/rj12? kabels. Ik heb alleen maar rj11 telefoon kabel liggen met maar 2 aangesloten aderen 🎉

verder lijkt alles te werken, hij is al zichtbaar in home-assistant, nu nog een donor kabel vinden dus.

@WiebKastanje
Copy link

waar halen jullie die rj11/rj12? kabels. Ik heb alleen maar rj11 telefoon kabel liggen met maar 2 aangesloten aderen 🎉

verder lijkt alles te werken, hij is al zichtbaar in home-assistant, nu nog een donor kabel vinden dus.

Ik heb nog wel een kabeltje liggen van de tijd waarin we met een modem werkten. Stuur me een PM met je adres en ik doe 'm in een envelop voor je.
Of anders bij een lokale elektronica hobby zaak. Die knijpen ook wel een stekkertje aan een stukje kabel voor je.

@nldroid
Copy link
Owner Author

nldroid commented Jan 16, 2020

De Gamma heeft ze (in de winkel goedkoper dan online). En je hebt speciale kabelshops zoals allekabels.nl en onlinekabelshop.nl.

@tbrasser
Copy link

Het werkt!

Nog wel hardcoded, maar naast een 1.5k weerstand geen extra hardware nodig dus met een ESP32!
(Landis Gyr E350 DSMR 4.0)

@WiebKastanje
Copy link

WiebKastanje commented Jan 21, 2020

Wow, dat is mooi!! Een werkende oplossing met ESP32.

Wil je de code in je repository updaten?
Dat zou voor mij heel fijn zijn want dan kan ik aan de slag met mijn SAGEMCOM XS210 ESMR5 meter.
sagemcom

@nldroid
Copy link
Owner Author

nldroid commented Jan 21, 2020

Het werkt!

Nog wel hardcoded, maar naast een 1.5k weerstand geen extra hardware nodig dus met een ESP32!
(Landis Gyr E350 DSMR 4.0)

Laat maar weten wat er voor aanpassing nodig is. Dan kan ik het er bij zetten.

@tbrasser
Copy link

Ik probeer deze week m'n forks van deze repo en esphome te updaten. 👍

@WiebKastanje
Copy link

Ik probeer deze week m'n forks van deze repo en esphome te updaten. 👍

Hoi @tbrasser Heb je nog even tijd om jouw esphome Landis Gyr E350 DSMR 4.0 project te updaten. Ik zou er graag mee gaan werken voor mijn SAGEMCOM XS210 ESMR5.
Dank bij voorbaat !

@johanneswilkens
Copy link

Hoi! Zie ik het goed dat je hier een 5V signaal direct op een 3.3V gpio aansluit? Heeft er niemand problemen gehad met dat je er een poort uitblaast zo? Of heeft die esp iets van ingebouwde beveiliging?

@nldroid
Copy link
Owner Author

nldroid commented Feb 25, 2020

Op welke gpio staat er 5 volt dan?

@WiebKastanje
Copy link

WiebKastanje commented Feb 25, 2020

Op welke gpio staat er 5 volt dan?

Volgens schema zit D2 aan pin 2 van 74HC04.
Deze 74HC04 wordt door 5 Volt gevoed.
D2 wordt dus 5 Volt bij logisch hoog.
schema

@tbrasser
Copy link

De gpio pinnen op iig de esp8266 zijn 5v tolerant. Had ooit dezelfde vraag en heb 't uiteindelijk aan iemand van espressif gevraagd (kan 't zo even niet meer terugvinden). m'n esp32 lijkt 't ook prima te handelen.

(PS Ik ga echt binnenkort m'n no-extra-hardware esp32 config laten zien, maar ben er wegens drukte nog niet aan toegekomen om m'n private info ertussenuit te halen.)

@nldroid
Copy link
Owner Author

nldroid commented Feb 25, 2020

Op welke gpio staat er 5 volt dan?

Volgens schema zit D2 aan pin 2 van 74HC04.
Deze 74HC04 wordt door 5 Volt gevoed.
D2 wordt dus 5 Volt bij logisch hoog.

Je hebt helemaal gelijk :)

@WiebKastanje
Copy link

(PS Ik ga echt binnenkort m'n no-extra-hardware esp32 config laten zien, maar ben er wegens drukte nog niet aan toegekomen om m'n private info ertussenuit te halen.)

Top!

@tbrasser
Copy link

tbrasser commented Mar 8, 2020

staan erop! Wel dus hardcoded en niet netjes. Maar het is er iig.

https://github.com/tbrasser/CustomP1UartComponent
https://github.com/tbrasser/esphome

@gijsje
Copy link

gijsje commented Mar 31, 2020

FF een vraagje.
Ik ben deze aan het proberen in elkaar te zetten maar krijg het niet voor elkaar.
Eerste instantie heb ik een 7404 besteld voor de wemos d1 mini maar kreeg daar geen data door van mijn iskra ME382 ook met en zonder weerstand geprobeerd.
Nu heb ik een wemos esp32 binnen gekregen maar de "no extra hardware" optie is dat dan zonder de 7404?
Heeft er iemand een aansluit schema van?
Heb je voor esphome een andere versie nodig voor de invert optie of zit dit al in esphome?

Thanks

@WiebKastanje
Copy link

FF een vraagje.
Ik ben deze aan het proberen in elkaar te zetten maar krijg het niet voor elkaar.
Eerste instantie heb ik een 7404 besteld voor de wemos d1 mini maar kreeg daar geen data door van mijn iskra ME382 ook met en zonder weerstand geprobeerd.
Nu heb ik een wemos esp32 binnen gekregen maar de "no extra hardware" optie is dat dan zonder de 7404?
Heeft er iemand een aansluit schema van?
Heb je voor esphome een andere versie nodig voor de invert optie of zit dit al in esphome?

Thanks

Hoi Gijsje,
Ik heb hetzelfde doorgemaakt, maar uiteindelijk is het mij gelukt.
Mijn voorkeur is ESP32 te gebruiken vanwege stabiliteit (deze heeft separate cores voor programma en wifi verwerking).
Ik wilde eigenlijk zonder 74HC04 (no extra hardware), maar dat vereiste ingrijpen in ESPHome met eigen source-code aanpassingen. Dat is mij niet gelukt, ondanks dat @tbrasser zijn repository beschikbaar heeft gesteld. Ik ben minder van software en meer van hardware. Dus daarom dan de 74HC04 toevoeging in mijn uiteindelijk werkende resultaat.

Mijn schema zal ik nog posten (moet ik even maken).
En ik heb een SAGEMCOM XS210 ESMR5 meter, dus ik weet niet of mijn oplossing ook voor jou gaat werken.

@WiebKastanje
Copy link

WiebKastanje commented Apr 21, 2020

Mijn schema zal ik nog posten (moet ik even maken).
En ik heb een SAGEMCOM XS210 ESMR5 meter, dus ik weet niet of mijn oplossing ook voor jou gaat werken.

Hierbij mijn gegevens:
Volgens de specificaties van mijn Dutch Smart Meter (DSM) is 5 Volt benodigd, maar het werkt perfect met 3,3 Volt rechtstreeks uit het ESP32 board.

De 74HC04 (de cmos versie) is ook gemaakt te werken op 3,3 Volt. Let op: de 74HCT04 (de TTL versie) werkt niet op 3,3 Volt.
Dus 3,3 Volt op pin 14 en GND op pin 7.
image

Mijn schema:
image

Nu de software nog:
Ik ga uit van de twee bestanden (dsmr.yaml en dsmr_p1_sensor.h ) zoals beschikbaar gesteld door @nldroid in CustomP1UartComponent, daar is deze post ook gedaan.

Afhankelijk van de ESP32 board uitvoering heb je meer of minder GPIO’s tot je beschikking.
Ik heb de MH-ET LIVE ESP32 miniKIT
https://www.aliexpress.com/item/32816065152.html
image
De ESP32 heeft 4 UARTs.
In de ESPHome yaml file (dsmr.yaml) wordt debug logger gedefinieerd, deze gebruikt UART1:
image

Ik heb gekozen om UART2 te gebruiken voor DSM data input. De RX pin van UART2 is GPIO16.
Dit betekent dat in de ESPHome yaml file (dsmr.yaml) dit gedefinieerd moet worden:
image

Omdat de origineel gedefinieerde data-request output pin (D5) niet beschikbaar is op mijn ESP32 board, heb ik die ook moeten wijzigen. Ik heb gekozen voor GPIO18. Die pin wordt gedefinieerd en gebruikt in het bestand dsmr_p1_sensor.h helemaal onderaan op vier plaatsen:
image

ESPHome eerst een clean build laten doen:
image

Voor de zekerheid een Validate
image

en dan Upload.

Voor mijn SAGEMCOM XS210 ESMR5 werkt het perfect.
image

@gijsje
Copy link

gijsje commented Apr 21, 2020

Dank je voor de uitleg ik zal morgen eens kijken of ik het werkend krijg

@mosjonathan
Copy link

Hi allemaal,

Ik aan het proberen dit na te bouwen met esphome in hassio.

Waar moet ik de component dsmr laten?
In de config die van de esp of ergens anders?

@nldroid
Copy link
Owner Author

nldroid commented May 8, 2020

dsmr_p1_sensor.h kan (moet) gewoon bij de yaml file staan

@hSoubry
Copy link

hSoubry commented Apr 7, 2021

Er komt dus geen data binnen.

  • ofwel is de pin 18 niet hoog, en stuurt de meter geen data
  • ofwel werkt de uart niet zoals verwacht.
    Met een multimeter kan je eens meten of pin 18 wel op 3V3 staat.
    Met een scoop kan je kijken of er data verstuurt wordt naar pin 16

Ik heb geen ervaring met de D1 Mini ESP32. Ben je zeker dat die correct geconfigureerd is? ( platform: ? board: ?)
Op de facebook Esphome groep toevallig recent ook een melding gezien van iemand die problemen had met dit bord.
Heb je iets anders om eens mee te proberen?

@sanderlv
Copy link

sanderlv commented Apr 7, 2021

Het werkt! 1kOhm tussen de RX en TX en het loopt... nu nog de power "solven"

@bjornmorsman
Copy link

Voor diegene die ooit zelfde probleem zouden hebben (ontbrekende metingen), ik heb dit moeten doen in m'n config om het werkend te krijgen.

  • disable logging
  • change the UART for logging..

logger:

    level: NONE

    hardware_uart: UART1

Ah ok, ik heb daar geen last van. Ik maak gebruikt van de 2e uart, zodat de originele uart voor de logging en flashen blijft.

Zie ook mijn onderaan mijn blog

Hoi Zuidwijk,

kun je me misschien helpen? ik heb UART2 gebruikt voor de connectie met mijn slimme meter, maar ik moet de log open laten staan anders krijg ik geen status updates meer van de slimme meter.

Dit geld ook voor UART1.

ik krijg met geen mogelijkheid nieuwe status updates binnen als ik de esphome log sluit, na een install via esphome haalt hij de gegevens 1 keer op en daarna niet meer, totdat ik de log open.

mvg,

Bjorn Morsman

@zuidwijk
Copy link

Voor diegene die ooit zelfde probleem zouden hebben (ontbrekende metingen), ik heb dit moeten doen in m'n config om het werkend te krijgen.

  • disable logging
  • change the UART for logging..

logger:

    level: NONE

    hardware_uart: UART1

Ah ok, ik heb daar geen last van. Ik maak gebruikt van de 2e uart, zodat de originele uart voor de logging en flashen blijft.
Zie ook mijn onderaan mijn blog

Hoi Zuidwijk,

kun je me misschien helpen? ik heb UART2 gebruikt voor de connectie met mijn slimme meter, maar ik moet de log open laten staan anders krijg ik geen status updates meer van de slimme meter.

Dit geld ook voor UART1.

ik krijg met geen mogelijkheid nieuwe status updates binnen als ik de esphome log sluit, na een install via esphome haalt hij de gegevens 1 keer op en daarna niet meer, totdat ik de log open.

mvg,

Bjorn Morsman
En wat als je dit gebruikt?
Ik zelf heb D7/GPIO13 (uart-swap) zodat de Rx vrij blijft (mijn inverter trekt de Rx laag omdat de input met pull up hoog is)

# Enable logging
logger:
  level: DEBUG
  esp8266_store_log_strings_in_flash: False

# Enable Home Assistant API
api:
  password: ""

ota:
  password: ""
  
uart:
  - rx_pin: D7
    baud_rate: 115200
    id: uart_bus  

sensor:
  - platform: custom
    lambda: |-
      auto dsmr_p1_sensor = new CustomP1UartComponent(id(uart_bus));

@zuidwijk
Copy link

Hallo, graag zou ik wat hulp krijgen. Ik heb het powerverhaal even geparkeerd en probeer nu alleen data te verkrijgen.
mijn setup:
ESP: D1 Mini ESP32
ESPHOME: v1.18.0 (ivm invert: true onder uart)
Meter:
image

meer informatie: Middels een slimme meter kabel lees ik jaren succesvol uit. Echter wil ik de server met homeassistant erop verplaatsen en over op esphome.

Yaml: gelijk aan:
https://github.com/nldroid/CustomP1UartComponent/blob/master/read_p1.yaml

Extra:

uart:
  - rx_pin: 16
    baud_rate: 115200
    id: uart_bus
    invert: true
    data_bits: 8
    parity: NONE
    stop_bits: 1

https://github.com/nldroid/CustomP1UartComponent/blob/master/dsmr_p1_sensor.h aangepast volgens:
#4 (comment)
naar:

  void setup() override {
    lastread = 0;
	pinMode(18, OUTPUT); // Set GPIO18 as output pin
	digitalWrite(18,LOW); // Set low, don't request message from P1 port
  }
  
  void loop() override {
	unsigned long now = millis();
	
	if (now - lastread > DELAY_MS || lastread == 0) {
		lastread = now;
		digitalWrite(18,HIGH); // Set high, request new message from P1 port
		if (data_available()) { // Check for x seconds if there's data available
			bool have_message = read_message();
			if (have_message) { 
				digitalWrite(18,LOW); // Set low, stop requesting messages from P1 port
			} // If No message was read, keep output port high and retry later
		} else {
				ESP_LOGD("DmsrCustom","No data available. Is P1 port connected?");
		}	
	}
  }	

};

3 draadjes (zonder weerstand?) vanaf poort RJ11:
P1 Pin 2 naar ESP pin 18
P1 Pin 3 naar ESP GND (alle GND pinnen geprobeerd :-))
P1 Pin 5 naar ESP pin 16
(ook draaien pin 18 en 16 geprobeerd)

Maar er komt helemaal niets binnen... :-)

p1

help... ik ben ff door mijn opties heen... ideeen?

Zet pin 2 eens op de +5v (is de enable pin)

@sanderlv
Copy link

Zet pin 2 eens op de +5v (is de enable pin)

Bedoel je dit in relatie tot de power vraag of de data vraag?

Data is namelijk solved, power komt niet zodanig uit de meter dat de esp powered wordt (wat een rare zin :-))

@zuidwijk
Copy link

Zet pin 2 eens op de +5v (is de enable pin)

Bedoel je dit in relatie tot de power vraag of de data vraag?

Data is namelijk solved, power komt niet zodanig uit de meter dat de esp powered wordt (wat een rare zin :-))

Dan heb ik dat gemist ;) ik reageerde idd op dit:

3 draadjes (zonder weerstand?) vanaf poort RJ11:
P1 Pin 2 naar ESP pin 18
P1 Pin 3 naar ESP GND (alle GND pinnen geprobeerd :-))
P1 Pin 5 naar ESP pin 16
(ook draaien pin 18 en 16 geprobeerd)

Maar er komt helemaal niets binnen... :-)

Voor wat betreft de power issue

Data is namelijk solved, power komt niet zodanig uit de meter dat de esp powered wordt (wat een rare zin :-))

Daar moet je een aantal condensatoren voor gebruiken (en pin 1 & 6 gebruiken voor de voeding).
Ik heb parallel 100u, 10u, 1u, 0,1u omdat de specificatie dat zegt ;-)

@sanderlv
Copy link

Daar moet je een aantal condensatoren voor gebruiken (en pin 1 & 6 gebruiken voor de voeding).
Ik heb parallel 100u, 10u, 1u, 0,1u omdat de specificatie dat zegt ;-)

Heb je daar meer info over? link?

@zuidwijk
Copy link

Daar moet je een aantal condensatoren voor gebruiken (en pin 1 & 6 gebruiken voor de voeding).
Ik heb parallel 100u, 10u, 1u, 0,1u omdat de specificatie dat zegt ;-)

Heb je daar meer info over? link?

https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf
Pagina 10 :)

@sanderlv
Copy link

Daar moet je een aantal condensatoren voor gebruiken (en pin 1 & 6 gebruiken voor de voeding).
Ik heb parallel 100u, 10u, 1u, 0,1u omdat de specificatie dat zegt ;-)

Heb je daar meer info over? link?

https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf
Pagina 10 :)

Helaas, 2 dozen met condensatoren gekocht... alle smaken... setje gemaakt. DSMR meter lever 5.4v maar de esp blijft rood knipperen en dit zou betekenen dat er te weinig current is... gebruikt een ESP32 teveel? Of levert mijn meter te weinig?

@zuidwijk
Copy link

Daar moet je een aantal condensatoren voor gebruiken (en pin 1 & 6 gebruiken voor de voeding).

Ik heb parallel 100u, 10u, 1u, 0,1u omdat de specificatie dat zegt ;-)

Heb je daar meer info over? link?

https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf

Pagina 10 :)

Helaas, 2 dozen met condensatoren gekocht... alle smaken... setje gemaakt. DSMR meter lever 5.4v maar de esp blijft rood knipperen en dit zou betekenen dat er te weinig current is... gebruikt een ESP32 teveel? Of levert mijn meter te weinig?

Esp32 zit gewoon op het grensgebied. Ik wilde dat ook graag gebruiken. Maar van de 30 Wemos mini32 d1 die ik heb, heb ik er nu eindelijk 1 redelijk werkend. Niet stabiel dus.

Deze heb ik nu werkend:
image

Maar meerdere daarvoor niet.

Ik wacht met smart op de low power ESP32 C3. Daarmee zou het naar mijn mening wel moeten lukken.

@sanderlv
Copy link

Die foto, dat is een ESP32 toch of een ESP8266?

Ik heb een ESP32 D1 mini (zie eerdere fotos)

@zuidwijk
Copy link

Die foto, dat is een ESP32 toch of een ESP8266?

Ik heb een ESP32 D1 mini (zie eerdere fotos)

Zoom in, dan zie je dubbele rij pinnen aan beide kanten ;-) Dit is de ESP32 D1 mini.

Esp8266 zijn absoluut geen probleem:
image
Links esp8266, rechts ESP32

@kennyboy55
Copy link

Hoi,

Ik ben sinds een paar dagen zelf bezig met ESPHome en probeer nu ook mijn slimme meter (Sagemcom T210-D esmr5) uit te lezen via de P1 poort met een Wemos D1 mini (ESP8266). Ik ben zelf niet echt een hardware persoon, maar heb deze schakeling nagemaakt:

p1_INVERTER

Nu krijg ik altijd de melding: "No data available. Is P1 port connected?". Ik heb al geprobeerd de data request pin te omzeilen en altijd 5V daarop te zetten, helaas met geen resultaat.

Ik heb mijn data verbinding lopen via D2 zoals in het voorbeeld. Ik zit vrij vast met wat mijn volgende stap is om te proberen? Heeft een van jullie enig idee?

Alvast bedankt.

@zuidwijk
Copy link

Ikzelf heb een bs170 gebruikt, een mosfet. Maar met transistor moet het ook prima werken.

In mijn eerste ontwerpen had ik 10k weerstanden gebruikt, en geen weerstand naar de transistor/mosfet. Dus alleen aan de 5v en 3v3.

Zelf zou ik de Rx gebruiken van de Wemos. Andere poort kan (zoals D7, 2e uart). Maar dat moet dan ook in de code aangepast worden.

Zelf gebruik ik geen transistors/mosfet meer, maar een single inverter.

@kennyboy55
Copy link

Dankjewel! Dat heeft het opgelost. Ik heb de weerstand ertussenuit gehaald en ben overgestapt naar pin D7.

@vincentkoevoets
Copy link

Hallo mensen, gaaf project dit! Heb alleen een probleem met compilen in ESPhome. Zou iemand me verder kunnen helpen?
Alvast bedankt!
logs_gang_upload.txt

@kennyboy55
Copy link

Hoi, ik geloof dat dit project ondertussen in ESPHome verwerkt zit. https://esphome.io/components/sensor/dsmr.html?highlight=dsmr

@vincentkoevoets
Copy link

Hoi Kenny,
Wat je zegt klopt, die component heb ik inmiddels gevonden. Maar nu nog de hardwarekant van het verhaal. Ik kom er niet uit, er zijn zoveel verschillende schema's die mensen gebruiken.. Heb een ESP8266, maar ik krijg met geen mogelijkheid ook maar iets te zien van de meter in Esphome. Weet je dan heel misschien ook of uart invert mogelijk is met de 8266?

@WiebKastanje
Copy link

WiebKastanje commented Mar 12, 2022

@vincentkoevoets
Copy link

Ja das mooi spul, maar ik heb reeds een ESP in de meterkast voor de deurbel, en daar wilde ik dus graag op verder bouwen. Tuurlijk kan er altijd nog een ESP bij, maar ik wil het uiteraard eerst zelf proberen.

@kennyboy55
Copy link

Ik heb er zelf ook een tijd mee gestoeid, en met de hulp van mensen hier het werkend gekregen met de schakeling die iets eerder gequoted is in een comment van mij (en met een weerstand minder zoals erna genoemd). Dat werkt met een enkele transistor om te inverten en een Wemos D1 mini, gewoon een ESP8266 dus.

Zou je je huidige ESPHome config en een foto/tekening van je schakeling kunnen sturen? Ik weet meer van software dan hardware, maar wellicht dat ik of iemand anders toch iets zien.

@zuidwijk
Copy link

zuidwijk commented Mar 12, 2022

Ja das mooi spul, maar ik heb reeds een ESP in de meterkast voor de deurbel, en daar wilde ik dus graag op verder bouwen. Tuurlijk kan er altijd nog een ESP bij, maar ik wil het uiteraard eerst zelf proberen.

Hey, vraag me gerust wat je wil weten. Waar loop je vast?

Misschien heb je hier wat aan:
https://www.zuidwijk.com/p1-esp8266-adapter/

En als ik je een tip mag geven, gebruik de D7 op de esp8266 en niet direct de Rx (als de inverter continu aan staat). Dat kan problemen geven met flashen.

@vincentkoevoets
Copy link

vincentkoevoets commented Mar 13, 2022

Hee bedankt voor jullie reacties! Marcel, ik heb gekeken naar de link in je bericht, en ik volg in ieder geval het grootste deel van de tekeningen. Al is het voor mij wel lastig om de benodigde informatie eruit te halen. Het plaatje van Kenny ga ik zeker even proberen, heb nog wel ergens een transistor liggen dacht ik. Ik heb tot nu toe een aantal dingen geprobeerd, ik kan ze wel tekenen maar ik voeg in plaats daarvan even de schema's toe die ik heb geprobeerd.
Ik zal eerst mijn YAML hieronder zetten:

esphome:
  name: espnodegang
  platform: ESP8266
  board: nodemcuv2
#  libraries:
#    - "Dsmr"

# Enable logging
logger:
  baud_rate: 0
  level: DEBUG

# Enable Home Assistant API
api:

ota:
  password: ""

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: 192.168.1.99
  power_save_mode: none
  manual_ip:
    static_ip: 192.168.1.99
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Gang Fallback Hotspot"
    password: ""

captive_portal:

#uart:
#  baud_rate: 115200
#  rx_pin: 
#    number: D7
#    inverted: true

uart:
  baud_rate: 115200
  rx_pin: D7
  rx_buffer_size: 1700

dsmr:
  max_telegram_length: 1700
#  request_pin: D1
    
binary_sensor:
  - platform: gpio
    name: "Belknop"
    pin:
      number: D2
      inverted: true
      mode:
        input: true
        pullup: true

switch:
  - platform: gpio
    pin: D3
    name: "Bel aansturing"
    inverted: true

text_sensor:
  - platform: template
    name: Uptime Human Readable
    id: uptime_human
    icon: mdi:clock-start
  - platform: dsmr
    identification:
      name: "DSMR Identification"
    p1_version:
      name: "DSMR Version" 
    
sensor:
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s
  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    update_interval: 60s
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? to_string(days) + "d " : "") +
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "") +
                (to_string(seconds) + "s")
              ).c_str(); 
  - platform: dsmr
    power_delivered:
      name: Power delivered
     

Zoals je ziet heb ik de uart ook al anders proberen te definieren, maar ook zonder resultaat. De request pin gebruik ik momenteel dus even niet om daar problemen uit te sluiten. Dus voorlopig constant 5V op de request pin van de RJ11. Ik heb voorlopig even 1 sensor aangemaakt: power_delivered.

Eerste schema is deze, met en zonder R1, en ook met en zonder de inverter, en ook met 5V direct op de request pin van de RJ11.
https://raw.githubusercontent.com/nldroid/CustomP1UartComponent/master/docs/p1_meter_schema.png
In de logs van ESPhome geen enkel resultaat, alleen zie ik wel dat de setup van de RX pin goed is gelukt.

Deze heb ik ook geprobeerd:
https://raw.githubusercontent.com/daniel-jong/esp8266_p1meter/master/assets/esp8266_p1meter_bb.png
Wederom geen enkele vermelding van dsmr in de logs, behalve de setup van de RX pin.

Ik heb nog wat variaties geprobeerd op bovenstaande schema's, de kabel nagekeken, maar geen enkel resultaat. De meter is een Sagemcom CS 50001. Ik weet zeker dat de P1 poort werkt, in combinatie met mijn oude KaKu ICS-2000 station kwamen er netjes gegevens uit. Als ik er maar eenmaal gegevens uit krijg, dan kan ik daar wel mee verder, maar voorlopig gebeurt er dus helemaal niks.

@vincentkoevoets
Copy link

Nou ja zeg.. Inverteren met een transistor werkt gewoon! Ik krijg nu netjes gegevens uit de meter, en in Home Assistant. In het kader van dat ik graag leer van dit soort dingen.. Kan iemand me uitleggen hoe het inverteren met een transistor nou in zijn werk gaat?

@zuidwijk
Copy link

Nou ja zeg.. Inverteren met een transistor werkt gewoon! Ik krijg nu netjes gegevens uit de meter, en in Home Assistant. In het kader van dat ik graag leer van dit soort dingen.. Kan iemand me uitleggen hoe het inverteren met een transistor nou in zijn werk gaat?

Inverter is niks anders dan een schakelaar. Als er signaal in komt, sluit de schakelaar en is de uitgang gekoppeld aan ground.
Dus hoog in, schakelaar aan, laag uit. Als er geen signaal in komt (laag) dan is de schakelaar open en is de uitgang van de inverter via een weerstand gekoppeld aan +3/5 volt, dus hoog.

De reden dat het geinverteerd moet worden, is omdat er een optocoupler in de meter zit, om signaal galvanisch te scheiden (veiligheid). Door deze optocoupler wordt het signaal geinverteerd (zelfde idee als wat ik boven beschreef). Om het signaal leesbaar te maken, moet je het dus weer inverteren om normaal te maken.

@Accomplish21
Copy link

Accomplish21 commented Mar 22, 2022

Hoi, ik ben ook bezig met de Iskra am550, echter loop ik tegen het probleem aan dat ik de eerste twee regels uitlees en vervolgens niets meer. Ik gebruik de Wemos D1 mini esp8266. Ook heb ik al geprobeerd om een arduino uno aan te sluiten. Deze leest vervolgens wel gewoon alle data uit

De pinnen zijn als volgt:
Wemos | P1 poort
v5 | v5
Gnd | Gnd
D5 | RTX
D2 | RTS

Heeft iemand enig idee wat het probleem kan zijn??

image

image

@Niiccoo
Copy link

Niiccoo commented Mar 22, 2022 via email

@Accomplish21
Copy link

Hoi Nico, bedankt voor de snelle reactie. Zal dit morgen is proberen. Heb nog wat testjes gedraaid, en er verschenen korte en langere telegrammen maar niet de volledige telegram. Kan het mogelijk zijn dat er nog een instellen in de iskra am550 moet gebeuren?

@Niiccoo
Copy link

Niiccoo commented Mar 23, 2022

Ik heb nooit iets aangepast in/of aan de meter. Gewoon aansluiten op de P1. Ik gebruik Home Assistant met de esphome plugin om de d1_mini te programmeren en uit te lezen. Als ik de de logging bekijk van de d1_mini zie ik heel vaak dat de checksum niet goed is. Kan dus heel goed dat je meer foute dan goede telegrams leest. Mijn meter stuurt 1 telegram per seconden dat er heel veel mis gaan is dan niet zo erg.

[10:27:43][E][dsmr:265]: !3704
^
Checksum mismatch
[10:27:45][E][dsmr:265]: !706E
^
Checksum mismatch
[10:27:46][E][dsmr:265]: !7BE0
^
Checksum mismatch
[10:27:48][E][dsmr:265]: !B70B
^
Checksum mismatch

Tussen 43-48 seconden 4 fout en 2 oke

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests