Hi @Rachel
You could use my existing script to do it, but the risk is that it would stop working one day for some reason and you wouldn’t be able to recover.
Here’s an example where it’s just using a command line with no programming. It put things in a temp directory to avoid it messing up your machine. However, it would involve installing new packages which might mess up your machine so be thoughtful about that (I just do everything in a container).
$ cd $(mktemp -d)
$ git clone https://github.com/MyForest/heatpump-act.git
$ cd heatpump-act/act/
$ python -m pip install python-dotenv structlog typer urllib3
$ python alter_setting.py --help
Usage: alter_setting.py [OPTIONS]
Instruct the heatpump to alter a setting.
Options:
--name TEXT Setting name [default: SetTankWaterTemperature]
--value TEXT Setting value [default: 48]
--message TEXT [default: Specified on command line]
--source TEXT [default: AlterSetting.main]
--shoosh / --no-shoosh [default: no-shoosh]
--help Show this message and exit.
$ export DEVICE_ID=<your-device>
$ export MITS_CONTEXT_KEY=<your-key>
$ python alter_setting.py --name SetHeatFlowTemperatureZone1 --value 35
Which gives all this output, specifically it shows your update worked:
2023-03-08 11:09:08 [info ] Sending update…
2023-03-08 11:09:08 [info ] b’{“EffectiveFlags”:281474976710656,“LocalIPAddress”:null,“SetTemperatureZone1”:26.0,“SetTemperatureZone2”:20.0,“RoomTemperatureZone1”:20.0,“RoomTemperatureZone2”:-39.0,“OperationMode”:2,“OperationModeZone1”:1,“OperationModeZone2”:2,“WeatherObservations”:,“ErrorMessage”:null,“ErrorCode”:8000,“SetHeatFlowTemperatureZone1”:35.0,“SetHeatFlowTemperatureZone2”:20.0,“SetCoolFlowTemperatureZone1”:20.0,“SetCoolFlowTemperatureZone2”:20.0,“HCControlType”:1,“TankWaterTemperature”:14.5,“SetTankWaterTemperature”:10.0,“ForcedHotWaterMode”:false,“UnitStatus”:0,“OutdoorTemperature”:3.0,“EcoHotWater”:true,“Zone1Name”:null,“Zone2Name”:null,“HolidayMode”:false,“ProhibitZone1”:false,“ProhibitZone2”:false,“ProhibitHotWater”:false,“TemperatureIncrementOverride”:0,“IdleZone1”:false,“IdleZone2”:true,“DemandPercentage”:100,“DeviceID”:,“DeviceType”:1,“LastCommunication”:“2023-03-08T11:08:49.214”,“NextCommunication”:“2023-03-08T11:09:49.214”,“Power”:true,“HasPendingCommand”:false,“Offline”:false,“Scene”:null,“SceneOwner”:null}’