derkrasseleo / esphome-p1dsmr

My esphome configuration and documentation for using the P1 DSMR connection of a Sagecom T210-D-r Smart Meter which is used by Energie Steiermark
1 stars 0 forks source link

Use for Sagemcom S210 #1

Open concierge-at opened 3 months ago

concierge-at commented 3 months ago

Hello, sorry when i talk here to you, is this code runable to for the Sagemcom S210 Smartmeter of austria? thank you for help and have a nice day

derkrasseleo commented 3 months ago

I can't tell you for sure, but as far as hardware goes, it should probably work fine. Depending on your provider, the protocol is probably a bit different from the one from "E-Netze". Also the S210 is for AC and not three-phase, so some data points are probably not supported.

concierge-at commented 3 months ago

can we talk to this in german ? d denke ja :) geht mir einfacher von der Hand. Ja wir haben hier nur 230V wechselstrom das ende der leitung am berg:)

die liste mit den datenpunkten die verfügbar sind hab ich mal beigefügt Type S210 (Wechselstromzähler)

OBISCode Beschreibung 0.9.1 Uhrzeit 0.9.2 Datum F.F Fehlercode 96.13.0 Konfigurationstyp (IME, IMS, DSZ) 1.8.0 Wirkenergie Lieferung (+A) Gesamt 1.8.1 Wirkenergie Lieferung (+A) Tarif 1 1.8.2 Wirkenergie Lieferung* (+A) Tarif 2 1 2.8.0 Wirkenergie Bezug (-A) Gesamt 2 2.8.1 Wirkenergie Bezug (-A) Tarif 1 2.8.2 Wirkenergie Bezug** (-A) Tarif 2

hmm ich glaube fast nicht das die sich so viel mühe machen und da ein anderes Protokoll implementieren. Energieanbieter sind faul alles was nicht einfach geht wird weggelassen :) ich muss nur meinen Netz Betreiber bebetteln die P1 freizuschalten. Dafür muss er herkommen denn ER BEKOMMT KEINE DATEN vom Smart Meter. Bisher wurde er zwei mal abgelesen und dann per Telefon die werte durchgesagt also wie früher.

Aus deiner Beschreibung geht leider nicht hervor nur das du als RX den D7 verwendest. Das sollte auf einem ESP32 der RDX pin sein oder läuft das über die D pins? danke im voraus

derkrasseleo commented 3 months ago

Ich muss nur meinen Netz Betreiber bebetteln die P1 freizuschalten. Dafür muss er herkommen denn ER BEKOMMT KEINE DATEN vom Smart Meter. Bisher wurde er zwei mal abgelesen und dann per Telefon die werte durchgesagt also wie früher.

Oh wow, oldschool 😅 Bei den E-Netzen konnte man den online selber "freischalten". Das hat aber glaube ich ein paar Wochen gedauert und anfangs hat es auch gedauert bis der Smart Meter überhaupt kommuniziert hat.

Aus deiner Beschreibung geht leider nicht hervor nur das du als RX den D7 verwendest. Das sollte auf einem ESP32 der RDX pin sein oder läuft das über die D pins? danke im voraus

Wie meinst du? Das geht aus der yaml configuration für esphome hervor. Ich habe einen Wemos D1 mini (ESP8266) verwendet, daher den RX pin bzw. D7 Pin verwendet, wenn man nach dem Pin-Schema geht.

concierge-at commented 3 months ago

Hihihi bei den Steirern ist viel Oldschool^^

zum ESP ja das mit D7 hab ich gelesen ich dachte (bitte entschuldige bin noch sehr frisch in der Materie) Uart benötigt RX TX pin D7 ist aber laut pinout Digital. Wie gesagt ich habe von Hardware und Programmieren keine Ahnung. bei Number hast du RX stehen sollte da nicht D7 stehen 🤦‍♀️ und für ESP32 dann GPIO3 oder GPIO16 Nach Anleitung was nachbauen geht gerade so da hab ich mein Monitoring nun so. Einzig das Smartmeter noch nicht.

Dann muss ich mir einen 8266 holen, hab nur esp32 hier herumliegen. und vielleicht hast du lust mich da durch zu teachen :)

oder ich versuche den Code :)

Smartmeter-p1.txt

und da ich an dem zählerpunkt ja nur einen tarif habe könnte ich die 2 punkte für tarif 2 eigentlich weglassen gut sie fressen nichts weg

mal sehen ob einer meiner bekannten einen S210 hat

dank dir schon mal

derkrasseleo commented 3 months ago

Bitte Code auf Github immer als Code formatieren (geht im Editor in der Leiste oben), ansonsten ist es sehr schwer zu lesen :)

Uart benötigt RX TX pin D7 ist aber laut pinout Digital.

Naja UART ist ein digitales Signal, also passt das auch.

bei Number hast du RX stehen sollte da nicht D7 stehen 🤦‍♀️ und für ESP32 dann GPIO3 oder GPIO16 Nach Anleitung was nachbauen geht gerade so da hab ich mein Monitoring nun so. Einzig das Smartmeter noch nicht.

Das ist einfach eine alternative Schreibweise in der configuration (siehe hier) bei dem d1 mini kann man das einfach so schreiben, aber sollte keinen Unterschied machen, ob man RX, D7 oder GPIOx verwendest. Beim ESP32 sollte man anscheinend die GPIOx Schreibweise verwenden.

Dann muss ich mir einen 8266 holen, hab nur esp32 hier herumliegen. und vielleicht hast du lust mich da durch zu teachen :)

Bei konkreten Fragen helf ich gern :)

concierge-at commented 3 months ago

:) Ich danke dir für die konversation, das mit dem code tut mir leid ich wollte es als code formatiert posten aber da was auf einmal manches klein manches gross und fett manches nur groß. ich habs noch mal versucht direkt aus ESPhome kopiert haut irgendwie nicht hin oder geht das mit Google chrome nicht? Edit: Irgendwie hats doch geklappt

esphome:
  name: smart-meter
  friendly_name: smart-meter

#esp8266:
  #board: d1_mini

esp32:
  board: nodemcu-32s
  framework:
    type: arduino
    #type: esp-idf  

# Enable logging
logger:
  baud_rate: 0
  # hardware_uart: UART0_SWAP
  level: VERBOSE # VERY_VERBOSE # DEBUG
  logs:
    homeassistant.components.dsmr: info
    # DSMR telegram parser library
    dsmr_parser: debug
    # And in case of a custom component to override the default dsmr integration:
    custom_components.dsmr: info

uart:
  id: uart_smart_meter
  rx_pin: 
    #number: RX # D7
    number: GPIO3
    inverted: true
  baud_rate: 115200 # 9600
  # data_bits: 8
  # parity: NONE #doesn't make a difference
  # stop_bits: 1
  # rx_buffer_size: 3000
  debug:
    direction: RX
    # dummy_receiver: true
    # after:
    #   delimiter: "\r\n"
    # sequence:
    #   - lambda: UARTDebug::log_string(direction, bytes);

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_key

ota:
  - platform: esphome
    password: "ota-esp-s210"

# Enable webserver
web_server:
  port: 80
  auth:
    username: s210
    password: s210
  version: 2
  log: false
  ota: false

wifi:
  ssid: !secret wifi_ssid2
  password: !secret wifi_password2

# Optional manual IP 192.168.0.xxx
  manual_ip:
    static_ip: 192.168.0.198
    gateway: 192.168.0.1
    subnet: 255.255.255.0

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

captive_portal:

dsmr:
  uart_id: uart_smart_meter
  #decryption_key: !secret decryption_key_GUEK
  # max_telegram_length: 3000
  request_interval: 10s
  # crc_check: true
  # receive_timeout: 5000ms

sensor:
  - platform: wifi_signal
    name: "wifi signal"
    update_interval: 10s
  - platform: dsmr
    # energy_delivered_lux:
    #   name: "Energy Consumed total_increasing"
    #   state_class: total_increasing
    # energy_returned_lux:
    #   name: "Energy Returned Lux"
    energy_delivered_tariff1:
      name: Energy Delivered Tariff 1
      state_class: total_increasing
      accuracy_decimals: 3
    energy_delivered_tariff2:
      name: Energy Delivered Tariff 2
      state_class: total_increasing
      accuracy_decimals: 3
    energy_returned_tariff1:
      name: Energy Returned Tariff 1
      accuracy_decimals: 3
    energy_returned_tariff2:
      name: Energy Returned Tariff 2
      accuracy_decimals: 3
    power_delivered:
      name: Power Consumed
      accuracy_decimals: 3
    power_returned:
      name: Power Returned
      accuracy_decimals: 3

text_sensor:
  - platform: dsmr
    identification:
      name: "DSMR Identification"
    timestamp:
      name: "DSMR Timestamp"
    electricity_tariff:
      name: "DSMR Tarif"

# external_components:
#    # equivalent shorthand for GitHub
#   - source: github://Herbycheck/esphome@dsmr-unit-fix
#     components: [ dsmr `]

der Code ließ sich schon mal auf den esp spielen nur kann ich eben noch keine freigehaltener Schnittstelle und auch den GUEK key nicht. Ich halte dich auf dem laufenden sobald sich was tut. Leider bin ich hier bei einem anderen Netz Betreiber als wie dort wo der S210 hängt:) das sind immer 2 stunden fahrt dort hin :) auf jeden fall danke ich dir schon mal S210-RJ12-k