Tíz lépés, minden kártya YAML-kódja, és egy teljes nézet, amelyet egyben beilleszthetsz. Valódi Marantz CINEMA 30 készüléken épült és fotózva. Cserélj ki két szöveget, és a tiéd.
Két forrás táplálja ezt az irányítópultot, és a különbség minden alábbi lépésnél számít.
| Innen jön | Ezt adja |
|---|---|
| Az AVR Maestro szinkronizált szkriptjei | Minden vezérlő. Bemenetek, térhatású módok, Audyssey, Dirac, Smart Selectek, előbeállítások, fényerőszabályzó, eco, a Jeleneteid. |
| A Denon AVR integráció médialejátszó entitása | Élő állapot. Tápellátás, kiválasztott forrás, térhatású mód, hangerő, némítás. |
Mind a négy megtalálható az alapértelmezett HACS-tárolóban. A Home Assistantban: HACS › Frontend › Explore & Download Repositories, keress rá a névre, Download, majd töltsd újra a böngészőt.
| Keresett név | Ehhez kell | Ha kihagyod |
|---|---|---|
| Mushroom | Minden vezérlőcsempe és a hangerőcsúszka | Használj sima button kártyát. Működik, csak szögletesebb. |
| button-card | Szakaszfejlécek élő felirattal | Használj markdown kártyát, vagy sima címsorokat. |
| card-mod | A színek és az aktív csempe kivilágított állapota | Minden továbbra is működik. Semmi sem világít. |
| apexcharts-card | Az előzménygrafikonok | Használd a beépített history-graph kártyát. |
Az oldal minden kódrészlete két helyőrzőt használ. Keresd meg a sajátjaidat egyszer, a többi már csak másolás és beillesztés.
media_player.your_receiver → Beállítások › Eszközök & szolgáltatások › a készüléked › a médialejátszó entitás. Valami ilyesmi: media_player.marantz_cinema_30.script.avr_maestro_MAC_... → Fejlesztői eszközök › Állapotok, és írd be a(z) avr_maestro szöveget az entitásszűrőbe. Megjelenik a teljes vezérlőlistád.Minden szkriptazonosító közepe a készülék MAC-címe, tizenkét kisbetűs karakter, mindegyiken ugyanaz. Másold ki egyszer. Ahol az oldal ezt írja: MAC, ott told be a sajátodat.
unavailable. A régebbi verziók a szkripteket a készülék nevéről nevezték el, nem a MAC-címéről. Ha akkor szinkronizáltál, ezek a régiek még mindig listázva vannak, de halottak. Az élők a MAC-cím alapján elnevezettek.Innentől minden lépés ugyanaz: adj hozzá egy szakaszt, majd illessz be kártyákat. A YAML beillesztéséhez használd a kártya hárompontos menüjét és válaszd az Edit in YAML lehetőséget, vagy az irányítópult hárompontos menüjében a Raw configuration editor menüpontot, hogy az egészet egyszerre illeszd be.
# 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
Kezdd a tábla legegyszerűbb elemével, hogy még a bonyolult dolgok megépítése előtt tudd, jók-e az entitásazonosítóid. Adj hozzá egy szakaszt, egy kártyát, Edit in YAML, és illeszd be:
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
Alap Home Assistant. Nincs szükség HACS-re.
Koppints rá. Ha a készülék reagál, jók az azonosítóid, és minden alábbi működni fog. Ha nem történik semmi, térj vissza a 2. lépéshez.
Ez az a minta, amelyet érdemes megtanulni, és a tábla minden forrás- és térhatású csempéje ennek a másolata. A kártya egy szkriptet küld, és a színét a készülék entitásából veszi, így az éppen használt bemenet világít, a többi nem.

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 %}
}
Bemenetenként három dolgot kell módosítani: a szkriptet, az ikont és a szöveget, amellyel összehasonlít.
Két dologra figyelj, különben a csempe soha nem fog világítani:
source_list és sound_mode_list attribútumokat. Ezek a pontos szövegek. Kisbetűkkel hasonlíts össze, ahogy fent.Xbox, miközben az AVR Maestro vezérlő neve továbbra is input_game1. Arra illeszkedj, amit a készülék jelent, ne a szkript nevére.A térhatású módok ugyanezt a kártyát használják, sound_mode helyett source értékkel.
Egy sima cím holt tér. Tedd alá az élő értéket, és a „Sources” így lesz: „Sources / Now on 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
A kétsoros rács teszi a feliratot a cím alá a mellé helyett.
A Surround fejlécben cseréld a(z) attributes.source értéket attributes.sound_mode értékre, és így tovább.
A Home Assistant törtként közli a hangerőt. Senki sem állít be egy készüléket „0.67”-re. Egyetlen sor matek megoldja, és a teljes szakasz végre úgy olvasódik, mint egy készülék.

volume_level értéket a fő hangerő századrészeként teszi közzé, a Denon és Marantz készülékeken pedig az MV 80 a 0 dB referencia. Tehát dB = volume_level × 100 − 80. A 0.67-es volume_level fő hangerő 67, vagyis −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
A nevet olvasd ki a szkriptből, ne gépeld be, így ha az AVR Maestro-ban átnevezel egy Jelenetet, a csempe neve is változik, az irányítópult szerkesztése nélkül.

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
A két replace() hívás levágja az előtagot és a készülék nevét a barátságos névről.
A második sor megér egy plusz percet. Egy csomó hangzatos nevű gomb este 11-kor semmit sem mond; egy sor arról, hogy mit állít vissza, megmondja, melyiket nyomd meg.
A készülék médialejátszó entitását a Home Assistant úgy rögzíti, mint bármelyik másikat, így hallgatási előzményt kapsz ingyen. Minden alábbi ebből az egy entitásból származik: nincs extra szenzor, nincs segédelem, nincs mit előzetesen beállítani.

Az egyszerű állapot-idővonalhoz egyáltalán nem kellenek egyedi kártyák, és ezt érdemes a legjobban megtartani:
type: history-graph
hours_to_show: 168
entities:
- entity: media_player.your_receiver
name: Receiver
Be, ki, és mit csinált, egy héten át.
A dB-ben mutatott hangerő ugyanazt az átváltást használja, mint a 7. lépés:
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
A group_by és a fill: last a ritka eseményeket folytonos vonallá alakítja. Az y tengelyt az apex_config részben kell megadni, hogy érvényesüljön.
A napi átlag és csúcs a tüskés vonalból formát csinál:
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'; }"
Két adatsor ugyanabból az attribútumból, napok szerint csoportosítva.
fill: 'null' azt jelenti, hogy a mérés nélküli napnak nincs oszlopa, ahelyett hogy az előző napé öröklődne tovább.És a két grafikon, amely megválaszolja: „min nézek valójában, és milyen módban”: a forrás és a térhatású mód, idővonalként ábrázolva, hogy melyik volt kiválasztva.
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'; }
Írd be a saját forrásaidat a transform tömbbe és mindkét formázó tömbbe. A 0. index maradjon „Other”.
A diagram tengelyének számok kellenek, ezért a(z) transform minden forrásnevet egy pozícióhoz rendel, a formázók pedig visszafordítják a feliratokhoz és a tooltiphez. Tedd a hozzárendelést teljessé: a(z) null (kikapcsolt készülék) rés marad, és ami nincs a listádban, az „Other”-be kerül, így a kettő sosem keveredhet össze. Ugyanez a kártya sound_mode értékkel a térhatású módot adja, a szövegek nagybetűsen, pontosan ahogy a készülék jelenti.
stepline beállítást ennél az utolsó kettőnél. A forrás vagy a térhatású mód kategória, nem szám. Ha simítod a görbét, a vonal a Shield és az Xbox között átível mindenen, ami a tengelyen köztük van, és olyan bemenetet rajzol, amelyet soha nem választottak ki. A hangerő valódi mennyiség, és őszintén simítható; a kategória nem.state_class: measurement template szenzor, amelyet a Home Assistant évekig hosszú távú statisztikaként tárol.A teljes nézet, minden szakasszal és kártyával, entitásazonosítók helyett helyőrzőkkel.
YOUR_RECEIVER szöveget a médialejátszó entitásod nevére, a(z) YOURMAC szöveget pedig a készüléked tizenkét karakterére a 2. lépésből.Mielőtt azt hinnéd, hogy rosszul építetted: némelyik nem is tud világítani, és érdemes tudni, melyik.
Egy csempe csak akkor mutathatja az állapotát, ha a Home Assistant el tudja olvasni, a készülékedet pedig két helyről olvassa. A Denon AVR integráció az alapokat a médialejátszó entitáson teszi közzé. A többit az AVR Maestro: létrehoz egy Status Bridge szenzort, sensor.avr_maestro_your_receiver, és a már birtokában lévő értékeket attribútumként ráírja.
| A médialejátszó entitáson | A Status Bridge szenzoron |
|---|---|
| Tápellátás | Audyssey MultEQ görbe |
| Kiválasztott forrás | Dynamic Volume és referenciaszint |
| Térhatású mód | Melyik Dirac foglalat van betöltve |
| Hangerő és némítás | Elülső panel fényerőszabályzója, Eco mód |
| Dynamic EQ, néha | Hangszóró-előbeállítás, hangszín és még tucatnyi más |
Mindkét oszlop mostantól olvasható. A médialejátszó értékét innen vedd: states['media_player.your_receiver'].attributes, a Status Bridge értékét pedig így: state_attr('sensor.avr_maestro_your_receiver','dirac_slot'), hogy a csempe arra a beállításra világítson, amely ténylegesen aktív, ne csak azt a szkriptet indítsa, amely módosítja.
Azon a készüléken mérve, amelyen ez készült: a médialejátszó entitás a hatvan vezérlőből nagyjából húszat hordoz, a Status Bridge szenzor pedig körülbelül negyvenet tesz közzé. A kettő együtt lehetővé teszi, hogy az irányítópult szinte mindent kiolvasson, amit módosítani tud - ez a különbség a gombfal és a vezérlőfelület között.
true, false, vagy sehogy. Ha a „sehogy”-t „kikapcsolva”-nak veszed, magabiztos, de téves választ teszel a falra.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 %}
Három állapot, nem kettő.
grid_options: {columns: 9}. Hat csempéhez 6.media_controls a(z) on_off értékkel. Állítsd ezt: media_controls: [].multiline_secondary: true.experimental.color_threshold. A vonalat függőleges színátmenettel rajzolja, a tökéletesen vízszintes szakasznak pedig nulla a magassága, amelyen átmenet lehetne, így láthatatlan lesz. Egy 43 órás, egy hangerőn futó munkamenet teljesen eltűnt. Használj tömör color értéket.
Első lépések · Kezdőképernyő · Jelenetek · Egyéni ikonok · Hang · Grafikus EQ · Hangszórók · Miért zárolt egy vezérlő · Az asszisztens · Otthonautomatizálás · Zónák · Távirányító · Rádió (FM/AM) · Képernyőkijelző · Beállítások · Nyelvek · Hangerő-szabályzók · Mentés & visszaállítás · Most szól & HEOS
Az Otthon-automatizálás az AVR Maestro egyetlen fizetős feloldása. Minden más, az eszközön futó AI-asszisztenssel együtt, benne van.
Vissza az otthonautomatizáláshoz → · Teljes felhasználói útmutató →