Vielen Dank für deine Antwort, ich habe dich heute schon im englischsprachigen Forum angeschrieben, ich habe da kein Plan wie man die Knöpfe etc… nachbildet, vor allem was man wo rein „bastelt“ ich sehe die Sensoren bei mir , aber es wäre echt toll Sie komplett über den HA steuern zu können.
Wie krieg ich den ich den YAML Code hier richtig dargestellt?
Ich kann dir auch alle Dateien die du brauchst per Mail schicken
Hab deine Mail gekriegt, kann aber nicht drauf antworten.
Dazu brauch ich deine ECHTE Mailadresse
Hallo Gerd_Berlin,
vielen Dank für deine hilfreiche Input! Leider werden die durch Einfügen deiner Command Line Codes (nach Änderung der IP-Adresse) in der Configuration.yaml und Home Assistant Neustart erwünschten Entitäten nicht erzeugt.
Könntest du bitte genauer beschreiben, welche Schritte du unternommen hast, um die Schalter erfolgreich zu integrieren? Insbesondere interessiert mich, welche zusätzlichen Konfigurationsschritte du vorgenommen hast, um sicherzustellen, dass die Schalter ordnungsgemäß in Home Assistant angezeigt werden.
Für deine Unterstützung wäre ich sehr dankbar!
Viele Grüße
Bei mir werden alle Entitäten richtig erzeugt.
Wer auch immer das Projekt übernehmen will, dem kann ich geren die zehn Dateien (einschließlich Screeshots) schicken.
Geht aber wohl nur über die echt Mailadresse, oder kennt ihr einen anderen Weg?
Meine Mailadresse: gerdfranke(et)gmail.com
Nachtrag:
Ach so, genau.
Der Grund warum mit meinem alten Post der Configuration.yaml die Entitäten nicht erzeugt werden war aufgrund einer Änderung bei HA.
Der Eintrag “command line” muss jetzt auf der obersten Ebene stehen und darunter dann alle Sensoren und Switches.
by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
Vielen lieben Dank für deine Hilfe Gerd_Berlin! Der Tipp das laut Dokumentation die Art deiner ursprünglichen Yaml-Konfiguration zu Steuerung der Wallbox veraltet ist war der Durchbruch.
Nach Anpassung der „configuration.yaml“ sind alle als Entitäten verfügbar.
Nochmals vielen Dank!!!
Nachtrag:
Für alle, die mit dem gleichen Problem konfrontiert waren, zeige ich hier den Code von Gerd_Berlin nach der Umstellung auf die neue Syntax. Vergesst nicht, eure IP-Adresse noch einzufügen.
command_line:
- switch:
name: "Wallbox Autostart Switch"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'autostartstop=true' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode/eco/startstop'"
command_off: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'autostartstop=false' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode/eco/startstop'"
command_state: "/usr/bin/curl -X GET -H 'Accept: application/json' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode/eco/startstop'"
value_template: "{{ value_json.autostartstop == true }}"
unique_id: wallbox_autostart
- switch:
name: "Wallbox StartStop Switch"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '' 'http://deine IP-Adresse/api/v1/chargecontrols/01/start'"
command_off: "/usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '' 'http://deine IP-Adresse/api/v1/chargecontrols/01/stop'"
unique_id: wallbox_startstop
- switch:
name: "Wallbox Eco-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=eco' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'eco' }}"
unique_id: wallbox_eco_ladung
- switch:
name: "Wallbox Quick-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=quick' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'quick' }}"
unique_id: wallbox_quick_ladung
- switch:
name: "Wallbox Manual-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=manual' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://deine IP-Adresse/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'manual' }}"
unique_id: wallbox_manual_ladung
by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
Freut mich, dass es jetzt geklappt hat.
Wie bekommen ich jetzt noch die Eingabe hin mit der A-Zahl ?
Vielen Dank und entschuldigung für die erneute Frage , der Rest hat geklappt.
Hallo Merkles,
ich habe mich an Gerd_Berlins Idee gehalten und in den Home Assistant Einstellungen unter “Geräte & Dienste” einen “input_number”-Helfer erstellt.
Aufbau des input_numer-Helfers:
Diesen habe ich “Stromstärke Regler - Ampere” genannt. Das Symbol ist “mdi:flash-outline”, der minimale Wert beträgt 6 und der maximale Wert 32. Beim Anzeigemodus habe ich einen Schieberegler mit einer Schrittgröße von 1 und der Maßeinheit Ampere eingestellt.
Anschließend habe ich diesen als Entität dem entsprechenden Dashboard hinzugefügt.
Danach habe ich in den Einstellungen unter “Automatisierungen & Szenen” eine Automatisierung mit dem Namen “Update Wallbox Ampere Wert” erstellt:
alias: Update Wallbox Ampere Wert
description: >-
Sendet automatisch den neuen Ampere-Wert an die Wallbox, wenn sich der Wert
des Nummernhelfers ändert.
trigger:
- platform: state
entity_id:
- input_number.ladeleistung_ampere
condition: []
action:
- service: shell_command.wallbox_ampere_manual
data: {}
mode: single
Danach habe ich den shell_command in der /homeassistant/configuration.yaml
entsprechend angepasst:
shell_command:
wallbox_ampere_manual: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'manualmodeamp={{ states('input_number.ladeleistung_ampere') }}' http://IP-Adresse_der_Wallbox/api/v1/chargecontrols/01/mode/manual/ampere"
Abschließend musste ich einen Neustart von Home Assistant durchführen, da nur das Neuladen der YAML-Konfiguration nicht ausreichend war.
Funktioniert!
Wow , vielen Dank .Einen Teil habe ich schon hinbekommen…
wie mache ich das ? wenn ich das machen will , kommt
Ist das eine Blaupause oder was brauche ich ?
Um eine neue Automatisierung zu erstellen, folge diesen Schritten:
-
Klicke auf die Schaltfläche zum Erstellen einer neuen Automatisierung.
-
Füge unter dem Abschnitt “Wenn” einen Auslöser hinzu und wähle “Zustand”.
-
Wähle die Entität “Stromstärke Regler – Ampere” aus der Liste der verfügbaren Entitäten aus. (Der Name der Entität hängt davon ab wie du deinen input_number-Helfer benannt hast)
-
Klicke auf “+ Aktion hinzufügen” unter dem Abschnitt “Dann mache” und wähle “Dienst ausführen”.
-
Der Dienst, den du ausführen musst, heißt “Shell Command: wallbox_ampere_manual”.
-
Speichere die Automatisierung, nachdem du alle erforderlichen Einstellungen vorgenommen hast.
Alternativ kannst du auch den folgenden Code verwenden, indem du das Grundfenster der neuen Automatisierung öffnest, oben rechts auf die drei Punkte klickst und dann auf “Als YAML bearbeiten” gehst. Füge den folgenden Code ein und speichere ihn:
alias: Update Wallbox Ampere Wert
description: >
Sendet automatisch den neuen Ampere-Wert an die Wallbox, wenn sich der Wert
des Nummernhelfers ändert.
trigger:
- platform: state
entity_id:
- input_number.ladeleistung_ampere
condition: []
action:
- service: shell_command.wallbox_ampere_manual
data: {}
mode: single
Beachte bitte, dass du den Dienst “shell_command.wallbox_ampere_manual” möglicherweise zuerst in deiner configuration.yaml definieren musst. Füge dazu den folgenden Code hinzu und starte Home Assistant neu:
shell_command:
wallbox_ampere_manual: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'manualmodeamp={{ states('input_number.ladeleistung_ampere') }}' http://IP-Adresse_der_Wallbox/api/v1/chargecontrols/01/mode/manual/ampere"
Vielen Dank , ich bin zu doof.
Wo packe ich das rein ?
Egal was ich mache , er macht nix anderes ausser Überschuß laden…,.
Um den Dienst “shell_command.wallbox_ampere_manual” zu definieren, gehe wie folgt vor:
-
Öffne die Datei “configuration.yaml” in deinem Home Assistant-Konfigurationsordner. Dieser befindet sich standardmäßig im Hauptverzeichnis von Home Assistant. Falls du bereits den Code von Gerd_Berlin eingefügt hast, findest du dort auch den “shell_command”-Abschnitt. Anmerkung: Du musst den “shell_command”-Abschnitt von Gerd anpassen, weil dein input_number-Helfer anders benannt ist als Gerd seiner. Ich kann die “configuration.yaml” über den “File editor” in der linken Seitenleiste öffnen.
-
Lösch den shell_command Abschnitt von Gerd und füge den folgenden Code in die Datei ein:
shell_command:
wallbox_ampere_manual: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'manualmodeamp={{ states('input_number.ladeleistung_ampere') }}' http://IP-Adresse_der_Wallbox/api/v1/chargecontrols/01/mode/manual/ampere"
Stelle sicher, dass du die entsprechende IP-Adresse deiner Wallbox einsetzt. Falls du Stromstärke-Regler nicht exakt nach meinem Vorbild benannt hast, muss du die genaue Entitäts-ID deines input_number Helfers verwendent. Bei mir lautet die Entitäts-ID wie im Beispielcode angegeben:
input_number.ladeleistung_ampere
.
-
Speichere die Änderungen in der “configuration.yaml”-Datei.
-
Starte Home Assistant neu, damit die Änderungen wirksam werden.
Nachdem du diese Schritte durchgeführt hast, sollte der Dienst “shell_command.wallbox_ampere_manual” erfolgreich definiert sein und in deinen Automatisierungen verwendet werden können.
Hallo,
ich melde mich jetzt erst wieder, wurde leider nicht per Nachricht informiert, dass hier was passiert ist. Tausend Dank für die Anpassungen, bei mir funktionieren die Schalter jetzt auch. Nun muss man die grottige Weboberfläche der Wallbox nicht mehr benutzen. Ich habe jetzt alle Einträge aus der configuration.yaml in eine separate YAML ausgelagert, das finde ich übersichtlicher.
Danke und Grüße
Thomas
Vielen Dank für deine Erklärung kam erst jetzt dazu nachzuschauen.
Was meinst du damit ? Habe ich nicht gefunden
das ist das was ich habe.
danach kommt das mit dem shell command.
Aber ausser Start-Stop der Wallbox funktioniert nichts…Er lädt immer im Öko Mode seine 6A alias 4kWh.
EDIT : aktiviere ich über die Weboberfläche die manuelle Ladung , kann ich mit dem HA den Regler verschieben und es wird angenommen , aber ich kann zwischen MODIS (ECO/Schnell/Manual) nicht wechseln…
Hallo Merkles,
es tut mir leid, dass die Steuerung der Wallbox noch nicht wie gewünscht funktioniert.
Anhand der von dir geposteten Bilder mit dem Code kann ich nicht feststellen, ob er vollständig und korrekt ist, da die Bilder nicht den ganzen Code zeigen.
Bitte kopiere den vollständigen Code aus der “configuration.yaml” für die Wallbox-Steuerung und poste ihn als Code, ebenso wie den Code für die Automatisierung, die auf die Zustandsänderung des “input.number”-Helfers des Stromstärke-Reglers reagiert und einen “shell_command”-Befehl an die Wallbox sendet.
Dann kann ich den Fehler schneller erkennen und korrigieren.
# Wallbox Kommunikation
command_line:
- switch:
name: "Wallbox Autostart Switch"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'autostartstop=true' 'http://192.168.178.223/api/v1/chargecontrols/01/mode/eco/startstop'"
command_off: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'autostartstop=false' 'http://192.168.178.223/api/v1/chargecontrols/01/mode/eco/startstop'"
command_state: "/usr/bin/curl -X GET -H 'Accept: application/json' 'http://192.168.178.223/api/v1/chargecontrols/01/mode/eco/startstop'"
value_template: "{{ value_json.autostartstop == true }}"
unique_id: wallbox_autostart
- switch:
name: "Wallbox StartStop Switch"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '' 'http://192.168.178.223/api/v1/chargecontrols/01/start'"
command_off: "/usr/bin/curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '' 'http://192.168.178.223/api/v1/chargecontrols/01/stop'"
unique_id: wallbox_startstop
- switch:
name: "Wallbox Eco-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=eco' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'eco' }}"
unique_id: wallbox_eco_ladung
- switch:
name: "Wallbox Quick-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=quick' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'quick' }}"
unique_id: wallbox_quick_ladung
- switch:
name: "Wallbox Manual-Ladung"
command_on: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=manual' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
command_off: ""
command_state: "sleep 1; /usr/bin/curl -X GET -H 'Accept: application/json' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'"
value_template: "{{ value_json.mode == 'manual' }}"
unique_id: wallbox_manual_ladung
shell_command:
wallbox_ampere_manual: "/usr/bin/curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'manualmodeamp={{ states('input_number.stromstarke_regler') }}' http://192.168.178.223/api/v1/chargecontrols/01/mode/manual/ampere"
So habe ich es gemacht , verzeihung das mit dem Code hat etwas gedauert…
- id: '1711122196090'
alias: 'Shell Command: wallbox_ampere_manual'
description: ''
trigger:
- platform: state
entity_id:
- input_number.stromstarke_regler
condition: []
action:
- service: shell_command.wallbox_ampere_manual
data: {}
mode: single
Mittlerweile kann ich die Ampere stärke ändern und diese wird auch angenommen. Ich kann aber den Modus nicht ändern. Habe ich ihn in “Manual” kann ich A -Zahl ändern und Sie wird angenommen. Ich kann aber nicht von “Manual” in Eco wechseln… nur über die Web Oberfläche @Jupp vielen Dank für deine Geduld
Hallo Merkles,
vielen Dank für das Teilen des Switch- und Shell-Befehlscodes sowie der Automatisierung. Basierend auf dem bereitgestellten Code gibt es keine Unterschiede außer der IP-Adresse. Alle Switches und ihre entsprechenden Befehle sind identisch zu meinem Code konfiguriert, mit Ausnahme der Ziel-IP-Adresse, die auf die Wallbox zeigt.
Die Funktionalität sollte für beide Codes gleich sein, solange die Wallbox an der angegebenen IP-Adresse erreichbar ist. Es ist wichtig sicherzustellen, dass die IP-Adresse korrekt ist, um eine erfolgreiche Kommunikation mit der Wallbox zu gewährleisten.
Während ich die Automatisierung überdachte, kam mir eine Idee. Aktuell ist die Automatisierung im Modus “single” eingestellt, was bedeutet, dass sie nur einmal ausgeführt wird, wenn der Trigger aktiviert wird. Allerdings entspricht dieses Verhalten nicht unseren Anforderungen, da die Automatisierung bei jedem Zustandswechsel des Eingabefeldes ausgelöst werden soll. Daher sollte der Modus von “single” auf “restart” geändert werden. Dies kann durch Klicken auf die drei Punkte oben rechts in der Automatisierung erreicht werden. Im daraufhin erscheinenden Fenster kann unter “Modus ändern” die Option “restart” ausgewählt und anschließend bestätigt werden.
Um die Funktionalität der Wallbox-Schalter zu überprüfen, kannst du die entsprechenden Curl-Befehle direkt im Terminal ausführen. Verwende dazu die untenstehenden Curl-Befehle mit der IP-Adresse 192.168.178.223. Wenn die Anfragen erfolgreich sind, erhältst du normalerweise keine Antwort im Terminal. Im Falle eines Fehlers wird jedoch eine entsprechende Fehlermeldung angezeigt.
- Schalter für den Autostart im Eco-Modus:
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'autostartstop=true' 'http://192.168.178.223/api/v1/chargecontrols/01/mode/eco/startstop'
- Schalter für den Start/Stopp der Wallbox:
curl -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '' 'http://192.168.178.223/api/v1/chargecontrols/01/start'
- Schalter für die Eco-Ladung:
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=eco' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'
- Schalter für die Schnellladung:
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=quick' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'
- Schalter für die manuelle Ladung:
curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: application/json' -d 'mode=manual' 'http://192.168.178.223/api/v1/chargecontrols/01/mode'
Bitte führe diese Befehle aus und überprüfe, ob sie wie erwartet funktionieren. Wenn du weitere Fragen hast oder Unterstützung benötigst, stehe ich gerne zur Verfügung.
Ich hoffe, wir können bald eine Lösung finden, da ich langsam auch mit meinem Latein am Ende bin.
Viele Grüße Jupp
Sehr schön zu sehen wie ihr das im Griff habt.
Hat’s jemand hingekriegt, dass sich die Hardy Barth WEB Oberfläche aktualisiert entsprechend der Einstellungen die vom Home Assistant kommen?
Danke nochmals für die viele Hilfe .Ich habe es jetzt gemacht wie von @Jupp vorgeschlagen . Dauerte eine Weile bis ich es verstanden habe was er mit “Terminal ausführen” meinte. Als Antwort kam “false” zurück. Anschließend kam mir die Idee , man könnte ja das ECB1 mal updaten…gemacht getan .Jetzt meldet er im Terminal keinen Fehler mehr.Werde es heute wenn die Sonne scheint nochmals testen ob es jetzt klappt.
Edit : Es klappt nicht.Er lädt immer nach dem zuletzt aktiven Modus auf der WEB-Oberfläche.
Hallo,
das ist mein erster Versuch sich in einer Commuity zu bewegen und hab keine Ahnung ob ich den Einstieg richtig mache
Ich habe alles zum Auslesen der Wallbox in die configaration.yaml rein kopiert, aber es wird mir eine fehlende ID gemeldet.
Meine Frage ust nun, wo muss ich ggf. die Seriennummer der Wallbox eintragen?
Bin da mit meinem Latain am Ende und für jeden Hinweis dankbar.