المعرفة/التكامل/Home Assistant

دليلM-Center

عدادات M-Bus مع M-Center في Home Assistant

يحتوي Home Assistant على تكامل Modbus مدمج. وبه تقرأ قيم جميع العدادات على EMU M-Center مباشرة وتجمع الكهرباء والحرارة والمياه في لوحة الطاقة.

ما تحتاجه

  • M-Center مهيّأ مع ترخيص خادم Modbus TCP (210.300.04) أو ترخيص MQTT (210.300.03).
  • عنوان IP لـ M-Center وعنوان جهاز Modbus لكل عداد.
  • رموز OBIS مُدخلة للسجلات التي تريد استعلامها.
  • الوصول إلى ملف configuration.yaml في Home Assistant.

الخطوة 1: إدخال رموز OBIS في M-Center

في M-Center أدخل رمز OBIS لكل سجل يجب أن يستقبله Home Assistant. فتقع القيمة عندئذ على عنوان ثابت، مثل قراءة التعرفة 1 المسحوبة (1-0:1.8.1) عند السجل 1030. وسجّل «Modbus TCP Server device number» لكل عداد. وهو في Home Assistant عنوان الجهاز.

تحقق أيضًا من وحدة السجل في M-Center. يأخذ Home Assistant القيمة العددية؛ وتحدد أنت الوحدة بنفسك. فإذا أظهر M-Center الوحدة Wh، فأدخل Wh في Home Assistant.

الخطوة 2: إعداد Modbus في Home Assistant

وسّع ملف configuration.yaml. يقرأ المثال التعرفة 1 والتعرفة 2 المسحوبتين لعداد بعنوان الجهاز 9 وعداد المياه بالعنوان 12:

modbus:
  - name: m_center
    type: tcp
    host: 192.168.1.50      # IP of the M-Center
    port: 502
    sensors:
      - name: "Apartment 1 import tariff 1"
        slave: 9              # device address in the M-Center
        address: 1029         # register 1030, counted from 0
        input_type: holding
        data_type: float32
        unit_of_measurement: Wh
        device_class: energy
        state_class: total_increasing
        scan_interval: 900
      - name: "Apartment 1 import tariff 2"
        slave: 9
        address: 1059         # register 1060
        input_type: holding
        data_type: float32
        unit_of_measurement: Wh
        device_class: energy
        state_class: total_increasing
        scan_interval: 900
      - name: "Apartment 1 cold water"
        slave: 12
        address: 2999         # register 3000
        input_type: holding
        data_type: float32
        unit_of_measurement: m³    # unit as in the M-Center
        device_class: water
        state_class: total_increasing
        scan_interval: 900

ثلاث نقاط غالبًا ما تحدث فيها الأخطاء:

  • العنوان: يعدّ الدليل السجلات ابتداءً من 1، وHome Assistant ابتداءً من 0. ولهذا يستخدم المثال 1029 للسجل 1030. تحقق من ذلك مرة واحدة مقابل قراءة عداد معروفة.
  • ترتيب البايت: يسلّم M-Center بـ Big Endian مع الكلمة العليا أولًا. وهذا يطابق الإعداد الافتراضي في Home Assistant، ولا حاجة إلى swap.
  • اسم المفتاح: بحسب إصدار Home Assistant يُسمى عنوان الجهاز slave أو device_address. وتسري وثائق إصدارك.

يتوافق scan_interval البالغ 900 ثانية مع فاصل القراءة في M-Center البالغ 15 دقيقة. والاستعلام بشكل أكثر تكرارًا لا يجلب قيمًا أحدث.

الخطوة 3: لوحة الطاقة

بعد إعادة التشغيل تظهر المستشعرات في Home Assistant. ولأنها تحمل device_class: energy أو water وstate_class: total_increasing يمكن اختيارها تحت Settings → Dashboards → Energy كاستهلاك من الشبكة أو جهاز أو استهلاك مياه.

البديل: MQTT

إذا كان لدى M-Center ترخيص MQTT فيمكنه نشر قيمه لدى وسيط Home Assistant، مثل إضافة Mosquitto. وتتبع المواضيع النمط <prefix>/emu/mcenter/<MAC>/meterreading/<serial number>/byobis/<OBIS code>.

اطّلع على الرسائل قبل الإعداد، مثلًا بـ MQTT Explorer أو في تكامل MQTT لـ Home Assistant تحت «Listen to a topic». ثم أنشئ مستشعر MQTT لكل موضوع واقرأ القيمة حسب محتوى الرسالة.

Modbus هو الطريق الأبسط إذا كان Home Assistant وحده يحتاج إلى القيم. ويستحق MQTT العناء إذا كانت أنظمة أخرى ستقرأ أيضًا.

الأسئلة الشائعة


أي ترخيص أحتاج إليه لـ Home Assistant؟

لـ Modbus ترخيص خادم Modbus TCP 210.300.04، ولـ MQTT ترخيص MQTT 210.300.03. ويكفي أحدهما.

لماذا يعرض Home Assistant قيمة خاطئة؟

عادةً يكون العنوان مزاحًا بمقدار واحد أو يكون السجل خاطئًا. وللمقارنة اقرأ القيمة نفسها بـ modpoll أو أداة Modbus أخرى وقارنها بقراءة العداد في M-Center.

هل يمكنني استخدام float32 أو uint64؟

كلاهما. float32 أبسط لكنه يقرّب قراءات العدادات الكبيرة جدًا. ولـ uint64 (السجل 1032 بدلًا من 1030) اضبط data_type: uint64.

اقرأ المزيد


SEITEM-Bus إلى Modbus TCPخريطة السجلات SEITEM-Bus إلى MQTTبنية المواضيع SEITEتشغيل M-Centerدليل SEITEالمزيد من التكاملاتنظرة عامة

أسئلة حول الدمج؟


أرسل لنا قائمة عداداتك والتهيئة. وسنساعدك في العناوين ورموز OBIS.

الهاتف
‎+41 (0)41 545 03 00

الدعم الفني
helpdesk [at] emuag.ch
نموذج الدعم →