Skript zum Auslesen des B-Control Energy Manager EM300

  • Hi zusammen,

    ich baue mir mein eigenes Monitoring- und Logging System auf. Bei mir ist unter anderem der Energy Manager EM300-LR verbaut. Er kommt von TQ-Automation, wird soweit mir bekannt aber auch von Kostal vertrieben. Der Energy Manager ist ein passiver Modbus Client, der den Energiefluss bei mir zu /von nem Kostal Plenticore meldet.

    Das angehängte Python Skript liest basierend auf der Spec von hier über die Web/JSON API des Energy Managers alles was es kriegen kann:

    https://www.tq-automation.com/…r%20-%20JSON-API.0104.pdf

    Es hält die Daten dann in nem Array - und druckt dann das Array aus.

    Bei mir ist das ein Modul einer Reihe von Bausteinchen, das die Daten in ne Datenbank pumpt. Danach führe ich die Visualisierung durch.

    Vielleicht hilft es ja jemandem mit gleichen / ähnlichen Anforderungen. Hab das Ganze seit ca. 1 Monat am Laufen und es verrichtet klaglos seine Dienste auf nem Raspberry .

    Einsatz wie immer ohne Gewähr. Aber vielleicht hilft es ja dem Ein/oder Anderen.

    Unten ein Beispielaufruf & Output...



    python readenergymanager3.txt

    Start querying Energy Manager....

    Returnvalue -should be zero if successful : 0

    ----------------Start Values from Energy Manager ----------------

    {'Active energy-': 134256.9,

    'Active energy- L1': 63375.5,

    'Active energy- L2': 42970.3,

    'Active energy- L3': 66418.1,

    'Active energy_incoming': 1125388.7,

    'Active energy_incoming L1': 345309.9,

    'Active energy_incoming L2': 470816,

    'Active energy_incoming L3': 347770,

    'Active power- ': 0,

    'Active power- L1': 0,

    'Active power- L2': 0,

    'Active power- L3': 0,

    'Active power_incoming': 2902.7,

    'Active power_incoming L1': 867.6,

    'Active power_incoming L2': 1160.7,

    'Active power_incoming L3': 874.4,

    'Apparent energy-': 203600.7,

    'Apparent energy- L1': 105145.7,

    'Apparent energy- L2': 52927,

    'Apparent energy- L3': 108150.6,

    'Apparent energy_incoming': 1567951.3,

    'Apparent energy_incoming L1': 467367.9,

    'Apparent energy_incoming L2': 642565.8,

    'Apparent energy_incoming L3': 486485.9,

    'Apparent power-': 0,

    'Apparent power- L1': 0,

    'Apparent power- L2': 0,

    'Apparent power- L3': 0,

    'Apparent power_incoming': 3939.1,

    'Apparent power_incoming L1': 1222.2,

    'Apparent power_incoming L2': 1444.7,

    'Apparent power_incoming L3': 1285.2,

    'Current L1': 5.445,

    'Current L2': 6.428,

    'Current L3': 5.7,

    'Power factor': 0.737,

    'Power factor L1': 0.71,

    'Power factor L2': 0.803,

    'Power factor L3': 0.68,

    'Reactive energy-': 69576.8,

    'Reactive energy- L1': 4389.8,

    'Reactive energy- L2': 75060.7,

    'Reactive energy- L3': 15148.9,

    'Reactive energy_incoming': 1051532.6,

    'Reactive energy_incoming L1': 358397.4,

    'Reactive energy_incoming L2': 349413.8,

    'Reactive energy_incoming L3': 368743.8,

    'Reactive power-': 0,

    'Reactive power- L1': 0,

    'Reactive power- L2': 0,

    'Reactive power- L3': 0,

    'Reactive power_incoming': 2662.9,

    'Reactive power_incoming L1': 860.8,

    'Reactive power_incoming L2': 860.1,

    'Reactive power_incoming L3': 941.9,

    'Supply frequency': 49.983,

    'Voltage L1': 224.629,

    'Voltage L2': 225.152,

    'Voltage L3': 225.607,

    'serial': '72130555',

    'status': 0}

    ----------------End - Values from Energy Manager ----------------

    Two Specific values from array....

    Energy to Grid (Obis code: 1-0:2.8.0) 134256.9

    Energy from Grid (Obis code: 1-0:1.8.0) 1125388.7

    Dateien

    PV: 9,4Kwp, LG 335, Kostal Plenticore, BYD 6,4

  • Hi,


    ich hätte das ganze mal für das Smart Energy Meter probiert, funktioniert leider nicht:


    ('Unable to Authenticate :', 405)

    ('Error accessing Energy Manager', ValueError('No JSON object could be decoded',))

    ('Issue getting data from EnergyManager ', ValueError('No JSON object could be decoded',))

    I was unable to query the Energy Manager


    Hast du eine Idee, was ich anpassen müsste? Meine Daten habe ich eingetragen.


    Mfg


    Stiv

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch

  • Hi Stiv

    ich hatte da eine parallele Anfrage hierzu. Das Kommunikationsprotokols ist anders als beim EM300. Ich habe da schon mal prototypisch etwas für den Smart Energy master umgesetzt (leider hab ich die Hardware nicht..) Wenn es von Interesse ist, würde ich einen neuen Thread aufmachen - Feedback gerne willkommen.

    PV: 9,4Kwp, LG 335, Kostal Plenticore, BYD 6,4

  • Ist auf jedenfall von Interesse, stehe auch gerne als Versuchskaninchen bereit. Python hab ich am laufen und z.B. das Skript für den Plenticore von dir funktioniert bei mir.

    1.Anlage (2019): Module: 64x LG 340 N1C-V5 NeON2

    Wechselrichter1: Kostal Plenticore plus 10 (17er und 18er String, 3ter MPTT frei für evtl. Akku)

    Wechselrichter2: Kostal PIKO IQ 10 (14er und 15er String)

    Kostal Smart Energy Meter für 70% dynamisch