NEWS
[HomeConnect Adapter] Steuerung NEFF-Spülmaschine
-
Hallo Forum,
ich habe eine NEFF-Spülmaschine mit Home Connect und nutze den Home Connect Adapter schon eine Weile, um mir Informationen für den Zustand des Geräts anzuzeigen und auszugeben. Das funktioniert auch tadellos.
Im Zuge unserer PV-Erweiterung wollte ich jetzt damit beginnen, die Spülmaschine auch aktiv zu steuern und nicht nur die States auszulesen.
Dabei bin ich nach Anleitung vorgegangen und setze zuerst ein Program mit programs.selected.BSH_Common_Root_SelectedProgram (z.B. "Auto 45-65°")
und führe es an anschließend mit
programs.active.BSH_Common_Root_ActiveProgram (gleicher State: "Auto 45-65°");aus.
Leider ignoriert meine Spülmaschine die Änderung dieser States komplett. Auch das Pausieren oder Stoppen eines aktiven Vorgangs funktioniert mit den entsprechenden beiden Commands nicht (homeconnect.0.012040426198000614.commands.BSH_Common_Command_PauseProgram und homeconnect.0.012040426198000614.commands.BSH_Common_Command_StopProgram).
Die externe Steuerung mit homeconnect.0.012040426198000614.status.BSH_Common_Status_RemoteControlActive ist eingeschaltet, ebenfalls homeconnect.0.012040426198000614.status.BSH_Common_Status_RemoteControlStartAllowed.
Über die HomeConnect App auf dem Mobiltelefon funktioniert die Steuerung problemlos.
Habt Ihre eine Idee, warum das im ioBroker nicht klappt oder vlt. ein Stück Beispielcode, der funktioniert?
Danke & Gruß
Alex -
@singular75 sagte in [HomeConnect Adapter] Steuerung NEFF-Spülmaschine:
Leider ignoriert meine Spülmaschine die Änderung dieser States komplett.
geht es hier um Skripting?
Dann verschiebe ich es ins entsprechende Unterforumwie sieht dein Skript denn aus?
-
@singular75 sagte: "Auto 45-65°"
Der zu steuernde Wert ist nicht "Auto 45-65°", sondern so etwas wie "Dishcare.Dishwasher.Program.Auto2" (siehe hier). Schaue die OBJEKTDATEN (Bleistift rechts im Expertenmodus) der Datenpunkte an.
-
@homoran Das Skript ist reichlich übersichtlich:
'use strict'; var STRING_SPUELMASCHINE_SELECTED_PROGRAM = 'homeconnect.0.484030535042009517.programs.selected.BSH_Common_Root_SelectedProgram'/*BSH Common Root SelectedProgram*/; var STRING_SPUELMASCHINE_ACTIVE_PROGRAM = 'homeconnect.0.012040426198000614.programs.active.BSH_Common_Root_ActiveProgram'/*BSH Common Root ActiveProgram*/; var STRING_SPUELMASCHINE_PROGRAM = 'Auto 45-65°'; //'homeconnect.0.012040426198000614.programs.available.Dishcare_Dishwasher_Program_Auto2'/; var STRING_OPENWB_GERAETESTART = 'mqtt.0.openWB.LegacySmartHome.Devices.6.ReqRelay'/*openWB/LegacySmartHome/Devices/6/ReqRelay*/; /** * Startet die Spülmaschine bei Solarüberschuss (gesteuert von openWB) */ function spuelmaschineStarten() { log("Spülmaschine wird gestartet"); // TODO: Vorbedingungen prüfen: Maschine an, Tab drin, Tür zu // 1. Programm auswählen setState(STRING_SPUELMASCHINE_SELECTED_PROGRAM, STRING_SPUELMASCHINE_PROGRAM); // 2. Programm starten setState(STRING_SPUELMASCHINE_ACTIVE_PROGRAM, STRING_SPUELMASCHINE_PROGRAM); } /** * Prüft, ob die Spülmaschine gestartet werden kann */ on({id: STRING_OPENWB_GERAETESTART, change: 'any'}, function (obj) { var geraeteStart = obj.state.val; if (geraeteStart == 1) { spuelmaschineStarten(); } });
Allerdings bekomme ich die Spülmaschine auch nicht gestartet, wenn ich die States manuell auswähle:
Gruß
Alex -
@paul53 Danke für den Hinweis. Das werde ich testen. Allerdings wundert mich dann, dass bei der Auswahl der States direkt aus dem Objektexplorer auch "nur" die einfachen Strings auswählbar sind:
Gruß
Alex -
@singular75 sagte in [HomeConnect Adapter] Steuerung NEFF-Spülmaschine:
wenn ich die States manuell auswähle:
was hast du denn mit der unter dem pulldown versteckten Checkbox gemacht?
@singular75 sagte in [HomeConnect Adapter] Steuerung NEFF-Spülmaschine:
dass bei der Auswahl der States direkt aus dem Objektexplorer auch "nur" die einfachen Strings auswählbar sind:
da werden die Zahlen übersetzt.
Deswegen bitten wir dich ja die Objektdaten zu zeigen. -
@homoran Das sind die Objektdaten:
{ "type": "state", "common": { "name": "BSH_Common_Root_ActiveProgram", "type": "string", "role": "indicator", "write": true, "read": true, "unit": "", "states": { "Dishcare.Dishwasher.Program.Auto2": "Auto 45-65°", "Dishcare.Dishwasher.Program.Eco50": "Eco 50°", "Dishcare.Dishwasher.Program.Glas40": "Glass 40°", "Dishcare.Dishwasher.Program.PreRinse": "Vorspülen", "Dishcare.Dishwasher.Program.NightWash": "Silence 50°", "Dishcare.Dishwasher.Program.IntensivPower": "Chef 70", "Dishcare.Dishwasher.Program.Kurz60": "Classic 60°", "Dishcare.Dishwasher.Program.MachineCare": "Easy Clean" } }, "native": {}, "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1724574956540, "_id": "homeconnect.0.012040426198000614.programs.active.BSH_Common_Root_ActiveProgram" }
Das Häkchen bei "Bestätigt" ist nicht gesetzt, da ich das Gerät ja steuern will.
Ich werde jetzt wie im verlinkten Post vorgeschlagen den State-String ("Dishcare.Dishwasher.Program...") nutzen, statt des absoluten Wertes.
Gruß
Alex