Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| home_assistant:home_assistant_rezepte:wled_fortschritt [08.03.2026] – mark | home_assistant:home_assistant_rezepte:wled_fortschritt [07.11.2026] (aktuell) – mark | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== WLED Druckfortschritt Anzeige ====== | ====== WLED Druckfortschritt Anzeige ====== | ||
| - | ===== Für einen Drucker ===== | + | ===== Für einen oder mehrere |
| - | ==== configuration.yaml ==== | + | Hierzu mit dem HA Editor eurer Wahl config -> blueprints -> automation einen eigenen Ordner anlegen.\\ |
| - | + | darin z.B. eine Datei wled_print_progress.yaml und den unteren Inhalt einfügen. | |
| - | * wled_segment_percent: | + | |
| - | * id: die ID Nr. des zu steurnden Segments, default wäre 0 | + | |
| - | * fx: ist die laufende Nr. der Anmiation in WLED, in diesem Fall müssen wir " | + | |
| - | * bri: die Helligkeit der LEDs | + | |
| - | * ix: wie viele LEDs sollen leuchten, der Wert wird dann aus der Automation (siehe unten) gesetzt | + | |
| < | < | ||
| - | rest_command: | + | blueprint: |
| - | | + | name: WLED print progress (multi printer, rotating) |
| - | | + | |
| - | | + | |
| - | headers: | + | |
| - | Content-Type: | + | |
| - | | + | of unused printer slots empty. |
| - | { | + | |
| - | " | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | ] | + | |
| - | } | + | |
| - | </ | + | ' |
| + | domain: automation | ||
| + | input: | ||
| + | segment_light: | ||
| + | name: WLED segment (light) | ||
| + | description: | ||
| + | main segment). | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - light | ||
| + | integration: | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | intensity_entity: | ||
| + | name: WLED segment intensity (number) | ||
| + | description: | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - number | ||
| + | integration: | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | interval: | ||
| + | name: Display time per printer (seconds) | ||
| + | default: 5 | ||
| + | selector: | ||
| + | number: | ||
| + | min: 1.0 | ||
| + | max: 120.0 | ||
| + | unit_of_measurement: | ||
| + | mode: box | ||
| + | step: 1.0 | ||
| + | inactive_states: | ||
| + | name: States that count as "not printing" | ||
| + | default: | ||
| + | - idle | ||
| + | - offline | ||
| + | - finish | ||
| + | - unknown | ||
| + | - unavailable | ||
| + | selector: | ||
| + | text: | ||
| + | multiple: true | ||
| + | multiline: false | ||
| + | idle_preset_entity: | ||
| + | name: Idle - WLED preset selector (optional) | ||
| + | description: | ||
| + | to the whole device, not just this segment. Takes priority over the idle effect. | ||
| - | ==== Automation erstellen ==== | + | ' |
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - select | ||
| + | integration: | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | idle_preset_name: | ||
| + | name: Idle - preset name | ||
| + | description: | ||
| + | default: '' | ||
| + | selector: | ||
| + | text: | ||
| + | multiline: false | ||
| + | multiple: false | ||
| + | idle_effect: | ||
| + | name: Idle - segment effect (optional) | ||
| + | description: | ||
| + | e.g. Rainbow. Only used if no idle preset is set. If both are empty, the segment | ||
| + | is turned off. | ||
| - | Neue Automation erstellen, danach oben rechts die drei Punkte klicken und in yaml bearbeiten. \\ Dann den Inhalt ersetzen. | + | ' |
| - | + | | |
| - | | + | selector: |
| - | | + | text: |
| - | | + | multiline: false |
| - | | + | multiple: false |
| - | + | p1_status: | |
| - | < | + | name: Printer 1 - status |
| - | alias: WLED Druckfortschritt anzeigen | + | selector: |
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p1_progress: | ||
| + | name: Printer 1 - progress (%) | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p1_color: | ||
| + | name: Printer 1 - color | ||
| + | default: | ||
| + | - 0 | ||
| + | - 0 | ||
| + | - 255 | ||
| + | selector: | ||
| + | color_rgb: {} | ||
| + | p2_status: | ||
| + | name: Printer 2 - status (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p2_progress: | ||
| + | name: Printer 2 - progress (%) (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p2_color: | ||
| + | name: Printer 2 - color | ||
| + | default: | ||
| + | - 0 | ||
| + | - 255 | ||
| + | - 0 | ||
| + | selector: | ||
| + | color_rgb: {} | ||
| + | p3_status: | ||
| + | name: Printer 3 - status (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p3_progress: | ||
| + | name: Printer 3 - progress (%) (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p3_color: | ||
| + | name: Printer 3 - color | ||
| + | default: | ||
| + | - 255 | ||
| + | - 0 | ||
| + | - 0 | ||
| + | selector: | ||
| + | color_rgb: {} | ||
| + | p4_status: | ||
| + | name: Printer 4 - status (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p4_progress: | ||
| + | name: Printer 4 - progress (%) (optional) | ||
| + | default: '' | ||
| + | selector: | ||
| + | entity: | ||
| + | domain: | ||
| + | - sensor | ||
| + | multiple: false | ||
| + | reorder: false | ||
| + | p4_color: | ||
| + | name: Printer 4 - color | ||
| + | default: | ||
| + | - 255 | ||
| + | - 255 | ||
| + | - 0 | ||
| + | selector: | ||
| + | color_rgb: {} | ||
| + | mode: restart | ||
| + | max_exceeded: | ||
| + | trigger_variables: | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | s4: !input p4_status | ||
| + | status_entities: | ||
| + | variables: | ||
| + | | ||
| + | | ||
| + | idle_preset_name: | ||
| + | idle_effect: | ||
| + | s1: !input p1_status | ||
| + | s2: !input p2_status | ||
| + | s3: !input p3_status | ||
| + | s4: !input p4_status | ||
| + | pr1: !input p1_progress | ||
| + | pr2: !input p2_progress | ||
| + | pr3: !input p3_progress | ||
| + | pr4: !input p4_progress | ||
| + | c1: !input p1_color | ||
| + | c2: !input p2_color | ||
| + | c3: !input p3_color | ||
| + | c4: !input p4_color | ||
| + | printers: "{{ [\n {' | ||
| + | ' | ||
| + | \ {' | ||
| + | }}" | ||
| triggers: | triggers: | ||
| - | | + | - trigger: template |
| - | trigger: | + | value_template: |
| + | | ||
| + | - trigger: | ||
| + | value_template: | ||
| + | | list | count == 0 }}' | ||
| + | - trigger: homeassistant | ||
| + | event: start | ||
| actions: | actions: | ||
| - | | + | - repeat: |
| - | | + | while: |
| - | | + | - condition: template |
| - | mode: restart | + | |
| - | variables: | + | reject('' |
| - | ix: "{{ states(' | + | |
| + | - repeat: | ||
| + | | ||
| + | | ||
| + | - if: | ||
| + | - condition: template | ||
| + | value_template: | ||
| + | }}' | ||
| + | then: | ||
| + | - action: number.set_value | ||
| + | target: | ||
| + | entity_id: !input intensity_entity | ||
| + | data: | ||
| + | value: | ||
| + | 99] | min }}' | ||
| + | - action: light.turn_on | ||
| + | target: | ||
| + | entity_id: !input segment_light | ||
| + | data: | ||
| + | effect: Percent | ||
| + | rgb_color: '{{ repeat.item.color }}' | ||
| + | - delay: | ||
| + | seconds: !input interval | ||
| + | - choose: | ||
| + | - conditions: | ||
| + | - condition: template | ||
| + | value_template: | ||
| + | }}' | ||
| + | sequence: | ||
| + | - action: select.select_option | ||
| + | target: | ||
| + | entity_id: '{{ idle_preset_entity }}' | ||
| + | data: | ||
| + | option: '{{ idle_preset_name }}' | ||
| + | - conditions: | ||
| + | - condition: template | ||
| + | value_template: | ||
| + | sequence: | ||
| + | - action: light.turn_on | ||
| + | target: | ||
| + | entity_id: !input segment_light | ||
| + | data: | ||
| + | effect: '{{ idle_effect }}' | ||
| + | default: | ||
| + | - action: light.turn_off | ||
| + | target: | ||
| + | entity_id: !input segment_light | ||
| </ | </ | ||