Inhalte eines Scripts (Timer) im Dashboard anzeigen und bearbeiten?

Hallo!

Ich habe meinen Husqvarna Automower 310 MK2 mit einem WLAN-Modul von Robonect ausgestattet und die Integration von Robonect in Home Assistant eingebunden.

Klappt alles wunderbar, allerdings suche ich noch nach einer Lösung für die Darstellung eines Scriptinhalts.

Das Script sieht so aus:

YAML:

sequence:
  - action: robonect.timer
    metadata: {}
    data:
      timer: '1'
      enable: true
      entity_id: lawn_mower.automower_automower
      start: '08:00:00'
      end: '11:30:00'
      weekdays:
        - mo
        - we
        - fr
        - sa
alias: Automower_Timer
description: ''

Wenn ich das Script aufrufe, und bearbeite (zB die Startuhrzeit ändere), werden die Daten auch richtig im Mäher bzw. Modul übernommen. Ebenso in der Robonect-Integration:

switch.automower_timer_1

Details:

Wie könnte ich nun in meinem Dashboard den Inhalt dieser Entität so aufbereiten, dass die Uhrzeiten und Tage angezeigt werden und auch bearbeitet werden können?

Zum Beispiel so wie in der Robonect-Website, die via IP aufgerufen werden kann:

Eine Möglichkeit habe ich gefunden, die gefällt mir aber nicht. Ich bin die Website ins Dashboard ein und bearbeite das dann direkt. Aber dann bräuchte ich ja kein Home Assistant…

Vielen Dank im Voraus für eure Tipps!

Warum gehst du nicht den umgekehrten Weg?

Du erstellst dir Helfer für die Werte, die du im Script ändern willst und ein Dashbosrd, in dem du die Werte der Helfer verändern kannst. Im Script verwendest du statt fester Werte die Werte der Helfer.

Danke.

Nun, das Script ist schon vorgegeben, da kann ich keine anderen Bausteine (Helfer) integrieren.
Ausserdem hab ich in der Robonect-Integration keine Werte, wie “start”, “end” oder “weekday”, die ich ändern könnte.

Es gibt lediglich 14 Timer, die man ein- oder ausschalten kann, jedoch dort nicht bearbeiten. Das geht nur über das vorgegebene Script.

Was hindert dich daran das Skript zu suchen, zu kopieren und nach deinen Wünschen zu verändern (mit Helfern) ?

Mich hindert meine Unwissenheit daran :wink:

Das Script hab ich ja selbst mit Werten versehen und aktiviert.

sequence:
  - action: robonect.timer
    metadata: {}
    data:
      timer: '1'
      enable: true
      entity_id: lawn_mower.automower_automower
      start: '08:00:00'
      end: '11:30:00'
      weekdays:
        - mo
        - we
        - fr
        - sa
alias: Automower_Timer
description: ''

Hab einen Helfer mit input_text.mowerstartzeit erstellt, aber

start: input_text.mowerstartzeit

funktioniert schon mal nicht.

Heutzutage musst du für den Anfang nicht Wissen, sondern nur eine KI bedienen können. Und eine KI Bedienen bedeutet auch nicht mehr als deine Aufgabe so deutlich und Detailiert wie möglich zu beschreiben, sodass dein Anliegen zu deiner Zufriedenheit ausgeführt wird. Nutzt du denn Ki ?

Und für den Anfang schlage ich vor die einzelnen Unterschiede von den einzelnen Helfern nachzulesen. Du kannst nicht einfach wild nach deinem Verständnis irgendwelche Helfer erstellen und versuchen zu nutzen.

Home Assistant Helfer Doku

Belese dich da mal auf der Seite nach Input_boolean, Input_DateTime, Input_Number.

Input_Text ist ein String und würde sehr sehr umständlich auch funktionieren aber dafür nimmt man in der Regel einen Helfer der NUR eine Uhrzeit wiedergeben kann.

Wenn du dich da mal etwas belesen hast, kannst mal in den Output meiner KI Ausgabe rein schauen und dich daran orientieren. Das heißt nicht, das die Künstliche Inkompetenz dir immer auf anhieb das korrekte Ergebnis ausgibt. Das ist nicht schwer, musst nur Stück für Stück lernen.

Zusammenfassung
# ============================================================================
# Version: 1.0
# Beschreibung:
# - Startzeit per Dashboard einstellbar
# - Endzeit per Dashboard einstellbar
# - Timer aktiv/inaktiv per Dashboard
# - Wochentage einzeln per Dashboard auswählbar
# ============================================================================

input_datetime:
  mower_startzeit:
    name: Mäher Startzeit
    has_date: false
    has_time: true

  mower_endzeit:
    name: Mäher Endzeit
    has_date: false
    has_time: true

input_boolean:
  mower_timer_aktiv:
    name: Mäher Timer aktiv

  mower_montag:
    name: Montag

  mower_dienstag:
    name: Dienstag

  mower_mittwoch:
    name: Mittwoch

  mower_donnerstag:
    name: Donnerstag

  mower_freitag:
    name: Freitag

  mower_samstag:
    name: Samstag

  mower_sonntag:
    name: Sonntag
# ============================================================================
# Version: 1.0
# Beschreibung:
# - Überträgt alle Dashboard-Werte an RoBonect
# - Wochentage werden automatisch zusammengesetzt
# - Timer kann aktiviert/deaktiviert werden
# ============================================================================

alias: Automower_Timer
description: Aktualisiert den Mähplan aus den Dashboard-Helfern

sequence:
  - action: robonect.timer
    data:
      entity_id: lawn_mower.automower_automower
      timer: "1"
      enable: "{{ is_state('input_boolean.mower_timer_aktiv', 'on') }}"
      start: "{{ states('input_datetime.mower_startzeit') }}"
      end: "{{ states('input_datetime.mower_endzeit') }}"
      weekdays: >
        {% set tage = [] %}
        {% if is_state('input_boolean.mower_montag','on') %}
          {% set tage = tage + ['mo'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_dienstag','on') %}
          {% set tage = tage + ['tu'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_mittwoch','on') %}
          {% set tage = tage + ['we'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_donnerstag','on') %}
          {% set tage = tage + ['th'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_freitag','on') %}
          {% set tage = tage + ['fr'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_samstag','on') %}
          {% set tage = tage + ['sa'] %}
        {% endif %}
        {% if is_state('input_boolean.mower_sonntag','on') %}
          {% set tage = tage + ['su'] %}
        {% endif %}
        {{ tage }}

mode: single

Wenn du dann alles Fehlerfrei erstellt hast, testest du unter Werkzeug/Zustände deine Helfer durch, ob die Helfer übernommen werden. Sollte dann irgendwann alles Funktionieren, baust du dir aus den Helfer dein Dashboard.

Keine Texteingabe, sondern einen Helfer Zeitpunkt-Eingabe.

Muss man den Timer des Robonect programmieren oder kann man ihn direkt aus HA starten. Dann wäre es doch angebracht, kein Skript zu verwenden, sondern eine Automation, die durch Zeit und Wochentag getriggert wird und den Mäher startet.

@xperia

Ich nutze keine KI, niemals und nirgends. Das ist mir ein Greuel! Ich möchte es selbst verstehen und auch manuell programmieren, so wie mein bisheriges Dashboard auch.

Natürlich mit viel Experimentieren, Lesen und Fragen.

Der Hinweis “Belese dich mal” ist nett gemeint und ich danke dir dafür. Das hilft mir aber nicht wirklich weiter, wenn ich erst einmal sämtliche Dokumentationen von Home Assistant durchackern muss, um endlich beginnen zu können.

Auf jeden Fall Danke für die Codezeilen, werde das gleich testen. :smiling_face_with_sunglasses: :folded_hands:
Dann hab ich zwar meine Helfer erstellt und das Script gebaut, aber ich weiß noch immer nicht, welche Bausteine ich fürs Dashboard brauche (Textfelder für Uhrzeit, Checkbox für Wochentage).

@HaGoDo Danke!
Die Automation wäre eine einfache Lösung, aber sie tangiert den timer des Mähroboters nicht. Aber diese Zeiten sind im Mäher bzw. im Robonect-Modul hinterlegt. Also möchte ich genau diese bei Bedarf ändern. Muss also synchronisiert werden.

Hi.
Du musst auf die timer im robonect Modul nicht zugreifen und diese versuchen zu steuern bzw. einzustellen. Das kannst du alles von HA aus machen.

Ich habe im robonect einen timer gestellt, der von 0:00 bis 23:59 geht. Also würde der Mäher theoretisch 24/7 durchfahren.
Durch die Tasten “Automatisch, Ende des Tages, Manuel, Start, Stop, Zurück nach Hause”, die ja als Entität bereit gestellt werden, kannst du deinen eigenen Zeitplanhelfer anlegen und die o.g. Tasten nach deinem Zeitplan in einer Automation steuern. So wie auch schon von @HaGoDo vorgeschlagen.

gruß Jonas

Danke dir!

Ja, so würds auch gehen. Aber ich möchte mir die Option offenhalten, die Timer so wie vorgesehen auch über die Robonect Website zu steuern.

Ich hab deinen Code jetzt getestet bzw. integriert.

Die Helfer hab ich gleich in der configuration.yaml hinterlegt (ist mir zu mühsam und unübersichtlich, alle einzeln anzulegen).
Das Script gestartet und voila, der Timer wird richtig in der Robonect-Integration angezeigt, ebenso mit dem Robonect-Modul via Website abgeglichen.

Perfekt! :folded_hands:

Jetzt bräuchte ich noch bitte einen Tipp, welche Felder man einbindet, um diesen Timer im Dashboard steuern zu können.

EDIT:

type: entities
title: Automower Timer
entities:
  - entity: input_datetime.mower_startzeit
    name: Start
  - entity: input_datetime.mower_endzeit
    name: Ende

Das funktioniert, aber schön ist anders :laughing:

Es ist nicht böse gemeint, aber mich erinnert das ein bisschen an einen Freund von mir, der stolz darauf ist, kein Auto zu besitzen, sich aber gerne von mir mitnehmen lässt, wenn es sonst zu kompliziert würde (er ist übrigens ansonsten ein sehr netter Kerl :wink:).

Wenn du das irgendwann alles am laufen hast, wirst du mit ziemlicher Sicherheit die Webseite nicht mehr nutzen. Warum auch? Aus HA kannst du alles steuern, was nötig ist - bis auf den Joystick.

Oh doch, ich nutze die auch. Zum einen für die Kontrolle, ob auch alles passt und zum anderen für Echtzeitbeobachtungen, die es in HA (noch) nicht gibt.

Deine Einstellung zu absoluten Basics wird dich leider nicht weiter bzw. weit bringen. Um Sprachen zu lernen sollte man zumindest den Unterschied zwischen A - B - C kennen und das was ich dir verlinkt habe mit der reinen Angabe von 3 verschiedenen Helfern ist Lesestoff von maximal 20 Minuten. Der Witz an der Sache ist ja, das darunter auch noch Hinweise zum Verhalten auf dem Dashboard und in Kombination mit Automationen und Skripten steht.