New add-on to add support for Easywave devices

And if your press “Vernieuwen” in the bottom, isn’t there more logging appearing?

23-01-26 14:41:44 INFO (MainThread) [supervisor.hardware.monitor] Detecting HardwareAction.ADD hardware /dev/bus/usb/001/005 - None

That is what I get when I put in the stick.

This is log in Verbose.

I have an order running for the RX09 we will see then

Please install the latest version (5.0.2) and check the addon configuration.
Is your usb stick identified as something similar to mine?
I’m running HomeAssistant in VMWare VM with the usb sticks passed-through to the VM.

No, I don’t get Silicon Lab.
I’m running Homeassistant OS on a NUC.

Wil try the virtualbox on my pc

This latest version logs some more information. Here is what it says in debug mode on my setup

...
[17:20:25.139 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Easywave service is starting...
[17:20:25.147 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Opening serial port /dev/ttyUSB0
[17:20:25.170 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent GETP?
[17:20:25.184 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent ID?
[17:20:25.188 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Service is running...
...
[17:20:25.303 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received GETP,80	OK
[17:20:25.309 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received ID,155a,1006,0100	OK
[17:20:25.310 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver detected with identifier 155a:1006

The usb stick answers a GETP? with GETP,80 OK, meaning that it is a version with 128 channels.
And the response to ID? is ID,155a,1006,0100 OK, which is the unique identifier of the stick.
These message are not really used, but are a signal for the addon that the stick is found and working.

FYI: button presses are logged as

[17:28:32.041 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,2274e4,B

Which means that button B of switch 2274e4 was pressed.

Even if your stick is not compatible, if it is working ok and the addon is reading the right serial port, it should log at least some “Received” lines.

Can you run lsusb and ls /dev/serial/by-id on the console and paste their outputs here?

Its the second device

You have product-id 1006
and Niko has 1005 maybe thats the problem?

Here are the values in Virtualbox also not Parsing to HA

It seems like the Niko stick is indeed not supported by the Linux kernel, even when it seems to have the same SiliconLabs chip, due to the fact it has another device id.
Otherwise the device would have been visible in the serial devices too.
If you are not afraid of recompiling your kernel, you could have a look at [PATCH 4.16 04/31] USB: serial: cp210x: add ELDAT Easywave RX09 id - Greg Kroah-Hartman (kernel.org) that explains the code change that was needed to get the Eldat stick supported. If you add your device id in the device list in that file and recompile your kernel than it might work.

Another option is to have a look at usb - Eldat easywave usbserial device not detected on raspberrypi 3 - Raspberry Pi Stack Exchange, that describes thow to get the Eldat stick supported in an older raspberry-pi.

But you are on your own here, I can’t support you with that.

I bought an Eldat 128-channel. I’ll wait on that then.

I recieved the Eldat Stick.
Working like a Charm now.

Now we all know that the Niko Stick is not supported.

Hi, I’m sorry but I have to ask you something again.
I’m using node-red for reading state of the push buttons now.
Do you have an yaml to do this?

Kind regards
Dimitry

I’m afraid I can’t help you with that.
I’m not a HA pro and only use the web gui.
I don’t know node-red either. Isn’t it able to subscribe to the MQTT messages that my addon publishes?
If you add your buttons in the devices configuration section, the addon will publish messages for press, double-press, triple-press, hold & release actions based on the incoming Easywave telegrams the RX09 receives.

I just release version 0.6. This version should solve the need to restart the addon after each HA or Mosquito update. And the state of the Easywave switches is now persisted after restart of the addon.

I am very new to Home Assistant and are trying to get the Eldat USB stick to work and have followed the entire config and the USB is detected by HA and sees when I press any of the 4 buttons on the remote to operate the sunscreen.

Now I want HA to control the sunscreen, but I need some help to set this up.

How can I create a simple button that sends the command to “open” the sunscreen?
For me, as a newby, it seems that there is missing some information to get this going.

Who can help me?

Hi Bollo,

As I said in the response to the mail you sent me, the plugin does not support sunscreens yet, only wall switches and lights. I can try to add support but I’ll need your (or someone else’s help) as I don’t have access to a sunscreen, nor to a sunscreen remote.

I suggest we keep communicating through mail and report back here when there is progression that others can benefit from.

Hi Marcelis, I just received a notification from the forum that there was a reply, hence my late reply.

I’ll send you the requested info tomorrow.

Let’s see/hope that we can make it work :muscle:

Dear Marc,

I hope you are well. Almost a year later I come back to your project and I am stuck again at the same spot. Somehow I am just not getting it, I must have a thinking error somewhere. So, please bear with me, this is a looong post. My setup is (in a simple picture):

I am running:

  • Easywave2MQTT (v0.7.1)
  • HA 11.3 (RX09 USB stick is recognized and working)

What I am trying to achieve: send a command from HA (RX09 USB Stick) to the Roof Window Shutters (Receiver) to open or close it.

My setup files & logs:

1. appsettings.json:

{
  //These options get overriden by the addon options
  "LogLevel": "Information",
  "SerialPort": "/dev/ttyUSB0",
  "EasywaveActionTimeout": "500",
  "EasywaveRepeatTimeout": "80",
  "MQTTServer": "192.168.0.13",
  "MQTTPort": "1883",
  "MQTTUser": "mqtt",
  "MQTTPassword": "mqtt",
  //These options need to be altered manually, until I figure out how to do it from Home Assistant.
  "Devices": [
    {
      "Id": "308234",     // this is the ID of the ELDAT Transmitter 
      "Type": "Transmitter",
      "Name": "Bedroom Shutter Control",
      "Area": "Bedroom",
      "Buttons": [ "A", "B", "C" ] // the ELDAT Transmitter has 3 buttons: A is up, B is down, C is stop (as far as I figured it out)
    },
    {
      "Id": "shtter",  // this is the self-chosen ID of the Receiver (Roof Window Shutters) 
      "Type": "Light",
      "Name": "Bedroom Window Shutter",
      "Area": "Bedroom",
      "Subscriptions": [
        {
          "Address": "308234",
          "KeyCode": "A"  // this is the "Up"-Button on Transmitter 
        },
        {
          "Address": "308234",
          "KeyCode": "B"  // this is the "Down"-Button on Transmitter 
        },
        {
          "Address": "308234",
          "KeyCode": "C"  // this is the "Stop"-Button on Transmitter 
        },
        {
          "Address": "000010",  // I have no idea what is the right code here. With this one, the shutters don't move. How to find out the right code? 
          "KeyCode": "A",
          "CanSend": "true"
        }
      ]
    }
  ]
}

2. Log entries right after starting the add-on:

[15:07:15.179 DBG Microsoft.Extensions.Hosting.Internal.Host] Hosting starting
[15:07:15.220 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Checking serial port /dev/ttyUSB1
[15:07:15.228 INF Easywave2Mqtt.Mqtt.MessagingService] Service starting...
[15:07:15.280 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic easywave2mqtt/#: GrantedQoS1
[15:07:15.283 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic mqtt2easywave/#: GrantedQoS1
[15:07:15.285 INF Easywave2Mqtt.Mqtt.MessagingService] Service running...
[15:07:15.288 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt with payload available
[15:07:15.295 INF Easywave2Mqtt.Worker] Service is starting...
[15:07:15.297 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/shtter/state received with payload on
[15:07:15.299 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt received with payload available
[15:07:15.299 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt received with payload available
[15:07:15.302 INF Easywave2Mqtt.Worker]     Declaring button Bedroom Shutter Control (308234:'A') in Bedroom
[15:07:15.321 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_A_press/config with payload {"unique_id":"308234A","automation_type":"trigger","type":"button_press","subtype":"button_A","payload":"button_A_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.322 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_A_double_press/config with payload {"unique_id":"308234A","automation_type":"trigger","type":"button_double_press","subtype":"button_A","payload":"button_A_double_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.323 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_A_triple_press/config with payload {"unique_id":"308234A","automation_type":"trigger","type":"button_triple_press","subtype":"button_A","payload":"button_A_triple_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.324 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_A_hold/config with payload {"unique_id":"308234A","automation_type":"trigger","type":"button_hold","subtype":"button_A","payload":"button_A_hold","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.325 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_A_release/config with payload {"unique_id":"308234A","automation_type":"trigger","type":"button_release","subtype":"button_A","payload":"button_A_release","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.328 INF Easywave2Mqtt.Worker]     Declaring button Bedroom Shutter Control (308234:'B') in Bedroom
[15:07:15.328 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_B_press/config with payload {"unique_id":"308234B","automation_type":"trigger","type":"button_press","subtype":"button_B","payload":"button_B_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.329 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_B_double_press/config with payload {"unique_id":"308234B","automation_type":"trigger","type":"button_double_press","subtype":"button_B","payload":"button_B_double_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.329 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_B_triple_press/config with payload {"unique_id":"308234B","automation_type":"trigger","type":"button_triple_press","subtype":"button_B","payload":"button_B_triple_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.330 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_B_hold/config with payload {"unique_id":"308234B","automation_type":"trigger","type":"button_hold","subtype":"button_B","payload":"button_B_hold","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.330 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_B_release/config with payload {"unique_id":"308234B","automation_type":"trigger","type":"button_release","subtype":"button_B","payload":"button_B_release","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.331 INF Easywave2Mqtt.Worker]     Declaring button Bedroom Shutter Control (308234:'C') in Bedroom
[15:07:15.331 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_C_press/config with payload {"unique_id":"308234C","automation_type":"trigger","type":"button_press","subtype":"button_C","payload":"button_C_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.332 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_C_double_press/config with payload {"unique_id":"308234C","automation_type":"trigger","type":"button_double_press","subtype":"button_C","payload":"button_C_double_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.332 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_C_triple_press/config with payload {"unique_id":"308234C","automation_type":"trigger","type":"button_triple_press","subtype":"button_C","payload":"button_C_triple_press","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.333 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_C_hold/config with payload {"unique_id":"308234C","automation_type":"trigger","type":"button_hold","subtype":"button_C","payload":"button_C_hold","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.334 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/device_automation/308234/button_C_release/config with payload {"unique_id":"308234C","automation_type":"trigger","type":"button_release","subtype":"button_C","payload":"button_C_release","topic":"easywave2mqtt/308234/action","device":{"identifiers":["easywave2mqtt_308234"],"name":"Bedroom Shutter Control","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave 3-button Transmitter","manufacturer":"Niko"},"suggested_area":"Bedroom","availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.339 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic homeassistant/light/shtter/config with payload {"unique_id":"shtter","name":"Bedroom Window Shutter","suggested_area":"Bedroom","state_topic":"easywave2mqtt/shtter/state","command_topic":"mqtt2easywave/shtter/set","payload_on":"on","payload_off":"off","device":{"identifiers":["easywave2mqtt_shtter"],"name":"Bedroom Window Shutter","sw_version":"Easywave2Mqtt 0.1 beta","model":"Easywave Switch","manufacturer":"Niko"},"availability":{"payload_available":"available","payload_not_available":"unavailable","topic":"easywave2mqtt"}}
[15:07:15.343 INF Easywave2Mqtt.Worker] Service running...
[15:07:15.344 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Easywave service is starting...
[15:07:15.347 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Opening serial port /dev/ttyUSB1
[15:07:15.352 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent GETP?
[15:07:15.355 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent ID?
[15:07:15.358 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Service is running...
[15:07:15.365 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received GETP,80	OK
[15:07:15.368 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(GETP,80	OK) start
[15:07:15.370 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }
[15:07:15.370 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received ID,155a,1006,0100	OK
[15:07:15.371 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(ID,155a,1006,0100	OK) start
[15:07:15.371 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver detected with identifier 155a:1006
[15:07:15.371 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }
[15:07:16.386 INF Microsoft.Hosting.Lifetime] Application started. Press Ctrl+C to shut down.
[15:07:16.387 INF Microsoft.Hosting.Lifetime] Hosting environment: Production
[15:07:16.387 INF Microsoft.Hosting.Lifetime] Content root path: /app
[15:07:16.388 DBG Microsoft.Extensions.Hosting.Internal.Host] Hosting started

3. Pressed A (up button) and then B (down button) on Transmitter

[14:05:07.514 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,A
[14:05:07.514 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,A) start
[14:05:07.514 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = A }
[14:05:07.514 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'A'
[14:05:07.514 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'A' (871297 elapsed)
[14:05:07.515 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing press counter to 1
[14:05:07.515 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:05:07.515 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'A'
[14:05:07.515 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'A'
[14:05:07.588 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,A
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,A) start
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = A }
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'A'
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'A' (73 elapsed)
[14:05:07.588 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 1
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'A'
[14:05:07.588 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'A'
[14:05:08.016 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->SendPush
[14:05:08.016 INF Easywave2Mqtt.Mqtt.MessagingService] Button 308234:'A' pressed
[14:05:08.016 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/308234/action with payload button_A_press
[14:05:08.020 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/308234/action received with payload button_A_press
[14:05:08.021 DBG Easywave2Mqtt.Mqtt.MessagingService] Received press on 308234:'A'
[14:05:08.023 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting press counter
[14:05:08.023 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:05:08.023 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--SendPush
[14:05:09.278 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,B
[14:05:09.278 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,B) start
[14:05:09.278 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = B }
[14:05:09.279 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'B'
[14:05:09.279 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'B' (874397 elapsed)
[14:05:09.279 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing press counter to 1
[14:05:09.279 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:05:09.279 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'B'
[14:05:09.279 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'B'
[14:05:09.316 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,B
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,B) start
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = B }
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'B'
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'B' (37 elapsed)
[14:05:09.317 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 1
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'B'
[14:05:09.317 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'B'
[14:05:09.779 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->SendPush
[14:05:09.779 INF Easywave2Mqtt.Mqtt.MessagingService] Button 308234:'B' pressed
[14:05:09.780 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/308234/action with payload button_B_press
[14:05:09.781 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/308234/action received with payload button_B_press
[14:05:09.782 DBG Easywave2Mqtt.Mqtt.MessagingService] Received press on 308234:'B'
[14:05:09.782 WRN Easywave2Mqtt.Easywave.EasywaveSwitch] Switch Bedroom Window Shutter is turned Off
[14:05:09.782 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/shtter/state with payload off
[14:05:09.783 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting press counter
[14:05:09.783 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:05:09.783 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--SendPush
[14:05:09.787 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/shtter/state received with payload off

4. Pressed B (down button) and then A (up button) on Transmitter

[14:07:18.972 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,B
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,B) start
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = B }
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'B'
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'B' (129656 elapsed)
[14:07:18.973 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing press counter to 1
[14:07:18.973 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'B'
[14:07:18.973 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'B'
[14:07:19.009 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,B
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,B) start
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = B }
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'B'
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'B' (36 elapsed)
[14:07:19.010 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 1
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'B'
[14:07:19.010 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'B'
[14:07:19.047 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,B
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,B) start
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = B }
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'B'
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'B' (38 elapsed)
[14:07:19.048 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 2
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'B'
[14:07:19.048 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'B'
[14:07:19.473 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->SendPush
[14:07:19.473 INF Easywave2Mqtt.Mqtt.MessagingService] Button 308234:'B' pressed
[14:07:19.473 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/308234/action with payload button_B_press
[14:07:19.474 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/308234/action received with payload button_B_press
[14:07:19.474 DBG Easywave2Mqtt.Mqtt.MessagingService] Received press on 308234:'B'
[14:07:19.474 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting press counter
[14:07:19.474 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:07:19.474 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--SendPush
[14:07:20.632 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,A
[14:07:20.632 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,A) start
[14:07:20.632 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = A }
[14:07:20.632 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'A'
[14:07:20.632 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'A' (133043 elapsed)
[14:07:20.632 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing press counter to 1
[14:07:20.632 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:07:20.632 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'A'
[14:07:20.633 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'A'
[14:07:20.669 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,A
[14:07:20.669 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,A) start
[14:07:20.669 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = A }
[14:07:20.669 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'A'
[14:07:20.669 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'A' (36 elapsed)
[14:07:20.669 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 1
[14:07:20.669 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'A'
[14:07:20.670 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'A'
[14:07:20.706 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,A
[14:07:20.706 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,A) start
[14:07:20.706 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = A }
[14:07:20.707 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'A'
[14:07:20.707 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->HandlePress 'A' (37 elapsed)
[14:07:20.707 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Increasing repeat counter to 2
[14:07:20.707 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--HandlePress 'A'
[14:07:20.707 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'A'
[14:07:21.132 VRB Easywave2Mqtt.Easywave.EasywaveButton]   -->SendPush
[14:07:21.133 INF Easywave2Mqtt.Mqtt.MessagingService] Button 308234:'A' pressed
[14:07:21.133 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/308234/action with payload button_A_press
[14:07:21.135 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/308234/action received with payload button_A_press
[14:07:21.135 DBG Easywave2Mqtt.Mqtt.MessagingService] Received press on 308234:'A'
[14:07:21.135 WRN Easywave2Mqtt.Easywave.EasywaveSwitch] Switch Bedroom Window Shutter is turned On
[14:07:21.136 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/shtter/state with payload on
[14:07:21.137 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting press counter
[14:07:21.137 DBG Easywave2Mqtt.Easywave.EasywaveButton]     Resetting repeat counter
[14:07:21.137 VRB Easywave2Mqtt.Easywave.EasywaveButton]   <--SendPush
[14:07:21.140 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/shtter/state received with payload on

5. Pressed C (stop button) on Transmitter

[14:08:15.952 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,C
[14:08:15.952 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,C) start
[14:08:15.952 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = C }
[14:08:15.953 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'C'
[14:08:15.953 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'C'
[14:08:15.990 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,C
[14:08:15.990 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,C) start
[14:08:15.990 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = C }
[14:08:15.990 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'C'
[14:08:15.990 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'C'
[14:08:16.026 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received REC,308234,C
[14:08:16.026 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(REC,308234,C) start
[14:08:16.026 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = 308234, KeyCode = C }
[14:08:16.026 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] -->HandleButton 308234:'C'
[14:08:16.026 VRB Easywave2Mqtt.Easywave.EasywaveTransmitter] <--HandleButton 308234:'C'

6. Trying to move the shutters through Home Assistant: changed status of entity “light. bedroom_window_shutter from “OFF” to “ON” – but no reaction from shutters

[18:48:53.582 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic mqtt2easywave/shtter/set received with payload on
[18:48:53.582 DBG Easywave2Mqtt.Mqtt.MessagingService] Received on on shtter
[18:48:53.582 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent TXP,10,A
[18:48:53.583 WRN Easywave2Mqtt.Easywave.EasywaveSwitch] Switch Bedroom Window Shutter is turned On
[18:48:53.583 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/shtter/state with payload on
[18:48:53.583 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/shtter/state received with payload on
[18:48:53.586 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received OK
[18:48:53.586 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(OK) start
[18:48:53.586 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver confirmed last command
[18:48:53.586 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }

7. Trying to move the shutters through Home Assistant: changed status of entity “light. bedroom_window_shutter from “ON” to “OFF” – but no reaction from shutters

[18:49:04.293 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic mqtt2easywave/shtter/set received with payload off
[18:49:04.294 DBG Easywave2Mqtt.Mqtt.MessagingService] Received off on shtter
[18:49:04.294 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent TXP,10,B
[18:49:04.295 WRN Easywave2Mqtt.Easywave.EasywaveSwitch] Switch Bedroom Window Shutter is turned Off
[18:49:04.295 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt/shtter/state with payload off
[18:49:04.297 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/shtter/state received with payload off
[18:49:04.299 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received OK
[18:49:04.300 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(OK) start
[18:49:04.300 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver confirmed last command
[18:49:04.300 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }

Sorry for the endless infos, here is finally my question :wink:: I have tried to open or close the shutters with Home Assistant using a couple of different codes, such as “TXP,10,A” or “TXP,10,B”. But unsuccessfully, the shutters don’t move at all. If I use the remote control (Transmitter), the shutters work and I can see in the logs that the Transceiver (RX09 USB stick) works and records the commands.

But how do I get the Transceiver to send the right command/code to the shutters (Receiver) so they open or close accordingly? Do you see any mistakes in the setup/configuration? How do I find out what the right commands/codes are that HA needs to send?

Thanks a lot for your help & advice.

Hi,

In the meantime I’ve added support for blinds/shutters with the help of another HA user who had them.

Fixing the config

Your config is not entirely correct, but you’re not that far off.

Your declaration of the remote control seems correct. HA now knows that there is some kind of transmitter in the house that has 3 buttons and can now detect (single/double/triple)-push actions on them and can act upon it.

Your declaration of the shutter has some problems:

  • First of all, the Type off your shutter should be Blind to tell Easywave2MQTT and HA that this device is a blind/shutter.
  • Second, you only need to declare a subscription for one single button (A in your case) per address. Easywave2MQTT will smart enough to link button B & C to the same device. (The reason why you need to specify the button is because there are transmitters with more buttons. In case of a transmitter with 6 buttons, you could have button A, B & C linked to shutter 1 and buttons D, E & F to shutter 2, so you would put D in the second shutter’s subscription).
  • The subscription with Address 10, keycode A and CanSend=true, is correct. That one will tell HA that if it wants the shutter to open, it should ask Easywave2MQTT to tell the Eldat transmitter to send out a button A press on address 10, and if it wants the shutter to close, it should ask Easywave2MQTT to tell the Eldat transmitter to send out a button B press on address 10.

The new config should look something like this. Fix the config, restart the Easywave2MQTT plugin and check the logs for errors.

{
  //These options get overriden by the addon options
  "LogLevel": "Information",
  "SerialPort": "/dev/ttyUSB0",
  "EasywaveActionTimeout": "500",
  "EasywaveRepeatTimeout": "80",
  "MQTTServer": "192.168.0.13",
  "MQTTPort": "1883",
  "MQTTUser": "mqtt",
  "MQTTPassword": "mqtt",
  //These options need to be altered manually, until I figure out how to do it from Home Assistant.
  "Devices": [
    {
      "Id": "308234",     // this is the address your old remote is sending on 
      "Type": "Transmitter",
      "Name": "Bedroom Shutter Control",
      "Area": "Bedroom",
      "Buttons": [ "A", "B", "C" ] // A is up, B is down, C is stop
    },
    {
      "Id": "shtter",  // this is the self-chosen ID of the Receiver (Roof Window Shutters) 
      "Type": "Blind",  //tell HA this is a shutter/blind
      "Name": "Bedroom Window Shutter",
      "Area": "Bedroom",
      "Subscriptions": [
        {
          "Address": "308234",
          "KeyCode": "A"  // Only need to link the "Up"-Button
        },
        {
          "Address": "000010",  // Eldat address 16 (in hexadecimal), more on that below
          "KeyCode": "A",  // Eldat will also send an UP button message
          "CanSend": "true"
        }
      ]
    }
  ]
}

Nice to meet you Eldat

It’s normal that your shutters don’t react on any actions you do in HA: your blinds do not have any idea that the Eldat stick is talking to them. It’s controller might see the Eldat messages flying by, but it doesn’t know that it has to act on them. As far as it knows these messages are for another device.

You need to manually tell the shutters that there is a new remote control (which is is the Eldat stick). The procedure to do that depends on the shutters and should be mentioned somewhere in the manual.

The other guy that helped doing the modifications had Altron shutters and their procedure was as follows (might work or might not work in your case!!):

  1. Open the shutters half-way with your old remote.
  2. Hold the STOP button of your old remote until the shutters confirm with a short up & down movement.
  3. Within 5 seconds, press and release the UP key and then the DOWN key of your old remote. The shutters will again confirm with a short up and down movement.
  4. Within 5 seconds press the up key of the new remote, the shutter will acknowledge again.
  5. Your shutters can now be controlled by both remotes.

The tricky part

As the Eldat stick is the new remote, you’ll need to execute step 4 above from HA, so you’ll need to open the blinds using HA, which in its turn will ask Easywave2MQTT to instruct the Eldat stick to send the button A message on address 10. Once the shutters see that coming in, it will think that the Eldat stick is just another remote and will start acting on its messages.

Closing

I hope this clears things up a bit. Good luck getting them to work.

1 Like