NEWS
homeconnect Spülmaschine per Script starten
-
@arteck sagte: anstatt 'Auto 45-65°' muss eine Zahl rein
... und anstelle der Blöcke "aktualisiere" die Blöcke "steuere" verwenden!
-
@arteck der Typ ist aber als String definiert, oder sehe ich das falsch?
Wenn ich das Objekt bearbeite steht da folgendes:
{ "type": "state", "common": { "name": "BSH_Common_Root_ActiveProgram", "type": "string", "role": "indicator", "write": true, "read": true, "states": { "Dishcare.Dishwasher.Program.Intensiv70": "Intensiv 70°", "Dishcare.Dishwasher.Program.Auto2": "Auto 45-65°", "Dishcare.Dishwasher.Program.Eco50": "Eco 50°", "Dishcare.Dishwasher.Program.PreRinse": "Vorspülen", "Dishcare.Dishwasher.Program.Quick65": "Express 65° - 1h", "Dishcare.Dishwasher.Program.MachineCare": "Maschinenpflege" } }, "native": {}, "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1650857019858, "_id": "homeconnect.0.011080424772004684.programs.active.BSH_Common_Root_ActiveProgram", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Wie gesagt den
BSH_Common_Root_SelectedProgram
kann ich auch ändern, und der ist so konfiguriert:{ "type": "state", "common": { "name": "BSH_Common_Root_SelectedProgram", "type": "string", "role": "indicator", "write": true, "read": true, "states": { "Dishcare.Dishwasher.Program.Intensiv70": "Intensiv 70°", "Dishcare.Dishwasher.Program.Auto2": "Auto 45-65°", "Dishcare.Dishwasher.Program.Eco50": "Eco 50°", "Dishcare.Dishwasher.Program.PreRinse": "Vorspülen", "Dishcare.Dishwasher.Program.Quick65": "Express 65° - 1h", "Dishcare.Dishwasher.Program.MachineCare": "Maschinenpflege" } }, "native": {}, "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1650857019858, "_id": "homeconnect.0.011080424772004684.programs.selected.BSH_Common_Root_SelectedProgram", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@paba42 sagte in homeconnect Spülmaschine per Script starten:
Dishcare.Dishwasher.Program.Auto2
dann so Dishcare.Dishwasher.Program.Auto2
setState("homeconnect.0.011080424772004684.programs.selected.BSH_Common_Root_SelectedProgram"/*BSH_Common_Root_SelectedProgram*/, 'Dishcare.Dishwasher.Program.Auto2', true);
und vergiss das steuere nicht was der @paul53 geschrieben hat
immer den indicator nicht den Text den du letztendlich in der combobox siehst
-
@arteck sagte: vergiss das steuere nicht
Dann entferne mal true am Ende von setState().
-
Ich hab das jetzt mal so angepasst:
on({id: 'senec.0.ENERGY.GUI_GRID_POW', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("homeconnect.0.011080424772004684.status.BSH_Common_Status_RemoteControlStartAllowed").val == true && getState("senec.0.ENERGY.GUI_GRID_POW").val < -100) { setState("homeconnect.0.011080424772004684.settings.BSH_Common_Setting_PowerState"/*Energiezustand*/, 'An'); setState("homeconnect.0.011080424772004684.programs.selected.BSH_Common_Root_SelectedProgram"/*BSH_Common_Root_SelectedProgram*/, 'Dishcare.Dishwasher.Program.Auto2'); setState("homeconnect.0.011080424772004684.programs.active.BSH_Common_Root_ActiveProgram"/*BSH_Common_Root_ActiveProgram*/, 'Dishcare.Dishwasher.Program.Auto2'); } });
Testen kann ich das gerade nicht, weil einen höhere Instanz nicht mehr warten wollte, und die Maschine kurzerhand manuell gestartet hat.
Wo ist denn der Unterschied zwischen steuere und aktualisiere?
-
@paba42 sagte in homeconnect Spülmaschine per Script starten:
setState("homeconnect.0.011080424772004684.settings.BSH_Common_Setting_PowerState"/Energiezustand/, 'An');
ist der richtig ? check mal das RAW object
-
@arteck
Nee ist er nicht, aber es gab keine Fehlermeldung im Log. Ich teste das heute Abend noch mal.{ "type": "state", "common": { "name": "Energiezustand", "type": "string", "role": "indicator", "write": true, "read": true, "unit": "", "states": { "BSH.Common.EnumType.PowerState.Off": "Aus", "BSH.Common.EnumType.PowerState.On": "An" } }, "native": {}, "from": "system.adapter.homeconnect.0", "user": "system.user.admin", "ts": 1650880220130, "_id": "homeconnect.0.011080424772004684.settings.BSH_Common_Setting_PowerState", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@paba42 doch ist der wohl... was hab ich vorer gesagt..
der indikator und der ist nicht AN AUS sondern
BSH.Common.EnumType.PowerState.Off
und
BSH.Common.EnumType.PowerState.On
-
@arteck Danke für die Hilfe.
Ich habe das Script jetzt laufen, muss jetzt nur noch die Startbedingungen anpassen. Das ist der aktuelle Stand:
on({id: 'senec.0.ENERGY.GUI_GRID_POW', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("homeconnect.0.011080424772004684.status.BSH_Common_Status_OperationState").val != 'BSH.Common.EnumType.OperationState.Run') { if (getState("homeconnect.0.011080424772004684.status.BSH_Common_Status_RemoteControlStartAllowed").val == true && getState("senec.0.ENERGY.GUI_GRID_POW").val < -100) { setState("homeconnect.0.011080424772004684.settings.BSH_Common_Setting_PowerState"/*Energiezustand*/, 'BSH.Common.EnumType.PowerState.On'); setState("homeconnect.0.011080424772004684.programs.selected.BSH_Common_Root_SelectedProgram"/*BSH_Common_Root_SelectedProgram*/, 'Dishcare.Dishwasher.Program.Auto2'); setState("homeconnect.0.011080424772004684.programs.active.BSH_Common_Root_ActiveProgram"/*BSH_Common_Root_ActiveProgram*/, 'Dishcare.Dishwasher.Program.Auto2'); } } });
-
@paba42 Kurze Frage zum Skript: Wie stellst Du sicher, dass die Spülmaschine auch nur angeht, wenn sie gefüllt ist? Dafür gibts ja eigentlich keinen passenden Zustand, oder? Und so würde sie immer angehen, wenn PV-Überschuss da ist, egal ob leer, gefüllt und mit oder ohne Reinigungstab...