ملحوظة
هذه هي النسخة الألمانية ، للإصدار الإنجليزية ، قم بالتمرير لأسفل أو انقر هنا.
يعد Ferraris Meter مكونًا Esphome لإنشاء البرامج الثابتة ESP ، والذي يمكنه استخدام جهاز تحكم ESP ومستشعر الأشعة تحت الحمراء لتحديد سرعة ودورات القرص الدوار من مقياس تيار Ferraris التناظري ومن هذا يمكن حساب استهلاك الكهرباء الحالي وحالة العداد. يمكن بعد ذلك إرسال هذه القيم إلى برنامج أتمتة المنزل مثل مساعد المنزل لمزيد من المعالجة.
يتم توفير البرنامج (بما في ذلك الوثائق مع هياكل عينة الأجهزة) دون التخلف عن السداد ودون أي ضمان صريح أو ضمني ، بما في ذلك ، على سبيل المثال لا الحصر لضمان الوصول إلى السوق ، وملاءمة غرض محدد وعدم تعبير حقوق الطرف الثالث. لا يتحمل المؤلفون أو مالكي حقوق الطبع والنشر بأي حال من الأحوال مسؤولية المطالبات أو الأضرار أو التزامات أخرى ، سواء في العقد أو دعوى قضائية ، أو فعل غير مصرح به أو غير ذلك ، والذي ينشأ من أو فيما يتعلق بالبرنامج أو الاستخدام أو المتاجر الأخرى مع البرنامج.
مطلوب فقط متحكم ESP (مثل ESP8266 أو ESP32 ، بما في ذلك إمدادات الجهد) ومستشعر الأشعة تحت الحمراء (مثل TCRT5000). بالنسبة للوظائف النقية لمقياس Ferraris ، فإن ESP8266 كافية تمامًا كتحكم. بالنسبة لمستشعر الأشعة تحت الحمراء ، توجد وحدات الانهيار المستندة إلى TCRT5000 مع جهد إدخال 3.3V-5V ، والتي لديها أيضًا مقاومة يمكن التحكم فيها (مقياس الجهد) لمعايرة الإخراج الرقمي. تحتوي وحدات TCRT5000 هذه على 4 دبابيس-VCC و GND لمصدر الطاقة من شريحة المستشعر بالإضافة إلى الإخراج الرقمي D0 وإخراج تمثيلي A0.
عند وضع المستشعر على لوحة غلاف عداد Ferraris الحالي ، يلزم إجراء القليل من المهارة والدقة. يجب محاذاة جهاز إرسال/مستلم الأشعة تحت الحمراء في منتصف الملليمتر الدقيق على القرص الدوار ويتم توجيهه مباشرة على القرص الدوار.
من حيث المبدأ ، يدعم مكون عداد Ferraris متغيرات التطوير التالية:
لإنشاء البرامج الثابتة Esphome ، يجب إنشاء ملف تكوين يعتمد على YAML. يمكنك استخدام أحد ملفات التكوين العينة المتوفرة في هذا المستودع كنقطة انطلاق وتكييفها مع احتياجاتك.
من حيث المبدأ ، هناك طريقتان لبناء البرامج الثابتة esphome:
تعتمد الطريقة التي يجب عليك اختيارها على مدى ثقةك في الإسبوم وما إذا كنت تفضل العمل مع واجهة مستخدم رسومية أو مع سطر الأوامر. بالإضافة إلى ذلك ، يمكن أن يلعب أداء المضيف الذي تبنيه على البرامج الثابتة دورًا لتسريع العملية.
ملحوظة
ليس من الضروري نسخ هذا المستودع ("FORKEN") والتكيف مع تكوين العينة في المستودع النسخ. بدلاً من ذلك ، يكفي حفظ تكوين العينة وتكييفه أو خلع التكوين المكيف على مضيف مساعد منزلك (إذا كان إنشاء البرامج الثابتة Esphome مطلوبًا باستخدام الإضافات الإضافية لمرجم جهاز Esphome).
تصف الأقسام التالية أهم المكونات المضمنة في ملف تكوين البرامج الثابتة.
المكون Ferraris ضروري ويجب إضافته لاستخدام أجهزة الاستشعار الخاصة بك.
نظرًا لأنه مكون مخصص ليس جزءًا من الإسبوم ، يجب استيراده بشكل صريح. أسهل طريقة هي تحميل المكون مباشرة من هذا المستودع.
external_components :
- source : github://jensrossbach/esphome-ferraris-meter
components : [ferraris] نصيحة
في المثال أعلاه ، تتم دعوة أحدث حالة للمكون من الفرع main لـ Respositorie. ومع ذلك ، أوصي بالإشارة إلى موقف تم إصداره عن طريق رقم الإصدار لمزيد من التحكم في موقف البرمجيات الذي يتم استخدامه ولكي تكون قادرًا على الرد بشكل أفضل على "كسر التغييرات". راجع تكوين العينة كيف يمكن القيام بذلك.
يمكن تكوين الإعدادات العامة التالية:
| خيار | يكتب | ضروري | معيار | وصف |
|---|---|---|---|---|
id | بطاقة تعريف | لا 1 | - | مثيل مكون فيراريس |
digital_input | دبوس | نعم 2 | - | دبوس GPIO الذي يتم توصيل الإخراج الرقمي لوحدة TCRT5000 |
analog_input | بطاقة تعريف | نعم 2 | - | مستشعر ADC الذي يقرأ الدبوس المتصل بالإخراج التناظرية لوحدة TCRT5000 |
analog_threshold | الرقم / المعرف 3 | لا | 50 | عتبة للكشف عن الثورة عبر المدخلات التناظرية |
off_tolerance | الرقم / المعرف 3 | لا | 0 | إزاحة سلبية على قيمة العتبة التناظرية للجناح المتساقط ، انظر القسم الاكتئاب للحصول على التفاصيل |
on_tolerance | الرقم / المعرف 3 | لا | 0 | إزاحة إيجابية على قيمة العتبة التناظرية للجناح الصاعد ، انظر القسم الاكتئاب للحصول على التفاصيل |
rotations_per_kwh | رقم | لا | 75 | عدد ثورات القرص الدوار لكل كيلوواط ساعة (يتم ملاحظة القيمة على عداد Ferraris الحالي) |
debounce_threshold | الرقم / المعرف 3 | لا | 400 | الحد الأدنى من الوقت بالمللي ثانية بين السقوط والجناح المتزايد اللاحق بحيث يتم أخذ الثورة في الاعتبار ، انظر القسم المتنقل للحصول على التفاصيل |
energy_start_value | بطاقة تعريف | لا | - | مكونات الأرقام التي يتم استخدام قيمتها في التمهيد كقيمة بداية لمقياس الاستهلاك |
1 تتطلب بعض التطبيقات id عنصر التكوين.
2 واحد فقط من عنصرين التكوين - digital_input أو analog_input - مطلوب ، اعتمادًا على متغير تطوير الأجهزة.
3 عناصر التكوين analog_threshold ، off_tolerance ، on_tolerance و debounce_threshold إما توقع رقم ثابت أو معرف مكون الأرقام. يتيح هذا الأخير تكوين القيمة عبر واجهة المستخدم (على سبيل المثال باستخدام مكون رقم قالب).
ferraris :
id : ferraris_meter
digital_input : GPIO4
rotations_per_kwh : 75
debounce_threshold : 400
energy_start_value : last_energy_valueمكون مكون API مطلوب إذا تم دمج ESP في مساعد المنزل. في حالة استخدام برنامج بديل لأتمتة المنزل ، يجب إضافة مكون MQTT بدلاً من ذلك. ومع ذلك ، فإن بعض الآليات مثل الكتابة فوق حامل العداد أو استعادة مقياس العداد الأخير بعد إعادة التشغيل (انظر أدناه للحصول على التفاصيل) ولم تعد تعمل.
فيما يلي مثال على التكامل مع Home Assistant (و API المشفرة):
api :
encryption :
key : !secret ha_api_keyوهنا مثال على الاستخدام مع برنامج بديل لأتمتة المنزل باستخدام MQTT:
mqtt :
broker : 10.0.0.2
username : !secret mqtt_user
password : !secret mqtt_passwordيجب أن يكون مكون WiFi متاحًا ، وإلا لا يمكن نقل قيم المستشعر بسهولة إلى جهاز آخر.
wifi :
ssid : !secret wifi_ssid
password : !secret wifi_passwordيحتوي مكون Ferraris على أجهزة استشعار أولية لإخراج قيم الاستهلاك المحسوبة وأجهزة الاستشعار التشخيصية لوضع المعايرة. جميع المستشعرات اختيارية ويمكن استبعادها إذا لم تكن هناك حاجة إليها.
يمكن تكوين المستشعرات الأساسية التالية:
| مستشعر | يكتب | فئة الجهاز | فئة الدولة | وحدة | وصف |
|---|---|---|---|---|---|
power_consumption | عددي | power | measurement | ث | استهلاك الطاقة الحالي |
energy_meter | عددي | energy | total_increasing | هل | إجمالي الاستهلاك الحالي (حالة قياس الكهرباء/متر) |
يمكنك العثور على معلومات مفصلة عن خيارات التكوين للعناصر الفردية في وثائق مكونات مستشعر Esphome.
sensor :
- platform : ferraris
power_consumption :
name : Momentanverbrauch
energy_meter :
name : Verbrauchszähler يمكن تكوين أجهزة الاستشعار التشخيصية التالية:
| مستشعر | يكتب | وصف |
|---|---|---|
rotation_indicator | ثنائي | يوضح ما إذا كانت العلامات على القرص الدوار هي فقط أمام مستشعر الأشعة تحت الحمراء (يعمل فقط في وضع المعايرة) |
يمكنك العثور على معلومات مفصلة عن خيارات التكوين للعناصر الفردية في توثيق مكونات مستشعر Esphome الثنائية.
binary_sensor :
- platform : ferraris
rotation_indicator :
name : Umdrehungsindikator لأغراض التشخيص ، يحتوي مكون Ferraris على مفتاح. يحتوي هذا على اسم calibration_mode ويمكن استخدامه لوضع المكون في وضع المعايرة (انظر معايرة القسم لمزيد من المعلومات).
switch :
- platform : ferraris
calibration_mode :
name : Kalibrierungsmodusيوفر مكون Ferraris إجراءين لوضع مقياس العداد وتحديد عداد الانتقال.
| فعل | وصف |
|---|---|
ferraris.set_energy_meter | يضع حالة العداد على القيمة المحددة |
| المعلمة | يكتب | منطقة | وصف |
|---|---|---|---|
value | float | > = 0 | القيمة المستهدفة لدولة العداد في ساعات كيلووات (كيلوواتوو ساعة) |
ملحوظة
على الرغم من أن المستشعر الخاص بحالة العداد الحالية لديه الوحدة WH (ساعات WATT) ، فإن الإجراء الذي يقوم بالكتابة فوق حامل العداد يستخدم وحدة KWH (ساعة كيلووات) ، نظرًا لأن مقياس تيار Ferraris التناظري عادة ما يعرض العداد أيضًا.
| فعل | وصف |
|---|---|
ferraris.set_rotation_counter | يضع العداد الدوار على القيمة المحددة |
ملحوظة
إن الإجراء الخاص بتعيين موقف العداد بشكل غير مباشر يضع العداد الدوار ، نظرًا لأن مكون فيراريس يعمل داخليًا مع الثورات وليس مع ساعات وات أو ساعات كيلووات.
| المعلمة | يكتب | منطقة | وصف |
|---|---|---|---|
value | uint64 | > = 0 | القيمة المستهدفة لعداد المبيعات في ثورات الأرقام |
تم وصف أمثلة التطبيق المختلفة لمكون Ferraris في هذا القسم.
في هذا البديل ، يتم استخدام الإخراج الرقمي لمستشعر الأشعة تحت الحمراء لتحديد ثورات القرص الدوار. لا يلزم الإخراج التناظري ، ويجب توصيل المسامير الأخرى بالدبابيس المقابلة من متحكم. بالنسبة إلى VCC ، يجب استخدام إخراج 3.3V من ESPs ويجب توصيل الإخراج الرقمي D0 إلى دبوس GPIO مجاني (على سبيل المثال GPIO4 ، يتوافق مع دبوس D2 على D1 mini).
يعرض مخطط دائرة المكون الإضافي التالي مثالًا على إعداد تجريبي مع لوحة تطوير MINI ESP8266 D1 باعتبارها متحكمًا.

بمساعدة مفك البراغي ، يجب بعد ذلك معايرة إشارة الخرج الرقمية عبر مقياس الجهد. المصابيح الخضراء على خلفية مساعدة المستشعر. يضيء LED الأيمن بشكل دائم عندما يتم تزويد المستشعر بالكهرباء. يضيء LED الأيسر طالما لم يتم التعرف على "عقبة" وانتهاء صلاحيته عند توقف الانعكاس. هذا الأخير هو الشرط عندما تتجول العلامات على القرص الدوار من المقياس الحالي فيراريس أمام المستشعر. لذلك يجب تعيين مقياس الجهد بحيث لا يزال LED الأيسر يضيء عندما لا تكون العلامة في منطقة مرسل/مستلم الأشعة تحت الحمراء بمجرد أن تدفع العلامة أمامه. هذه ليست سوى مساحة صغيرة جدًا وقد يكون من الصعب بعض الشيء العثور على هذا الإعداد. للحصول على دعم إضافي لهذه العملية ، يمكن تنشيط وضع المعايرة في البرامج الثابتة لـ Ferraris Meter ، انظر قسم المعايرة للحصول على التفاصيل.
نصيحة
إذا لم يكن من الممكن العثور على إعداد مناسب وعمل لمقياس الجهد ، يمكن بدلاً من ذلك استخدام الإخراج التناظري لمستشعر الأشعة تحت الحمراء ، انظر القسم التالي.
يجب تكوين جانب البرنامج لمكون Ferraris في ملف تكوين YAML PIN ، وهو متصل بالإخراج الرقمي لوحدة TCRT5000:
ferraris :
id : ferraris_meter
digital_input : GPIO4
# ...مثال التكوين: ferraris_meter_digital.yaml
في هذا البديل ، يتم استخدام الإخراج التناظري لمستشعر الأشعة تحت الحمراء لتحديد ثورات القرص الدوار. لا يلزم الإخراج الرقمي ، ويجب توصيل المسامير الأخرى بالدبابيس المقابلة للونرولر. بالنسبة إلى VCC ، يجب استخدام إخراج 3.3V من ESPs ويجب توصيل الإخراج التناظري A0 إلى دبوس ADC مجاني (على سبيل المثال GPIO17 ، يتوافق مع دبوس A0 على D1 mini).
يعرض مخطط دائرة المكون الإضافي التالي مثالًا على إعداد تجريبي مع لوحة تطوير MINI ESP8266 D1 باعتبارها متحكمًا.

لم تعد المعايرة عن طريق مقياس الجهد على وحدة TCRT5000 ضرورية ، وبدلاً من ذلك ، يجب تكوين جانب البرنامج للإدخال التناظري واختياريًا لقيم الإزاحة لخاصية التباطؤ (انظر أيضًا القسم الاكتئاب أدناه). هنا ، أيضًا ، يمكن أن يساعد وضع المعايرة لمكون Ferraris ، راجع قسم المعايرة للحصول على التفاصيل.
يتحكم العتبة analog_threshold عندما يتم التعامل مع الإشارة التناظرية على أنها "معترف بها" (مساحة ملحوظة للقرص الدوار) وعندما تعامل على أنها "غير معترف بها" (غير محددة المساحة للقرص الدوار). إذا كانت قيمة مستشعر ADC أكبر من analog_input العتبة ، فسيتم اعتبار العلامات معترف بها ، أو أصغر أو متشابهة ، غير معترف بها.

يجب الآن تنفيذ خطوات التكوين التالية ، على سبيل المثال ، جانب البرنامج:
sensor :
- platform : adc
id : adc_input
pin : GPIO17
internal : true
raw : true
samples : 10
update_interval : 50ms number :
- platform : template
id : adc_threshold
name : ADC Schwellwert
icon : mdi:speedometer-slow
entity_category : config
mode : box
optimistic : true
initial_value : 50
min_value : 0
max_value : 1000
step : 1analog_input الإدخال analog_threshold مكون الأرقام الذي تم إنشاؤه تحت 2. ferraris :
id : ferraris_meter
analog_input : adc_input
analog_threshold : adc_threshold
# ...analog_threshold إذا كانت العتبة معروفة بالفعل ولم يعد يجب تكوينها/تغييرها. في هذه الحالة ، يمكن حذف الخطوة 2. ferraris :
# ...
analog_threshold : 45
# ... يشبه تكوين قيم الإزاحة off_tolerance و on_tolerance إلى حد كبير تكوين analog_threshold وبالتالي لم يظهر بشكل صريح في المثال أعلاه.
مثال التكوين: ferraris_meter_analog.yaml
من الممكن أيضًا قراءة أكثر من عداد الحالي Ferraris مع متحكم ESP واحد. للقيام بذلك ، تحتاج إلى مزيد من أجهزة استشعار الأشعة تحت الحمراء / TCRT5000 ودبابيس GPIO مجانية إضافية على متحكم. كما هو موصوف سابقًا ، يتم توصيل وحدات TCRT5000 بمصدر الجهد للون تحكم ESP عبر VCC و GND ، وكل مخرجات D0 متصلة بلوحة ESP مع دبوس GPIO مجاني.
ملحوظة
من الناحية النظرية ، يمكن أيضًا استخدام البديل مع الإخراج التناظري لمستشعر الأشعة تحت الحمراء ، ولكن المسامير التي يمكن أن تتوافق مع ADC على متحكم ESP أكثر محدودية من المسامير الرقمية البحتة. على وجه الخصوص ، فإن ESP8266 ، الذي يحتوي على ADC واحد فقط ، سيكون غير مناسب لدعم العديد من أجهزة استشعار الأشعة تحت الحمراء من خلال مخرجاتها التماثلية.
يعرض مخطط دائرة المكون الإضافي التالي مثالًا على إعداد اختبار مع وحدتين TCRT5000 متصلان بـ ESP8266 D1 Mini.

ومع ذلك ، ينبغي أن يؤخذ في الاعتبار أن كل مستشعر الأشعة تحت الحمراء الإضافية يزيد الحمل على متحكم ، وخاصة في السرعات العالية جدًا من الأقراص الدوارة ، تقترب الأجهزة من حدودها.
يجب الآن تنفيذ خطوات التكوين التالية ، على سبيل المثال ، جانب البرنامج:
ferraris :
- id : ferraris_meter_1
digital_input : GPIO4
# ...
- id : ferraris_meter_2
digital_input : GPIO5
# ...ferraris_id . sensor :
- platform : ferraris
ferraris_id : ferraris_meter_1
power_consumption :
name : Momentanverbrauch 1
energy_meter :
name : Verbrauchszähler 1
- platform : ferraris
ferraris_id : ferraris_meter_2
power_consumption :
name : Momentanverbrauch 2
energy_meter :
name : Verbrauchszähler 2
binary_sensor :
- platform : ferraris
ferraris_id : ferraris_meter_1
rotation_indicator :
name : Umdrehungsindikator 1
- platform : ferraris
ferraris_id : ferraris_meter_2
rotation_indicator :
name : Umdrehungsindikator 2
switch :
- platform : ferraris
ferraris_id : ferraris_meter_1
calibration_mode :
name : Kalibrierungsmodus 1
- platform : ferraris
ferraris_id : ferraris_meter_2
calibration_mode :
name : Kalibrierungsmodus 2مثال التكوين: ferraris_meter_multi.yaml
أثناء تحديد المواقع ومحاذاة مستشعر الأشعة تحت الحمراء وكذلك تعديل مقياس الجهد أو قيمة العتبة التناظرية ، من غير المنطقي قياس ثورات القرص الدوار من العداد الحالي فيراريس وحساب الاستهلاك ، لأن التغييرات في حالة المستشعر لا تتوافق مع الكشف الفعلي للعلامة على السفن. لذلك ، هناك إمكانية وضع مكون Ferraris في وضع المعايرة عن طريق التبديل على مفتاح وضع المعايرة (انظر المحركات). طالما تم تنشيط وضع المعايرة ، لا يتم إجراء أي حساب لبيانات الاستهلاك ولا يتم تغيير المستشعرات المقابلة (انظر المستشعرات الأولية). بدلاً من ذلك ، فإن مستشعر التشخيص لإشارة الدوران (انظر مستشعرات التشخيص) نشط ويمكن استخدامه أيضًا لدعم المحاذاة الصحيحة. يكون المستشعر في on عندما تم التعرف على العلامة على القرص الدوار off إذا لم يتم التعرف على أي علامة.
من أجل أن تكون قادرًا على استخدام وضع المعايرة ، يجب تكوين مكونات calibration_mode و rotation_indicator في ملف yaml:
binary_sensor :
- platform : ferraris
rotation_indicator :
name : Umdrehungsindikator
switch :
- platform : ferraris
calibration_mode :
name : Kalibrierungsmodusيمكن أن يؤدي الانتقال من المنطقة غير المميزة إلى المنطقة والعكس بالعكس على القرص الدوار إلى سريع ذهابًا وإيابًا ("كذاب") لحالة تحديد المستشعر ، والتي تحدث بشكل خاص في سرعات دوارة بطيئة ولا يمكن قمعها تمامًا عن طريق المعايرة. تؤدي هذه الكدمة إلى قياسات مزيفة وتجنبها ، هناك الإعدادات التالية.
تحدد عتبة debounce_threshold الحد الأدنى للوقت في المللي ثانية بين السقوط والجناح المتزايد اللاحق. فقط إذا كان الوقت المقاس بين الجانبين فوق القيمة التي تم تكوينها ، فسيكون المستشعر الذي يؤدي إلى الاعتبار. يعمل هذا النوع من الاكتئاب عند استخدام كل من إشارة الدخل الرقمية والانتشار لمستشعر الأشعة تحت الحمراء.

يمكن تكوين قيمتي الإزاحة off_tolerance و on_tolerance لاستخدام خاصية التباطؤ لاكتشاف المنطقة المحددة على القرص الدوار عبر الإشارة التناظرية. هذا يعوض "ارتعاش" الإشارة التناظرية وبالتالي يقلل من كدمة محتملة لحالة التعريف للمنطقة المحددة على القرص الدوار. يعمل هذا النوع من الاكتئاب فقط عند استخدام إشارة الدخل التناظرية لمستشعر الأشعة تحت الحمراء.

مع تكوين ذكي لفاصل التحديث update_interval وعدد أخذ العينات لكل تحديث ( samples ) للمستشعر التناظري analog_input ، يمكن تنعيم منحنى الإشارة التناظرية حتى الآن بحيث يتم التخلص من التقلبات قصيرة المدى. ومع ذلك ، ينبغي أن يؤخذ في الاعتبار أن فترات التحديث الكبيرة جدًا يمكن أن تؤدي إلى حقيقة أن الثورات الفردية لم تعد معترف بها بسرعات عالية للغاية ، حيث أن الوقت بين الجهة المتساقطة المتزايدة والمتساقطة اللاحقة أصغر من فاصل التحديث المحدد. يعمل هذا النوع من الاكتئاب أيضًا فقط عند استخدام إشارة الدخل التناظرية لمستشعر الأشعة تحت الحمراء.
من أجل تعويض حالة العداد في مكون Ferraris مع العداد الفعلي للمقياس الحالي Ferraris ، يمكن كتابة قيمة مستشعر عداد الاستهلاك بشكل صريح. لهذا الغرض ، فإن اثنين ferraris.set_energy_meter و ferraris.set_rotation_counter .
نصيحة
عادة ما يكون من الضروري واحد فقط من الإجراءين ، اعتمادًا على ما إذا كنت تريد وضع العداد في ساعات كيلووات أو في عدد من الثورات.
اعتمادًا على ما إذا كان ينبغي التعامل مع إعداد مستوى العداد من قبل واجهة المستخدم أو تلقائيًا عبر الأتمتة والبرامج النصية ، يمكن استخدام الإجراءات بطرق مختلفة. تم وصف مثالين للتطبيق المحتملين أدناه ، ولكن هناك خيارات أخرى لم يتم وصفها هنا.
لهذا ، على سبيل المثال ، يتم تنفيذ خطوات التكوين التالية (في هذا المثال لتعيين موقف العداد كقيمة ساعة كيلووات):
number :
- platform : template
id : target_energy_value
name : Manueller Zählerstand
icon : mdi:counter
unit_of_measurement : kWh
device_class : energy
entity_category : config
mode : box
optimistic : true
min_value : 0
max_value : 1000000
step : 0.01 button :
- platform : template
name : Verbrauchszähler überschreiben
icon : mdi:download
entity_category : config
on_press :
- ferraris.set_energy_meter :
id : ferraris_meter
value : !lambda |-
float val = id(target_energy_value).state;
return (val >= 0) ? val : 0; لهذا ، على سبيل المثال ، يتم تنفيذ خطوات التكوين التالية:
ferraris.set_energy_meter ). api :
# ...
actions :
- action : set_energy_meter
variables :
target_value : float
then :
- ferraris.set_energy_meter :
id : ferraris_meter
value : !lambda |-
return (target_value >= 0)
? target_value
: 0;- id : ' 1234567890 '
alias : Zurücksetzen des Verbrauchszählers
trigger :
- platform : time
at : 00:00:00
condition :
- condition : template
value_template : ' {{ now().day == 1 }} '
action :
- action : esphome.ferraris_meter_set_energy_meter
data :
target_value : 0
mode : singleمن أجل عدم تقليل عمر ذاكرة الفلاش على متحكم ESP ، لا يحفظ مكون Ferraris أي بيانات في الفلاش. نتيجة لذلك ، لا يمكن أن يتذكر أولاً حالة العدادات على إعادة تشغيل متحكم ويبدأ العداد في العد عند 0 كيلو وات ساعة في كل قارب. لذلك بعد كل إعادة تشغيل ، يجب عليك الكتابة فوق مقياس المقياس يدويًا بقيمة قراءة على مقياس Ferraris الحالي. نظرًا لأن هذا ليس مستخدمًا للغاية ، فهناك إمكانية للاستمرار في آخر حالة عداد في المنزل ونقلها عند تشغيل متحكم.
لكي ينجح هذا ، يجب تنفيذ خطوات التكوين التالية ، على سبيل المثال:
input_number.stromzaehler_letzter_wert ). number :
- platform : homeassistant
id : last_energy_value
entity_id : input_number.stromzaehler_letzter_wertenergy_start_value إلى مكون الأرقام تحت 2. ferraris :
# ...
energy_start_value : last_energy_value- id : ' 1234567890 '
alias : Aktualisierung Verbrauchszähler-Cache
trigger :
- platform : state
entity_id :
- sensor.ferraris_meter_verbrauchszaehler
condition : []
action :
- action : input_number.set_value
target :
entity_id : input_number.stromzaehler_letzter_wert
data :
value : ' {{ states(trigger.entity_id) }} '
mode : singleenergy_meter في ملف تكوين YAML ، والذي يقوم بتحديث مكون الأرقام تحت 2. ومع ذلك ، فإن هذا يمتد وقت المعالجة لكل ثورة في متحكم ، وبالتالي يمكن أن يؤدي إلى حقيقة أن الجولات الفردية للقرص غير مسبوق لا يتم تسجيلها في حالة استهلاك الطاقة العالية للغاية (وبالتالي سرعات الدوران العالية للغاية). لذلك ، أوصي البديل مع الأتمتة في مساعد المنزل.يعد Ferraris Meter مكونًا من مكونات Esphome لإنشاء برنامج ثابت ESP يستخدم متحكم ESP ومستشعر الأشعة تحت الحمراء عدد الدورات وسرعة الجمباز لمقياس كهرباء فيراريس التناظرية وحساب استهلاك الكهرباء الحالي وقراءة العدادات. يمكن بعد ذلك إرسال قيمة الأطروحة إلى برامج الأتمتة المنزلية كمساعد منزلي لمزيد من المعالجة.
يتم توفير البرنامج (بما في ذلك الوثائق مع إعداد الأجهزة على سبيل المثال) "كما هو" ، دون أي ضمان من أي نوع أو صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات السخرية ، واللياقة لغرض معين وعدم الانحراف. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر في أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج أو فيما يتعلق أو الاستخدام أو غيرها من المعاملات في البرنامج.
على جانب الأجهزة ، يتم طلب فقط متحكم ESP (على سبيل المثال ESP8266 أو ESP32 ، بما في ذلك إمدادات الطاقة) ومستشعر الأشعة تحت الحمراء (مثل TCRT5000). متحكم ESP8266 مبني تمامًا للوظائف النقية لمقياس Ferraris. بالنسبة لمستشعر الأشعة تحت الحمراء ، هناك وحدة اندلاع TCRT5000 جاهزة مع جهد إدخال 3.3V-5V متوفر ، وبالتالي يحتوي على مقاوم قابل للتعديل (مقياس الجهد) لمعايرة الإخراج الرقمي للمستشعر. تحتوي الوحدات النمطية TCRT5000 على 4 دبابيس - VCC و GND لمصدر الطاقة من شريحة المستشعر وكذلك الإخراج الرقمي D0 والإخراج التناظري A0.
يتطلب وضع المستشعر على لوحة غلاف مقياس الكهرباء فيراريس مهارة ودقة صغيرة. يجب محاذاة زوج جهاز الإرسال/جهاز الاستقبال بالأشعة تحت الحمراء من المستشعر بشكل مركزي فوق القرص الدوار بدقة ملليمتر ويشير إلى خط مستقيم إلى القرص الدوار.
يدعم مكون Ferraris Meter أساسًا متغيرات إعداد المتابعة:
لإنشاء برنامج ثابت Esphome ، يجب عليك إبداع ملف تكوين يعتمد على Yaml. يمكنك استخدام أحد ملفات تكوين المثال التي أثبتت في هذا المستودع كنقطة انطلاق وتكييفها مع احتياجاتك.
من حيث المبدأ ، هناك طريقتان لبناء البرامج الثابتة esphome:
تعتمد الطريقة التي يجب عليك اختيارها على مدى درايةك باستخدام Esphome وما إذا كنت تفضل العمل مع واجهة مستخدم رسومية أو سطر الأوامر. بالإضافة إلى ذلك ، يمكن أن يلعب أداء المضيفين الذين تقومون ببناء البرامج الثابتة دورًا في تسريع العملية.
ملحوظة
ليس من الضروري أن تتخلى عن هذا المستودع والقيام بالتكوين لتكوين المثال مباشرة داخل مستودع متشعب. بدلاً من ذلك ، يكفي حفظ ومثال على تكوين مثال محليًا أو تخزينه على مضيف مساعد منزلك (إذا كنت ترغب في إنشاء البرامج الثابتة Esphome باستخدام الإضافات المتمثلة في جهاز الإسفوم).
تصف الأقسام التالية أبرز المكونات الواردة في ملف تكوين البرامج الثابتة.
يعد مكون Ferraris ضروريًا ويجب إضافته من أجل استخدام أجهزة استشعاره.
نظرًا لأن هذا مكون مخصص ليس جزءًا من الإسبوم ، فيجب استيراده بشكل صريح. أسهل طريقة هي تحميل المكون مباشرة من هذا المستودع.
external_components :
- source : github://jensrossbach/esphome-ferraris-meter
components : [ferraris] نصيحة
في المثال أعلاه ، يتم تحميل أحدث إصدار من المكون من الفرع main للمستودع. ومع ذلك ، أوصي باستخدام رقم الإصدار للإشارة إلى إصدار تم إصداره من أجل الحصول على مزيد من التحكم في إصدار البرنامج الذي يتم استخدامه وأن يكون قادرًا على الرد بشكل أفضل على "كسر التغييرات". راجع تكوين المثال لكيفية القيام بذلك.
يمكن تكوين عناصر التكوين العامة التالية:
| خيار | يكتب | مطلوب | تقصير | وصف |
|---|---|---|---|---|
id | بطاقة تعريف | لا 1 | - | مثيل مكون Ferraris |
digital_input | دبوس | نعم 2 | - | دبوس GPIO الذي يتم توصيل الإخراج الرقمي لوحدات TCRT5000 |
analog_input | بطاقة تعريف | نعم 2 | - | مستشعر ADC الذي يقرأ الدبوس المتصل بالإخراج التناظرية لوحدات TCRT5000 |
analog_threshold | الرقم / المعرف 3 | لا | 50 | قيمة العتبة للكشف عن الدورات عبر المدخلات التناظرية |
off_tolerance | الرقم / المعرف 3 | لا | 0 | إزاحة سلبية إلى العتبة التناظرية للحافة المتساقطة ، انظر القسم الذي يكرر للحصول على التفاصيل |
on_tolerance | الرقم / المعرف 3 | لا | 0 | إزاحة إيجابية إلى العتبة التناظرية للحافة الصاعدة ، انظر القسم الذي يكرر للحصول على التفاصيل |
rotations_per_kwh | رقم | لا | 75 | عدد دورات الدوران من القرص الدوار عبر كيلوواط (هذه القيمة عادة ما يتم ملاحظة ذلك على مقياس الكهرباء فيراريس) |
debounce_threshold | الرقم / المعرف 3 | لا | 400 | الحد الأدنى للوقت في السقوط ميلي ثانية وارتفاع الحافة اللاحقة لأخذ الدوران في الاعتبار ، راجع القسم لإزالة التسجيل للحصول على التفاصيل |
energy_start_value | بطاقة تعريف | لا | - | مكون الأرقام الذي سيتم استخدام قيمته كقيمة بدء لعداد الطاقة في وقت التمهيد |
1 تتطلب بعض حالات الاستخدام id عنصر التكوين.
2 واحد فقط من digital_input أو analog_input هو الطلب ، اعتمادًا على متغير إعداد الأجهزة.
3 عناصر التكوين analog_threshold ، off_tolerance ، on_tolerance و debounce_threshold تتوقع إما رقمًا ثابتًا أو معرفًا على مكون الأرقام. يسمح الأخير بتكوين القيمة عبر واجهة المستخدم (على سبيل المثال ، باستخدام رقم قالب).
ferraris :
id : ferraris_meter
digital_input : GPIO4
rotations_per_kwh : 75
debounce_threshold : 400
energy_start_value : last_energy_valueمطلوب مكون API إذا تم دمج ESP في مساعد المنزل. بالنسبة للحالة التي يجب استخدامها لبرنامج أتمتة المنزل البديل ، يجب إضافة مكون MQTT بدلاً من ذلك. ومع ذلك ، فإن بعض الآليات التي تبحث عن الإفراط يدويًا في عداد الطاقة أو استعادة قراءة العداد الأخيرة بعد إعادة التشغيل (بحيرة أدناه للتفاصيل) لا يمكن أن تعمل.
انظر مثال أدناه للتكامل في Home Assistant (مع API المشفرة):
api :
encryption :
key : !secret ha_api_keyوفيما يلي مثال للاستخدام مع برنامج بديل لأتمتة المنزل عبر MQTT:
mqtt :
broker : 10.0.0.2
username : !secret mqtt_user
password : !secret mqtt_passwordيجب أن يكون مكون WiFi موجودًا ، حيث لا يمكن نقل قيم المستشعر بسهولة إلى كمبيوتر آخر.
wifi :
ssid : !secret wifi_ssid
password : !secret wifi_passwordيوفر مكون Ferraris أجهزة استشعار أولية لفضح قيم الاستهلاك المحسوبة وكذلك أجهزة الاستشعار التشخيصية لوضع المعايرة. جميع أجهزة الاستشعار اختيارية ويمكن حذفها إذا لم يكن الحاجة.
يمكن تكوين المستشعرات الأساسية التالية:
| مستشعر | يكتب | فئة الجهاز | فئة الدولة | وحدة | وصف |
|---|---|---|---|---|---|
power_consumption | رقمية | power | measurement | ث | استهلاك الطاقة الحالي |
energy_meter | رقمية | energy | total_increasing | هل | إجمالي استهلاك الطاقة (قراءة متر) |
لخيارات التكوين التفصيلية لكل عنصر ، يرجى الرجوع إلى تكوين مكون مستشعر Esphome.
sensor :
- platform : ferraris
power_consumption :
name : Power consumption
energy_meter :
name : Meter reading يمكن تكوين أجهزة الاستشعار التشخيصية التالية:
| مستشعر | يكتب | وصف |
|---|---|---|
rotation_indicator | ثنائي | يشير ما إذا كانت العلامة الموجودة على القرص الدوار أمام مستشعر الأشعة تحت الحمراء (يعمل فقط في وضع المعايرة) |
للحصول على خيارات التكوين التفصيلية لكل عنصر ، يرجى الرجوع إلى تكوين مكون مستشعر Esphome الثنائي.
binary_sensor :
- platform : ferraris
rotation_indicator :
name : Rotation indicator لأغراض التشخيص ، يوفر مكون Ferraris مفتاحًا مع اسم calibration_mode . يمكن استخدامه لتعيين المكون على أزياء المعايرة (انظر معايرة القسم لمزيد من المعلومات).
switch :
- platform : ferraris
calibration_mode :
name : Calibration modeيوفر مكون Ferraris إجراءين لتحديد قراءة عداد الطاقة وعداد الدوران.
| فعل | وصف |
|---|---|
ferraris.set_energy_meter | يحدد قراءة عداد الطاقة على القيمة المقدمة |
| المعلمة | يكتب | يتراوح | وصف |
|---|---|---|---|
value | float | > = 0 | القيمة المستهدفة لقراءة عداد الطاقة في ساعات كيلووات (كيلوواط) |
ملحوظة
على الرغم من أن المستشعر لقراءة العدادات الحالية يحتوي على الوحدة (ساعات وات) ، فإن إجراءات التغلب على قراءة العدادات تحتوي على وحدة KWH (ساعة كيلووات) ، حيث عادةً ما تعرض عدادات الكهرباء فيراريس التناظرية عادةً قراءة العداد في هذه الوحدة.
| فعل | وصف |
|---|---|
ferraris.set_rotation_counter | يعين عداد الدوران على القيمة المقدمة |
ملحوظة
إن الإجراء اللازم لإعداد عداد الطاقة في قراءة غير مباشر بحيث يعمل عداد الدوران كمكون Ferraris داخليًا مع الدورات وليس مع ساعات Watt أو ساعات كيلووات.
| المعلمة | يكتب | يتراوح | وصف |
|---|---|---|---|
value | uint64 | > = 0 | القيمة المستهدفة لعداد الدوران في عدد الدورات |
يصف هذا القسم مختلف الأمثلة على الاستخدام لمكون Ferraris.
في هذا البديل ، يتم استخدام الإخراج الرقمي لمستشعر الأشعة تحت الحمراء للكشف عن دورات القرص الدوار. لا يلزم الإخراج التناظري ، ويجب توصيل المسامير الأخرى بالدبابيس المقابلة من متحكم. يجب استخدام إخراج 3.3V لـ ESP لـ VCC ويجب توصيل الإخراج الرقمي D0 بدبوس GPIO مجاني (على سبيل المثال GPIO4 ، المقابل لـ PIN D2 على D1 mini).
يوضح التخطيطي التالي لبرنامج Breadboard إعدادًا اختبارًا مثالًا باستخدام لوحة تطوير MINI ESP8266 D1 كتحكم.

يجب معايرة إشارة الخرج الرقمية لمستشعر الأشعة تحت الحمراء عبر مقياس الجهد باستخدام برغي. يساعد اثنين من المصابيح الخضراء على الجزء الخلفي من المستشعر في هذا. يضيء LED الأيمن بشكل مستمر عندما يتم تزويد المستشعر بالطاقة. تضيء LED اليسرى طالما لم يتم اكتشاف "عقبة" وخرجت عند توقف الانعكاس. هذا الأخير هو الحالة التي تتحرك فيها العلامة الموجودة على ميدان الكهرباء فيراريس أمام المستشعر. وبالتالي ، فإن تعديل Shedt Shedt من الجهد بحيث يضيء LED الأيسر فقط عندما لا تكون العلامة في نطاق زوج جهاز الإرسال/المستلم بالأشعة تحت الحمراء ويخرج مع تحرك العلامة أمامه. This is only a very small range and it can be a little difficult to find this setting. To Further Assist with this Process, the Calibration Mode Can Be Enabled In The Ferraris Meter Firmware, See Section Calibration for Details.
نصيحة
In case you are unable to find an appropriate and working adjustment of the potentiometer, you can alternatively use the analog output of the infrared sensor, see next section.
On the software side, the pin which is connected to the digital output of the TCRT5000 module has to be configured for the Ferraris component in the YAML configuration file:
ferraris :
id : ferraris_meter
digital_input : GPIO4
# ...Example configuration file: ferraris_meter_digital.yaml
In this variant, the analog output of the infrared sensor is used to detect rotations of the turntable. The digital output is not required, the other pins must be connected to the corresponding pins of the microcontroller. The 3.3V output of the ESP should be used for VCC and the analog output A0 must be connected to a free ADC pin (eg GPIO17, corresponding to pin A0 on the D1 Mini).
The following breadboard schematic shows an example test setup using an ESP8266 D1 Mini development board as microcontroller.

A calibration using the potentiometer on the TCRT5000 module is not needed. Instead, the threshold for the analog input and optionally the offset values for a hysteresis curve must be configured on the software side (see also section Debouncing further down). Here as well, the calibration mode of the Ferraris component could be helpful, see section calibration for details.
The threshold value analog_threshold controls when the analog signal is treated as "detected" (marked area of the turntable) and when it is treated as "not detected" (unmarked area of the turntable). If the value from the ADC sensor analog_input is greater than the threshold value, the marking is considered detected; if it is smaller than or equal to the threshold value, it is considered not detected.

On the software side, for instance, the following configuration steps must now be carried out:
sensor :
- platform : adc
id : adc_input
pin : GPIO17
internal : true
raw : true
samples : 10
update_interval : 50ms number :
- platform : template
id : adc_threshold
name : ADC threshold
icon : mdi:speedometer-slow
entity_category : config
mode : box
optimistic : true
initial_value : 50
min_value : 0
max_value : 1000
step : 1analog_input refers to the ADC sensor created under 1. and the entry analog_threshold refers to the number component created under 2. ferraris :
id : ferraris_meter
analog_input : adc_input
analog_threshold : adc_threshold
# ...analog_threshold if the threshold value is already known and no longer needs to be configured/changed. In this case, step 2 can be omitted. ferraris :
# ...
analog_threshold : 45
# ... The configuration for the offset values off_tolerance and on_tolerance is very similar to the configuration of analog_threshold and therefore not explicitly shown in above example.
Example configuration file: ferraris_meter_analog.yaml
It is also possible to read more than one Ferraris electricity meter with a single ESP microcontroller. This requires multiple infrared sensors / TCRT5000 modules and additional free GPIO pins on the microcontroller. The TCRT5000 modules have to be connected to the voltage source of the ESP microcontroller via VCC and GND as described in the section Hardware Setup and the D0 outputs have to be connected to free GPIO pins on the ESP board.
ملحوظة
Theoretically, the variant with the analog output of the infrared sensor can also be used, but the ADC-capable pins on the ESP microcontrollers are stronger limited than the pure digital pins. Especially the ESP8266, which has a single ADC only, would therefore not be suitable to support multiple infrared sensors via their analog outputs.
The following breadboard schematic shows an example of an example test setup with two TCRT5000 modules connected to an ESP8266 D1 Mini.

However, bear in mind that each additional infrared sensor increases the load on the microcontroller and brings the hardware closer to its limits, especially with very high rotation speeds of the turntables.
On the software side, for instance, the following configuration steps must now be carried out:
ferraris :
- id : ferraris_meter_1
digital_input : GPIO4
# ...
- id : ferraris_meter_2
digital_input : GPIO5
# ...ferraris_id configuration entry. sensor :
- platform : ferraris
ferraris_id : ferraris_meter_1
power_consumption :
name : Power consumption 1
energy_meter :
name : Meter reading 1
- platform : ferraris
ferraris_id : ferraris_meter_2
power_consumption :
name : Power consumption 2
energy_meter :
name : Meter reading 2
binary_sensor :
- platform : ferraris
ferraris_id : ferraris_meter_1
rotation_indicator :
name : Rotation indicator 1
- platform : ferraris
ferraris_id : ferraris_meter_2
rotation_indicator :
name : Rotation indicator 2
switch :
- platform : ferraris
ferraris_id : ferraris_meter_1
calibration_mode :
name : Calibration mode 1
- platform : ferraris
ferraris_id : ferraris_meter_2
calibration_mode :
name : Calibration mode 2Example configuration file: ferraris_meter_multi.yaml
During the positioning and alignment of the infrared sensor as well as the adjustment of the potentiometer or the analog threshold, it makes little sense to measure the rotations of the Ferraris electricity meter's turntable and calculate the consumption values, as the changes in state of the sensor do not correspond to the actual detection of the mark on the turntable. It is therefore possible to set the Ferraris component to calibration mode by turning on the calibration mode switch (see Actors). As long as the calibration mode is activated, no calculation of the consumption data is performed and the corresponding sensors (see Primary Sensors) are not changed. Instead, the diagnostic sensor for the rotation indication (see Diagnostic Sensors) is active and can additionally be used to assist with correct alignment. The sensor has the on state when the marker on the turntable is detected and the off state when it is not detected.
To be able to use the calibration mode, the components calibration_mode and rotation_indicator must be configured in the YAML file:
binary_sensor :
- platform : ferraris
rotation_indicator :
name : Rotation indicator
switch :
- platform : ferraris
calibration_mode :
name : Calibration modeThe transition from unmarked to marked area and vice versa on the turntable can lead to a rapid back and forth jump ("bouncing") in the detection state of the sensor, which occurs particularly at slow rotation speeds and cannot be completely suppressed by the calibration. This bouncing of the state leads to falsified measured values and to avoid this, the following settings can be applied.
The debounce threshold value debounce_threshold specifies the minimum time in milliseconds between falling and subsequent rising edge. The trigger from the sensor is only taken into account if the measured time between the two edges is above the configured value. This type of debouncing can be applied to both the variant using the digital as well as the analog input signal of the infrared sensor.

The two offset values off_tolerance and on_tolerance can be configured to use a hysteresis curve for the detection of the marked area on the turntable via the analog signal. This compensates the jitter of the analog signal and thus minimizes any possible bouncing of the detection status for the marked area on the turntable. This type of debouncing only works when using the analog input signal of the infrared sensor.

By carefully configuring the update interval update_interval and the number of samples per update ( samples ) for the analog sensor analog_input , the curve of the analog signal can be smoothed to such an extent that short-term fluctuations are eliminated. However, bear in mind that excessive update intervals can lead to individual rotations no longer being detected at very high rotation speeds, as the time between the rising and subsequent falling edge is then shorter than the set update interval. Also this type of debouncing only works when using the analog input signal of the infrared sensor.
To synchronize the meter reading in the Ferraris component with the actual meter reading of the Ferraris electricity meter, the value of the energy meter sensor can be explicitly overwritten. The two actions ferraris.set_energy_meter and ferraris.set_rotation_counter (see Actions) are provided for this purpose.
نصيحة
Usually, you need to use only one of the two actions, depending on whether you want to set the meter reading in kilowatt hours or in number of rotations.
The actions can be used in different ways, depending on whether the energy meter reading is to be set manually via the user interface or trigger-based via automations and scripts. Two possible usage examples are described below, but there are more possibilities existing which are not described here.
For instance, the following configuration steps are carried out (in this example to overwrite the energy meter with a kilowatt hours value):
number :
- platform : template
id : target_energy_value
name : Manual meter reading
icon : mdi:counter
unit_of_measurement : kWh
device_class : energy
entity_category : config
mode : box
optimistic : true
min_value : 0
max_value : 1000000
step : 0.01 button :
- platform : template
name : Overwrite meter reading
icon : mdi:download
entity_category : config
on_press :
- ferraris.set_energy_meter :
id : ferraris_meter
value : !lambda |-
float val = id(target_energy_value).state;
return (val >= 0) ? val : 0; For instance, the following configuration steps are carried out:
ferraris.set_energy_meter is used). api :
# ...
actions :
- action : set_energy_meter
variables :
target_value : float
then :
- ferraris.set_energy_meter :
id : ferraris_meter
value : !lambda |-
return (target_value >= 0)
? target_value
: 0;- id : ' 1234567890 '
alias : Reset energy meter reading
trigger :
- platform : time
at : 00:00:00
condition :
- condition : template
value_template : ' {{ now().day == 1 }} '
action :
- action : esphome.ferraris_meter_set_energy_meter
data :
target_value : 0
mode : singleIn order not to reduce the service life of the flash memory on the ESP microcontroller, the Ferraris component does not store any data persistently in the flash. As a result, it cannot remember the meter reading after a restart of the microcontroller and the meter starts counting at 0 kWh with every boot process. Therefore, the meter reading would have to be overwritten manually with a value read from the Ferraris electricity meter after each restart. As this is not very user-friendly, there is the option of persisting the last meter reading in Home Assistant and transferring it to the microcontroller when booting.
For this to work, the following configuration steps must be carried out:
input_number.electricity_meter_last_value ). number :
- platform : homeassistant
id : last_energy_value
entity_id : input_number.electricity_meter_last_valueenergy_start_value refers to the number component created under 2. ferraris :
# ...
energy_start_value : last_energy_value- id : ' 1234567890 '
alias : Update meter reading cache
trigger :
- platform : state
entity_id :
- sensor.ferraris_meter_energy
condition : []
action :
- action : input_number.set_value
target :
entity_id : input_number.electricity_meter_last_value
data :
value : ' {{ states(trigger.entity_id) }} '
mode : singleenergy_meter in the YAML configuration file which updates the number component created under 2 directly from ESPHome. However, this leads to a longer processing time per rotation in the microcontroller and may result in individual rotations of the turntable not being detected in the event of very high power consumption (and hence, very high rotation speeds). Therefore, I recommend the variant with the automation in Home Assistant.