MyStrom wifi buttons

Hi guys,

I am looking forward to buy myStrom wifi buttons now that home assistant supports them.
Reading through the documentation though I can’t understand how to set them up in hass.

Can someone shed some light?

Do you mean this when you say documentation?

What part of the configuration are you having trouble with?

The support is for the switch only right? Not the buttons

The binary_sensor documentation says it supports buttons

The section “Setup of the myStrom Buttons” describes what you need to do with the buttons.

mystrom-config is a helper that I used while working on the integration. This could help but is more of a working prototype than a fully functional tool.

Basically to me it is not clear this section of the documentation

https://home-assistant.io/components/binary_sensor.mystrom/

In particular the part “SETUP OF THE MYSTROM BUTTONS”: I understand once button are connected to wifi the first usage create the sensor but i cannot understand:

  • why is it saying you have 3 mins to set up actions for push pattern
  • what is curl used for?

if i understood correctly you basically use curl to tell the button, for example, “if you are pushed twice send over wifi this command”.
But i can’t understand which is the command the button send back based on the example and also how is that command defined.

I am planning to use the button with LIFX lights so having for example 4 different push actions (on/off/scene1/scene2).

I am sure confusion is just all due to my lack of experience, thus thanks in advance! :slight_smile:

Because the buttons are not configured by default.

To send the details to the buttons. There are other tools like httpie but most people are using curl.

The buttons only need to send [action]=[ID of the button] to the Home Assistant endpoint as a simple HTTP GET request. While action is the name of one of the pattern and ID is used to identify the source of the pattern in Home Assistant. There is no command needed. The rest is done with automation.

Hi there,
Does someone running home assistant on HTTPS have made these buttons work? According to myStrom they don’t support SSL/TLS, so I’m curious about knowing if someone has found a workaround which doesn’t require moving home assistant back to HTTP

1 Like

Hi, can someone post an example of an automation with mystrom wifi button?
The documenation on myStrom Binary Sensor is very poor.

After several attempts I finally got it working. Here is my example of an automation:

- alias: "Activate Evening-Light-Scene"
  trigger:
    platform: state
    entity_id: binary_sensor.button1_double
  action:
    service: scene.turn_on
    entity_id: scene.evening_lights 

This should have been documented!!!

help please:
I try to configure my mystrom WifiButton+ with curl, so I send
curl -d "long=get://192.168.1.10:8123/api/mystrom?long%3DWifiButton1" http://192.168.1.22/api/v1/device/5CCF7F0CE75F
and I get
{ "single": "", "double": "", "long": "get:\/\/192.168.1.10:8123\/api\/mystrom?long=WifiButton1", "touch": "", "generic": "" }
and this is not working. probabebly because ot the escaped slashes, right? so how do I confiugre my button in the right way with curl?
thanks a lot

This is standard automation stuff but if you think that the current documentation is “poor” then please open a Pull request to fix it.

Hi, did you ever get around this? Are the escaped slashes a problem?

Hello,

I have also issue trying to use my MyStrom Wifi Button with the official integration.

The IP of mystrom wifi button is 192.168.10.28
I want to give it the name mystrom28violet
The IP of Home Assistant is 192.168.10.50

I have tried without API password because Home Assistant doc tells the support of API password will be dropped ( https://www.home-assistant.io/docs/authentication/providers/#legacy-api-password )

**curl -v -d "single=get://192.168.10.50:8123/api/mystrom?api_password%3Dxxxx%26single%3Dmystrom28violet&double=get://192.168.10.50:8123/api/mystrm?api_password%3Dxxxx%26double%3Dmystrom28violet&long=get://192.168.10.50:8123/api/mystrom?api_password%3Dxxxx%26long%3Dmystrom28violet" http://192.168.10.28/api/v1/device/123456789ABC**
*   Trying 192.168.10.28...
* TCP_NODELAY set
* Connected to 192.168.10.28 (192.168.10.28) port 80 (#0)
> POST /api/v1/device/123456789ABC HTTP/1.1
> Host: 192.168.10.28
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Length: 268
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 268 out of 268 bytes
< HTTP/1.1 200 OK
< Pragma: no-cache
< Cache-Control: no-store, no-cache
< Content-Type: application/json
< Content-Length: 322
< Connection: close
<
{
        "single": "get:\/\/192.168.10.50:8123\/api\/mystrom?api_password=xxxx&single=mystrom28violet",
        "double": "get:\/\/192.168.10.50:8123\/api\/mystrom?api_password=xxxx&double=mystrom28violet",
        "long": "get:\/\/192.168.10.50:8123\/api\/mystrom?api_password=xxxx&long=mystrom28violet",
        "touch": "",
        "generic": ""
* Curl_http_done: called premature == 0
* Closing connection 0

So the \/ is not the issue. The escaped slashes are the way that myStrom stores the actions in the button memory. The problem is somewhere in Home Assistant Security/Authentification Access.
To get around this, I wrote a MQTT Gateway for myStrom Button and Button Plus that uses the new “generic” action instead of the 4 others and that can be discovered by Home Assistant MQTT.
With it, you can also use the “wheel gesture” action result (only for Button Plus).

You can find it there: https://github.com/djax666/mystrombutton2mqtt

Best regards

Thank you for your great job! As i changed my entire Automation to Node-Red about one year ago. I stopped using MQTT. So i figured out, that you can also uses the Node-Red-Implementation for the MyStrom button. It realy works great also!