Smartmeters inverted data software corrected?

  • Re: Smartmeter sensors


    Above post was rather old, so the reply option suggested I create a new topic in reference.
    As of october 3th 2017 2 smartmeters are installed, gas (Honeywell BK GYEteB) and electricity (XS 210 ESMR5).

    As a domotic enthousiast of course I want to monitor the output. I prefer Mysensors with Domoticz. So I looked around and found the solution in the topic above. But almost every solution mention a hardware component to invert the signal, 1 -> 0, 0 -> 1. Why is there not a software solution ? A simple XOR would suffice I think?????

    Can somebody tell me what the pitfall is...


  • Contest Winner

    @YFandS for some reason these smartmeters use a inverted implementation of the RS232 serial protocol. While Arduino's etc. use the standardized RS232 implementation.

    As far is i known the UART (the "chip" doing the RSR232 decoding fro Arduino) does not supports inverted mode.

    So yes a signal inverter is needed..

  • Admin

    What about implementing it with a software uart? Then you can flip the bits in the software instead. (if I remember right they use a baudrate of 9600, so should be doable in software.

  • Thanks guys, As I now understand from BartE the decoding must be first done by the Arduino RS232 hardware. In my opinion I would 'just' receive the inverted bits (via Arduino RS232 Hardware) and invert them later. But I guess that's not the way to do it. 😞

    On the other hand the sketch used in the above link uses the AltSoftSerial library, so the suggestion made by tbowmo might be an option.


  • Came across this link it uses the SoftwareSerial library (not the one provided with Arduino !!)
    and yes it can invert the P1 signals. Unfortunately it uses ESP8266 to send data to Domoticz.
    I will see if I can convert the sketch to mysensors.


  • Mod

    Esp8266 can still be used as gateway with on board sensors, just in case...

Log in to reply

Suggested Topics

  • 10
  • 2
  • 2
  • 29
  • 1
  • 35
  • 90
  • 2