Control of Aeotec HD Relay with Strømkontroll

Doing this one in English. :slight_smile:

Our hot water heater is 300l and 4,5 kw, so use of the FH relay isn’t possible, but for a long time I’ve wanted load balancing since we have a car charger, the hot water heater, and a spa which each can use 4,5 -7.5 kw each.

I’ve now set up a FH relay that is controlled by Strømkontroll. That relay then uses a simple Thingsplex flow to control my Aeotec HD. I’ve run it for about two months now, and it’s worked great. In addition, this setup allows for a manual override of Strømkontroll without needed to manually remove it in settings.

The logic is very simple. When Strømkontroll turns the FH relay on or off, that setting is echoed to the Aeotec relay. The FH relay is set up with nothing other than a Wago clip on the output wire (Lout). The first time Strømkontroll turns the FH relay on, the system goes back and is “in sync” again.

Override is done by controlling the Aeotec directly. Since it is a one-way communication from the FH relay to the Aeotec, Strømkontrol doesn’t know that the Aeotec is on. Keep in mind this would likely disable load balancing/effect limits since Strømkontroll would not know that it’s on.

This setup would also let someone who wants their hot water heater forced on, i.e., in the morning hours, set up a flow to do that (but remember that the price control function of Strømkontroll might override it when it looks at the price each hour, so you would have to have a flow that repeats).

The same logic could be used for any relay/device that FH controls.



{
  "Id": "Q2HcCwXDo5atN2P",
  "ClassId": "Q2HcCwXDo5atN2P",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2024-02-14T13:31:11.114692879+01:00",
  "UpdatedAt": "2024-02-15T17:02:13.902095825+01:00",
  "Name": "FH relay to Aeotec",
  "Group": "vvb",
  "Description": "Echo status from FH Relay to Aeotec HD Relay",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "FH rele change on/off watch",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zigbee/ad:1/sv:out_bin_switch/ad:31_1",
      "Service": "out_bin_switch",
      "ServiceInterface": "evt.binary.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "bool"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 521,
        "y": 140
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "2",
      "Type": "action",
      "Label": "Echo input to Aeotec H/D",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_bin_switch/ad:15_0",
      "Service": "out_bin_switch",
      "ServiceInterface": "cmd.binary.set",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": ""
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 536,
        "y": 397
      },
      "TypeAlias": "Action"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}