Home Assistant · خطوة بخطوة

ابنِ لوحة تحكم Home Assistant هذه في ساعة تقريبًا

عشر خطوات، وكود YAML لكل بطاقة، وعرض كامل يمكنك لصقه دفعة واحدة. بُنيت والتُقطت صورها على جهاز Marantz CINEMA 30 حقيقي. غيّر نصّين فقط وتصبح لوحتك.

لوحة التحكم بعد اكتمالها: بطاقة رئيسية للتشغيل الحالي، ومستوى صوت مع إعدادات مسبقة بوحدة dB، وشبكة مصادر، وأوضاع الصوت المحيطي، وتصحيح الغرفة، والمشاهد، ورسم بياني لمستوى الصوت
ما الذي ستبنيه
على عجل؟ انتقل إلى الخطوة 10، ونزّل العرض الكامل، وغيّر نصّين والصقه. أما الخطوات التي بينهما فتشرح وظيفة كل جزء لتتمكن من تعديله.

قبل أن تبدأ

هناك مصدران يغذّيان لوحة التحكم هذه، والفرق بينهما مهم في كل خطوة أدناه.

المصدرما يوفّره لك
النصوص البرمجية المزامَنة من AVR Maestroكل عناصر التحكم: المدخلات، وأوضاع الصوت المحيطي، وAudyssey، وDirac، وSmart Selects، والإعدادات المسبقة، والإضاءة الخافتة، ووضع توفير الطاقة، ومشاهدك.
كيان مشغّل الوسائط في تكامل Denon AVRالحالة المباشرة: الطاقة، والمصدر المحدد، ووضع الصوت المحيطي، ومستوى الصوت، والكتم.
الخطوة 1

ثبّت أربع بطاقات من HACS

الأربع كلها موجودة في متجر HACS الافتراضي. في Home Assistant: HACS › الواجهة الأمامية › استكشاف & تنزيل المستودعات، ابحث عن الاسم، ثم نزّل، ثم أعد تحميل المتصفح.

ابحث عنيُستخدم من أجلإن تخطيته
Mushroomكل بلاطات التحكم، ومنزلق مستوى الصوتاستخدم بطاقة button عادية. تعمل، لكن شكلها أكثر تربيعًا.
button-cardعناوين الأقسام مع تسمية مباشرةاستخدم بطاقة markdown، أو عناوين عادية.
card-modالألوان، والحالة المضاءة للبلاطة النشطةكل شيء يعمل كما هو. لكن لا شيء يُضاء.
apexcharts-cardالرسوم البيانية للسجلاستخدم بطاقة history-graph المدمجة.
لا شيء منها مطلوب لكي تعمل اللوحة. كل عنصر تحكم أدناه يعمل ببطاقة زر قياسية من Home Assistant تشير إلى النص البرمجي نفسه. البطاقات المخصصة مجرد مكياج، وليست أنابيب.
الخطوة 2

اعثر على معرّفَي الكيانين

كل مقطع في هذه الصفحة يستخدم عنصرَين نائبَين. اعثر على قيمتيك مرة واحدة، والباقي نسخ ولصق.

الجزء الأوسط من كل معرّف نص برمجي هو عنوان MAC لمستقبلك، اثنا عشر حرفًا صغيرًا، وهو نفسه في جميعها. انسخه مرة واحدة. وفي كل موضع تكتب فيه هذه الصفحة MAC، ضع قيمتك.

تجاهل أي معرّف يحمل unavailable. كانت الإصدارات الأقدم تسمّي النصوص البرمجية باسم المستقبل بدل عنوان MAC. إن أجريت المزامنة حينها، فتلك النصوص القديمة لا تزال مدرجة لكنها معطّلة. أما العاملة فهي التي تحمل اسم MAC.
الخطوة 3

أنشئ العرض

  1. 1. الإعدادات › لوحات التحكم › إضافة لوحة تحكم › لوحة تحكم جديدة من الصفر. سمّها ما شئت.
  2. 2. افتحها، ثم اضغط أيقونة القلم أعلى اليسار للتعديل.
  3. 3. أضف عرضًا، واختر تخطيط الأقسام (Sections). وليس Masonry. فتخطيط الأقسام هو ما يجعل اللوحة تعيد ترتيب نفسها بشكل سليم على الهاتف.
  4. 4. في إعدادات العرض، اضبط الحد الأقصى للأعمدة على 3 وفعّل وضع الأقسام المتراصّة.

من هنا فصاعدًا كل خطوة هي: أضف قسمًا، ثم الصق بطاقات فيه. للصق YAML، استخدم قائمة النقاط الثلاث في البطاقة واختر التعديل بصيغة YAML، أو قائمة النقاط الثلاث في لوحة التحكم لاختيار محرر الإعدادات الخام للصق كل شيء دفعة واحدة.

# The view's own settings, if you prefer to type them
type: sections
title: AVR Maestro
icon: mdi:audio-video
max_columns: 3
dense_section_placement: true
الخطوة 4

أضف عنصر تحكم

ابدأ بأبسط شيء في اللوحة، لتتأكد من صحة معرّفات الكيانات قبل أن تبني أي شيء معقّد. أضف قسمًا، ثم بطاقة، ثم التعديل بصيغة YAML، والصق:

type: button
name: Pure Direct
icon: mdi:speaker
tap_action:
  action: perform-action
  perform_action: script.turn_on
  target:
    entity_id: script.avr_maestro_MAC_mode_pure_direct

Home Assistant القياسي. لا حاجة إلى HACS.

اضغط عليه. إن تغيّر حال المستقبل فمعرّفاتك صحيحة وكل ما يلي سيعمل. وإن لم يحدث شيء فارجع إلى الخطوة 2.

الخطوة 5

اجعله يُضاء حين يكون هو النشط

هذا هو النمط الذي يستحق التعلّم، وكل بلاطة مصدر وصوت محيطي في اللوحة نسخة منه. تُرسل البطاقة نصًا برمجيًا وتلوّن نفسها بحسب كيان المستقبل، فيُضاء المدخل الذي تستخدمه فعلًا وتبقى البقية مطفأة.

شبكة المصادر وقد أُضيء Nvidia Shield باللون البرتقالي بينما بقيت المدخلات الاثنا عشر الأخرى معتمة
بلاطة واحدة مضاءة، واثنتا عشرة معتمة
type: custom:mushroom-template-card
entity: script.avr_maestro_MAC_input_cd
icon: mdi:disc
primary: CD
icon_color: >-
  {{ 'orange' if (state_attr('media_player.your_receiver','source') or '')|lower
     == 'cd' else 'grey' }}
layout: vertical
fill_container: true
tap_action:
  action: perform-action
  perform_action: script.turn_on
  target:
    entity_id: script.avr_maestro_MAC_input_cd
card_mod:
  style: |
    ha-card {
      border-radius: 14px;
    {% if (state_attr('media_player.your_receiver','source') or '')|lower == 'cd' %}
      background: linear-gradient(160deg, rgba(226,86,10,0.34), rgba(15,15,17,0.88));
      border: 1px solid rgba(255,122,24,0.80);
    {% else %}
      background: rgba(15,15,17,0.72);
      border: 1px solid rgba(255,122,24,0.14);
    {% endif %}
    }

غيّر ثلاثة أشياء لكل مدخل: النص البرمجي، والأيقونة، والنص الذي تُجرى المقارنة معه.

أمران يجب ضبطهما وإلا فلن تُضاء البلاطة أبدًا:

أوضاع الصوت المحيطي هي البطاقة نفسها مع sound_mode بدلًا من source.

الخطوة 6

امنح كل قسم عنوانًا مباشرًا

العنوان العادي مساحة ميتة. ضع القيمة المباشرة تحته فيصبح «المصادر» هو «المصادر / يعمل الآن: Nvidia Shield».

type: custom:button-card
name: Sources
icon: mdi:video-input-hdmi
color_type: label-card
entity: media_player.your_receiver
show_label: true
label: >-
  [[[ var v = states["media_player.your_receiver"].attributes.source;
      return v ? ("Now on " + v) : "Receiver in standby"; ]]]
tap_action:
  action: none
styles:
  grid:
    - grid-template-areas: '"i n" "i l"'
    - grid-template-columns: min-content auto
  name:
    - font-size: 13px
    - letter-spacing: 3px
    - text-transform: uppercase
    - justify-self: start
  label:
    - font-size: 11px
    - justify-self: start

الشبكة ذات السطرين هي ما يضع التسمية تحت العنوان بدلًا من بجانبه.

بدّل attributes.source بـ attributes.sound_mode في عنوان قسم الصوت المحيطي، وهكذا.

الخطوة 7

اعرض مستوى الصوت بوحدة dB

يُبلغ Home Assistant عن مستوى الصوت ككسر. لا أحد يضبط مستقبله على «0.67». سطر واحد من الحساب يحل المشكلة ويبدو القسم كله كأنه مستقبل حقيقي.

قسم مستوى الصوت: منزلق، ورفع، وخفض، وكتم، وأربعة إعدادات مسبقة بوحدة dB
ليلي، وحوار، وفيلم، وعالٍ، وعلى كل منها مستوى dB الذي يضبطه
التحويل. ينشر Home Assistant القيمة volume_level بوصفها مستوى الصوت الرئيسي مقسومًا على 100، وفي مستقبلات Denon وMarantz يمثل MV 80 المرجع 0 dB. إذن dB = volume_level × 100 − 80. فالقيمة volume_level البالغة 0.67 تعني مستوى صوت رئيسيًا 67، أي −13.0 dB.
# The readout
type: custom:mushroom-template-card
entity: media_player.your_receiver
icon: mdi:volume-high
primary: >-
  {% set v = state_attr('media_player.your_receiver','volume_level') %}
  {% if v is not none %}{{ (v * 100 - 80) | round(1) }} dB{% else %}Standby{% endif %}
secondary: Master volume
layout: vertical
# The slider. media_controls must be empty or the bar becomes a power button
type: custom:mushroom-media-player-card
entity: media_player.your_receiver
volume_controls:
  - volume_set
media_controls: []
show_volume_level: true
# A preset. 0.50 is master volume 50, which is -30 dB
type: custom:mushroom-template-card
entity: media_player.your_receiver
icon: mdi:weather-night
primary: Night
secondary: "-30 dB"
tap_action:
  action: perform-action
  perform_action: media_player.volume_set
  target:
    entity_id: media_player.your_receiver
  data:
    volume_level: 0.50
اختر أعلى إعداد مسبق لديك بتأنٍّ. المجموعة أعلاه تتوقف عند −10 dB. فالوصول بالخطأ إلى لوحة تحكم أسهل بكثير من جهاز التحكم عن بُعد، والمستوى المرجعي على مستقبل كبير مرتفع فعلًا.
الخطوة 8

أضف مشاهدك

اقرأ الاسم من النص البرمجي بدل كتابته، وعندما تعيد تسمية مشهد في AVR Maestro تتغير تسمية البلاطة دون أي تعديل في لوحة التحكم.

أربع بلاطات مشاهد، وكل منها يسرد الإعدادات التي يستعيدها المشهد
كل بلاطة تذكر ما يستعيده مشهدها فعلًا
type: custom:mushroom-template-card
entity: script.avr_maestro_MAC_scene_1234567890123
icon: mdi:theater
primary: >-
  {{ state_attr('script.avr_maestro_MAC_scene_1234567890123','friendly_name')
     | replace('AVR Maestro - ', '') | replace(' (Your Receiver)', '') }}
secondary: >-
  {% set t = states.script['avr_maestro_MAC_scene_1234567890123'].attributes.last_triggered %}
  {{ 'recalled ' ~ relative_time(t) ~ ' ago' if t else 'not run yet' }}
multiline_secondary: true
tap_action:
  action: perform-action
  perform_action: script.turn_on
  target:
    entity_id: script.avr_maestro_MAC_scene_1234567890123

استدعاءا replace() يقصّان البادئة واسم المستقبل من الاسم الودّي.

السطر الثاني يستحق الدقيقة الإضافية. جدار من الأزرار بأسماء إيحائية لا يخبرك بشيء عند الساعة 11 مساءً، أما سطر يذكر ما يستعيده كل منها فيدلّك على الزر الذي تضغطه.

الخطوة 9

أضف السجل

يسجّل Home Assistant كيان مشغّل الوسائط في المستقبل مثل أي كيان آخر، فيتوفر لك سجل استماع مجانًا. كل ما يلي يأتي من كيان واحد: دون مستشعرات إضافية، ودون مساعدات، ودون أي إعداد مسبق.

خمسة رسوم بيانية للسجل: الطاقة والنشاط، ومستوى الصوت الرئيسي بوحدة dB، ومستوى الصوت حسب اليوم، والمصدر المستخدم، ووضع الصوت المحيطي
خمسة رسوم بيانية، وكيان واحد، وسبعة أيام

الخط الزمني للحالة العادي لا يحتاج إلى أي بطاقات مخصصة، وهو الأجدر بالاقتناء:

type: history-graph
hours_to_show: 168
entities:
  - entity: media_player.your_receiver
    name: Receiver

قيد التشغيل، ومتوقف، وما كان يفعله، على مدى أسبوع.

مستوى الصوت بوحدة dB يستخدم التحويل نفسه الوارد في الخطوة 7:

type: custom:apexcharts-card
graph_span: 7d
header:
  show: true
  title: Master volume, last 7 days
series:
  - entity: media_player.your_receiver
    attribute: volume_level
    name: Master volume
    type: line
    curve: smooth
    unit: dB
    float_precision: 1
    transform: "return x == null ? null : Number(x) * 100 - 80;"
    extend_to: now
    group_by:
      duration: 1h
      func: last
      fill: last
apex_config:
  chart:
    height: 240
  yaxis:
    min: -60
    max: 0

group_by مع fill: last يحوّل الأحداث المتفرقة إلى خط متصل. ويجب وضع المحور الرأسي في apex_config لكي يسري.

المتوسط اليومي والذروة يحوّلان الخط المتعرّج إلى شيء له شكل:

type: custom:apexcharts-card
graph_span: 7d
span:
  end: day
header:
  show: true
  title: Master volume by day in dB, average and peak
series:
  - entity: media_player.your_receiver
    attribute: volume_level
    name: Day average
    type: column
    float_precision: 1
    transform: "return x == null ? null : Number(x) * 100;"
    group_by: {duration: 1d, func: avg, fill: 'null'}
  - entity: media_player.your_receiver
    attribute: volume_level
    name: Day peak
    type: line
    curve: smooth
    float_precision: 1
    transform: "return x == null ? null : Number(x) * 100;"
    group_by: {duration: 1d, func: max, fill: 'null'}
apex_config:
  yaxis:
    min: 0
    max: 80
    labels:
      formatter: "EVAL:function (v) { return (v - 80).toFixed(0); }"
  tooltip:
    y:
      formatter: "EVAL:function (v) { return v == null ? '' : (v - 80).toFixed(1) + ' dB'; }"

سلسلتان من السمة نفسها، مجمّعتان حسب اليوم.

لماذا يرسم هذا الرسم القيم من 0 إلى 80 ثم ينسّقها بوحدة dB، بدل رسم dB مباشرة. الأعمدة تنمو من أرضية المحور. إن رسمت dB مباشرة فستتدلّى كل الأعمدة من الصفر، فيعني العمود الطويل صوتًا هادئًا، وهذا يُقرأ بالمقلوب. ارسم رقم مستوى الصوت الرئيسي الخام واطرح 80 في منسّقَي المحور والتلميح، فتنمو الأعمدة إلى الأعلى بينما يظل كل ما يراه القارئ بوحدة dB. وfill: 'null' تعني أن اليوم الذي لا قراءات فيه لا يحصل على عمود بدل أن تُرحَّل إليه قيمة الأمس.

والرسمان اللذان يجيبان عن سؤال «على ماذا أشاهد فعلًا، وبأي وضع»: المصدر ووضع الصوت المحيطي، مرسومان كخط زمني للمحدَّد منهما.

type: custom:apexcharts-card
graph_span: 7d
span:
  end: day
header:
  show: true
  title: Source in use, last 7 days
series:
  - entity: media_player.your_receiver
    attribute: source
    name: Source
    type: line
    curve: stepline
    stroke_width: 3
    extend_to: now
    float_precision: 0
    transform: |
      if (x == null) return null;
      var m = ["Phono", "NET", "Xbox", "Nvidia Shield"];
      var i = m.indexOf(x);
      return i < 0 ? 0 : i + 1;
apex_config:
  yaxis:
    min: 0
    max: 4
    tickAmount: 4
    labels:
      formatter: >-
        EVAL:function (v) { return ["Other", "Phono", "HEOS Net", "Xbox",
        "Shield"][Math.round(v)] || ''; }
  tooltip:
    y:
      formatter: >-
        EVAL:function (v) { return v == null ? 'off' : ["Other", "Phono",
        "HEOS Net", "Xbox", "Shield"][Math.round(v)] || 'Other'; }

ضع مصادرك أنت في مصفوفة transform وفي مصفوفتَي المنسّق كلتيهما. أبقِ الفهرس 0 على «Other».

محور الرسم يحتاج إلى أرقام، لذا يربط transform كل اسم مصدر بموضع، وتعيده المنسّقات إلى الاسم في التسميات والتلميح. اجعل الربط شاملًا: يبقى null (المستقبل متوقف) فجوة، وأي شيء ليس في قائمتك يقع في «Other»، فلا يختلط الأمران أبدًا. والبطاقة نفسها مع sound_mode تعطيك وضع الصوت المحيطي، بنصوص بأحرف كبيرة تمامًا كما يبلّغ عنها مستقبلك.

أبقِ stepline على هذين الأخيرين. المصدر ووضع الصوت المحيطي فئتان لا رقمان. إن نعّمت المنحنى فسينحرف الخط بين Shield وXbox مارًّا بما يقع بينهما على المحور، راسمًا مدخلًا لم يُحدَّد قط. مستوى الصوت كمية حقيقية ويقبل التنعيم بأمانة، أما الفئة فلا.
تحقق من مدة الاحتفاظ في المسجِّل أولًا. يحتفظ Home Assistant بعشرة أيام افتراضيًا، فسبعة أيام هي أقصى ما يمكنك طلبه بفائدة. وللرجوع أبعد تحتاج إلى مستشعر قالب state_class: measurement، يحتفظ به Home Assistant كإحصاءات طويلة الأمد لسنوات.
اليوم المفقود صحيح في الغالب. يسجّل Home Assistant التغيرات لا العيّنات. اترك المستقبل على مدخل واحد وبمستوى صوت واحد ليومين فلن يكتب شيئًا على الإطلاق، فلا يكون لذلك اليوم عمود. يبدو كأنه فقدان بيانات، وهو العكس: لم يحدث شيء.
الخطوة 10

أو خذ كل شيء جاهزًا

العرض الكامل، بكل أقسامه وبطاقاته، مع عناصر نائبة بدل معرّفات الكيانات.

  1. 1. نزّل ملف YAML الخاص بالعرض.
  2. 2. افتحه في أي محرر نصوص واستبدل نصّين في كل موضع يظهران فيه: YOUR_RECEIVER باسم كيان مشغّل الوسائط لديك، وYOURMAC بالأحرف الاثني عشر الخاصة بمستقبلك من الخطوة 2.
  3. 3. في Home Assistant افتح لوحة التحكم، ثم أيقونة القلم، ثم قائمة النقاط الثلاث، ثم محرر الإعدادات الخام، والصقه كعرض.
معرّفات مشاهدك لن تتطابق. تُسمّى نصوص المشاهد البرمجية بحسب وقت إنشاء المشهد، فالأربعة الموجودة في الملف غير موجودة على نظامك: ستظهر تلك البطاقات ولن تفعل شيئًا. استبدل معرّفات كياناتها بمعرّفاتك من الخطوة 2، أو احذف قسم المشاهد وأعد بناءه بالخطوة 8.
أمران آخران متوقعان. الرسمان البيانيان للمصدر والصوت المحيطي يحملان أسماء المصادر من المستقبل الذي بُنيت عليه اللوحة، فعدّل تلك المصفوفات كما تصف الخطوة 9. وتسميات البلاطات بالإنجليزية؛ لا شيء في الملف مترجم.

إذا لم تُضاء بلاطة أبدًا

قبل أن تفترض أنك بنيتها خطأ: بعضها لا يمكن أن يُضاء، ومن المفيد أن تعرف أيها.

لا تستطيع البلاطة عرض حالتها إلا إذا استطاع Home Assistant قراءتها، وهو يقرأ مستقبلك من مكانين. يتولى تكامل Denon AVR نشر الأساسيات على كيان مشغّل الوسائط. ويتولى AVR Maestro نشر الباقي: فهو ينشئ مستشعر Status Bridge، sensor.avr_maestro_your_receiver، ويكتب عليه القراءات التي يحتفظ بها أصلًا كسمات.

على كيان مشغّل الوسائطعلى مستشعر Status Bridge
الطاقةمنحنى Audyssey MultEQ
المصدر المحددDynamic Volume والمستوى المرجعي
وضع الصوت المحيطيأي خانة Dirac محمّلة
مستوى الصوت والكتمإضاءة اللوحة الأمامية الخافتة، ووضع توفير الطاقة
Dynamic EQ، أحيانًاSpeaker Preset، وجرس الصوت، وعشرات غيرها

العمودان قابلان للقراءة الآن. خذ قيمة مشغّل الوسائط من states['media_player.your_receiver'].attributes، وقيمة Status Bridge بـ state_attr('sensor.avr_maestro_your_receiver','dirac_slot')، لتُضاء البلاطة للإعداد الفعّال فعلًا بدل أن تكتفي بتشغيل النص البرمجي الذي يغيّره.

قيس على المستقبل الذي بُنيت عليه اللوحة: يحمل كيان مشغّل الوسائط نحو عشرين من أصل ستين عنصر تحكم، وينشر مستشعر Status Bridge نحو أربعين أخرى. وبالاثنين معًا تستطيع لوحة التحكم قراءة كل ما تستطيع تغييره تقريبًا - وهذا هو الفرق بين جدار من الأزرار وسطح تحكم حقيقي.

إذا كانت القيمة تحتمل معنيين، فقل ذلك. يصل Dynamic EQ بالقيمة true أو false أو لا يصل إطلاقًا. معاملة «لا يصل إطلاقًا» كأنه «متوقف» تضع على جدارك إجابة خاطئة واثقة.
icon_color: >-
  {% set d = state_attr('media_player.your_receiver','dynamic_eq') %}
  {{ 'orange' if d is true else 'grey' }}
secondary: >-
  {% set d = state_attr('media_player.your_receiver','dynamic_eq') %}
  {% if d is none %}state not published{% elif d %}on{% else %}off{% endif %}

ثلاث حالات، لا اثنتان.

أمور أخرى تستحق المعرفة

لوحة التحكم نفسها بعرض الهاتف، وقد أعادت ترتيب نفسها في عمود واحد
لوحة التحكم نفسها بعرض الهاتف: الأعمدة الثلاثة تصبح عمودًا واحدًا، ولم يُضبط شيء لحدوث ذلك
أسئلة شائعة

لوحة التحكم، بالأجوبة

هل أحتاج إلى بطاقات مخصصة من HACS لبناء هذه اللوحة؟
ليس لكي تعمل. فكل عنصر تحكم في هذه الصفحة يعمل من بطاقة أزرار عادية في Home Assistant. أما Mushroom وbutton-card وcard-mod وapexcharts-card فهي ما يمنحها المظهر الذي تراه في لقطات الشاشة، ويذكر كل قسم أدناه أيها يستخدم وما تخسره بدونه.
لماذا تضيء بعض الأزرار ولا تضيء أخرى؟
يُضاء الزر حين يستطيع Home Assistant قراءة الحالة المطابقة من مستقبلك. المصدر ووضع الصوت المحيطي ومستوى الصوت والكتم تأتي من كيان مشغّل الوسائط الخاص بالمستقبل'، لذا تُضاء. أما منحنى Audyssey وخانة Dirac والإضاءة الخافتة ووضع توفير الطاقة وSpeaker Preset فلا ينشرها تكامل Denon، فلا يعرف Home Assistant أيها فعّال وتبقى الأزرار غير مضاءة إلى أن تضغط أحدها.
هل يمكنني عرض مستوى الصوت الحقيقي بوحدة dB بدلًا من نسبة مئوية؟
نعم. ينشر Home Assistant القيمة volume_level بوصفها مستوى الصوت الرئيسي للمستقبل' مقسومًا على 100، وفي مستقبلات Denon وMarantz يمثل MV 80 المرجع 0 dB. إذن dB يساوي volume_level مضروبًا في 100، ناقص 80. فقيمة volume_level البالغة 0.67 تعني مستوى صوت رئيسيًا 67، أي -13.0 dB.
هل ستطابق معرّفات الكيانات لديّ ما في هذا الدليل؟
النمط نعم، أما الجزء الأوسط فلا. يسمّي AVR Maestro نصوصه البرمجية بعنوان MAC الخاص بالمستقبل' حتى تحدّث إعادة التسمية النص نفسه بدل أن تشعّبه. ستكون نصوصك script.avr_maestro_ ثم أحرفك الاثني عشر، ثم اسم عنصر التحكم. افتح أدوات المطور ثم الحالات في Home Assistant وصفِّ بالنص avr_maestro لترى قائمتك.
المزيد من الدليل

أدلة AVR Maestro الأخرى

البدء · الشاشة الرئيسية · المشاهد · الأيقونات المخصصة · الصوت · المعادِل الرسومي · مكبرات الصوت · لماذا يكون عنصر التحكم مقفلًا · المساعد · أتمتة المنزل · المناطق · التحكم عن بُعد · الراديو (FM/AM) · العرض على الشاشة · الإعدادات · اللغات · عناصر التحكم في مستوى الصوت · النسخ الاحتياطي & الاستعادة · قيد التشغيل الآن & HEOS

مستقبلك كله، على جدار واحد

أتمتة المنزل هي الميزة المدفوعة الوحيدة في AVR Maestro. كل ما عداها، بما في ذلك المساعد الذكي على الجهاز، مشمول.

احصل عليه من Google Play نزّله من App Store نزّله من Mac App Store احصل عليه من Microsoft Store

العودة إلى أتمتة المنزل → · دليل المستخدم الكامل →