New add-on to add support for Easywave devices

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

Hi Marc,

thank you very much for the comprehensive reply! I used your modified config and the logs look good.

The tricky part is indeed making the shutters respond to the Eldat stick. I will try the process that worked with the Altron shutters but presume that my shutters will need a different procedure - need to find a manual for them and see how I can pair them with the Eldat stick. But need to wait a bit in any case before I can continue my quest as it’s currently snowing heavily and the shutters are frozen shut :wink: .

I will report back once I have further news.

Thanks again and have a good weekend.

Hi Marc,
I have been able to discover the ID’s of the easywave switches. According to your instructions, these have to be configured in the appsettings.json file. However, there are two files located in the smb share:
\homeassistant\addons\Easywave2MQTT\addon\Easywave2MQTT\app
and
\homeassistant\addons\Easywave2MQTT\src\Easywave2Mqtt
Unfortunately, whatever I put in these files, when restarting the Easywave2MQTT addon, the log always shows the same buttons:
[14:18:37.831 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Terras (229ad6:‘A’) in Keuken
[14:18:37.935 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Terras (229ad6:‘B’) in Keuken
[14:18:37.951 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (2274e4:‘A’) in Keuken
[14:18:37.967 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (2274e4:‘B’) in Keuken
[14:18:37.984 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (2274e4:‘C’) in Keuken
[14:18:37.999 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (2274e4:‘D’) in Keuken
[14:18:38.015 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Haldeur (22a4c1:‘A’) in Keuken
[14:18:38.029 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Haldeur (22a4c1:‘B’) in Keuken
[14:18:38.045 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Keukendeur (2295be:‘A’) in Wasplaats
[14:18:38.060 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Keukendeur (2295be:‘B’) in Wasplaats
[14:18:38.076 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (227e60:‘A’) in Hal
[14:18:38.093 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (227e60:‘B’) in Hal
[14:18:38.123 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (227e60:‘C’) in Hal
[14:18:38.141 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Livingdeur (227e60:‘D’) in Hal
[14:18:38.157 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Badkamer (2295ce:‘A’) in Badkamer
[14:18:38.171 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Badkamer (2295ce:‘B’) in Badkamer
[14:18:38.187 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Badkamer (229630:‘A’) in Hal
[14:18:38.203 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Badkamer (229630:‘B’) in Hal
[14:18:38.218 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Nina (22963e:‘A’) in Hal
[14:18:38.251 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Nina (22963e:‘B’) in Hal
[14:18:38.272 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Eline (229964:‘A’) in Hal
[14:18:38.300 INF Easywave2Mqtt.Worker] Declaring button Schakelaar Hal Eline (229964:‘B’) in Hal
[14:18:38.318 INF Easywave2Mqtt.Worker] Declaring button Deur (229589:‘A’) in Slaapkamer Ouders
[14:18:38.335 INF Easywave2Mqtt.Worker] Declaring button Deur (229589:‘B’) in Slaapkamer Ouders
[14:18:38.352 INF Easywave2Mqtt.Worker] Declaring button Bed (22759c:‘A’) in Slaapkamer Ouders
[14:18:38.369 INF Easywave2Mqtt.Worker] Declaring button Bed (22759c:‘B’) in Slaapkamer Ouders
[14:18:38.386 INF Easywave2Mqtt.Worker] Declaring button Bed (22759c:‘C’) in Slaapkamer Ouders
[14:18:38.403 INF Easywave2Mqtt.Worker] Declaring button Bed (22759c:‘D’) in Slaapkamer Ouders
Where do I declare, configure my buttons and switches?

Thans for the great work to integrate this in HA.

The src folder is only used for developing the plugin. The output of the development is then copied into the addon/Easywave2MQTT folder.

So, first delete the addon from HA if you have already installed it and only copy the contents of the addon folder from github to the addons folder in the SMB share of Home Assistant, like in the screenshot below.
Your \\homeassistant\addons folder should only contain a single Easywave2MQTT folder and nothing else (besides any other plug-ins you have manually installed).

image.png

The config file you should alter is the \\homeassistant\addons\Easywave2MQTT\app\appSettings.json file.

image.png

Replace the contents of line 13->207 with your own configuration (take care of the syntax!).
The settings from lines 3->10 can be changed from the plugin configuration and what is set there will take precedence over what is in the config file.

Also make sure to read Nice to meet you Eldat part from the previous question as that explains how you can link your Eldat receiver to the stuff you want to control from HA.

Marc

Thanks Marc for your quick reply.
I reinstalled the plugin with the correct path, modified the json file.
One thing I discovered is that you need to do a rebuild when you change the json file. And a stop & start.
Also, the ID’s cannot be longer than 7 characters.
Struggled a while with the Mosquito MQTT broker but it finaly worked after a reboot.
As you said, you need to add the Eldat stick as a new remote to the Niko “receivers”.
I can now ditch the soon to be retired connected switch.
Thanks for all your good work.

Glad it works. :smiley:
A rebuild should not be necessary when changing the config file… A simple restart should suffice as the plugin reads the contents of the config file while starting-up.
But be aware that the values in the configuration tab (which will be set as environment variables in the container that hosts the plug-in) always take precedence over the values in the config file.

Thanks Marc

Hi Marc,
thanks for pointing into this thread.

I adapted my config according your example but still no luck. It looks like the devices are not recognized correctly as they are not listed and the addon seems to ignore incoming MQTT meassages. Any idea what I have done wrong?

Config:

  "LogLevel": "Information",
  "SerialPort": "/dev/ttyUSB0",
  "EasywaveActionTimeout": "500",
  "EasywaveRepeatTimeout": "80",
  "MQTTServer": "192.168.1.210",
  "MQTTPort": "1883",
  "MQTTUser": "easywave",
  "MQTTPassword": "easywave",
  
  "Devices": [
    {
      "Id": "18df10",
      "Type": "Transmitter",
      "Name": "Buero OG",
      "Area": "Büro",
      "KeyCode": ["A", "B", "C"]
    },
    {
      "Id": "bBuerO",
      "Type": "Blind",
      "Name": "Blind Buero OG",
      "Area": "Büro",
      "Subscriptions": [
        {
          "Address": "18df10",
          "KeyCode": "A"
        },
        {
          "Address": "000010",
          "KeyCode": "A",
          "CanSend": "true"
        }
      ]
    }
  ]
}

Log:

[09:36:25.549 INF Easywave2Mqtt.Mqtt.MessagingService] Service starting...
[09:36:25.624 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic easywave2mqtt/#: GrantedQoS1
[09:36:25.628 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic mqtt2easywave/#: GrantedQoS1
[09:36:25.631 INF Easywave2Mqtt.Mqtt.MessagingService] Service running...
[09:36:25.641 INF Easywave2Mqtt.Worker] Service is starting...
[09:36:25.647 INF Easywave2Mqtt.Worker] Service running...
[09:36:25.650 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Easywave service is starting...
[09:36:25.666 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Service is running...
[09:36:25.681 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver detected with identifier 155a:1006
[09:36:26.684 INF Microsoft.Hosting.Lifetime] Application started. Press Ctrl+C to shut down.
[09:36:26.685 INF Microsoft.Hosting.Lifetime] Hosting environment: Production
[09:36:26.685 INF Microsoft.Hosting.Lifetime] Content root path: /app
[09:36:59.460 WRN Easywave2Mqtt.Worker] Ignored incoming MQTT message for unknown device 000001
[09:37:48.465 WRN Easywave2Mqtt.Worker] Ignored incoming MQTT message for unknown device 000010

I think there is something wrong in your config.

The Failed to subscribe to topic messages are normal. I still need to adapt the plugin to be compatible with MQTT 5 that now reports Quality of Service levels as return codes while in previous versions everything besides 0 was an error.

But what I’m missing is Declaring button ... and Declaring blinds ... messages in the logs. These are the messages that indicate that my addon created the devices in HA. As they do not show in your log, that would mean that the Devices list is not parsed correctly.

As I don’t see it in the config contents you pasted, are you sure the initial { in the beginning of the `addons/Easywave2MQTT/app/appsettings.json’ file is there? For reference I’ve added the complete config file contents below.

{
    "LogLevel": "Information",
    "SerialPort": "/dev/ttyUSB0",
    "EasywaveActionTimeout": "500",
    "EasywaveRepeatTimeout": "80",
    "MQTTServer": "192.168.1.210",
    "MQTTPort": "1883",
    "MQTTUser": "easywave",
    "MQTTPassword": "easywave",
    "Devices": [
        {
            "Id": "18df10",
            "Type": "Transmitter",
            "Name": "Buero OG",
            "Area": "Büro",
            "KeyCode": [
                "A",
                "B",
                "C"
            ]
        },
        {
            "Id": "bBuerO",
            "Type": "Blind",
            "Name": "Blind Buero OG",
            "Area": "Büro",
            "Subscriptions": [
                {
                    "Address": "18df10",
                    "KeyCode": "A"
                },
                {
                    "Address": "000010",
                    "KeyCode": "A",
                    "CanSend": "true"
                }
            ]
        }
    ]
}

Another strange thing are the Ignored incoming MQTT message for unknown device 000001 and Ignored incoming MQTT message for unknown device 000010 I see. I’m guessing you are trying to send mqtt messages yourself, but these are not correct, as the commands should be targeted to device bBuerO and not to the subscriptions that drive it. And this will only work if the addon declared the devices correctly.

Thanks so far, I checked for the open “{” and also tried while copy/paste your config proposal. But still not see any device declaration. If i use the appsettings directly from guthub, all looks fine. Also devices are created…

The ignored incoming messages were my mistake, as I thaught I have to create a device by myself and send commands from it via MQTT to your Add-on.

Can you change the loglevel to Verbose in the configuration, restart the addon, wait 5 seconds and then copy the contents of the log here?

While using your config proposal from above.

[20:25:48.934 DBG Microsoft.Extensions.Hosting.Internal.Host] Hosting starting
[20:25:48.978 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Checking serial port /dev/ttyUSB0
[20:25:48.987 INF Easywave2Mqtt.Mqtt.MessagingService] Service starting...
[20:25:49.055 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic easywave2mqtt/#: GrantedQoS1
[20:25:49.058 ERR Easywave2Mqtt.Mqtt.MessagingService] Failed to subscribe to topic mqtt2easywave/#: GrantedQoS1
[20:25:49.060 INF Easywave2Mqtt.Mqtt.MessagingService] Service running...
[20:25:49.064 DBG Easywave2Mqtt.Mqtt.MessagingService] Publishing topic easywave2mqtt with payload available
[20:25:49.073 INF Easywave2Mqtt.Worker] Service is starting...
[20:25:49.076 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt/kkn1/state received with payload off
[20:25:49.077 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt received with payload available
[20:25:49.078 DBG Easywave2Mqtt.Mqtt.MessagingService] Topic easywave2mqtt received with payload available
[20:25:49.080 INF Easywave2Mqtt.Worker] Service running...
[20:25:49.082 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Easywave service is starting...
[20:25:49.086 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Opening serial port /dev/ttyUSB0
[20:25:49.093 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent GETP?
[20:25:49.098 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Sent ID?
[20:25:49.100 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Service is running...
[20:25:49.108 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received GETP,80	OK
[20:25:49.111 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(GETP,80	OK) start
[20:25:49.114 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }
[20:25:49.115 DBG Easywave2Mqtt.Easywave.EldatRx09Transceiver] Received ID,155a,1006,0100	OK
[20:25:49.115 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] -->Parse(ID,155a,1006,0100	OK) start
[20:25:49.116 INF Easywave2Mqtt.Easywave.EldatRx09Transceiver] Eldat Transceiver detected with identifier 155a:1006
[20:25:49.116 VRB Easywave2Mqtt.Easywave.EldatRx09Transceiver] <--Parse returns EasywaveTelegram { Address = , KeyCode =  }
[20:25:50.119 INF Microsoft.Hosting.Lifetime] Application started. Press Ctrl+C to shut down.
[20:25:50.119 INF Microsoft.Hosting.Lifetime] Hosting environment: Production
[20:25:50.120 INF Microsoft.Hosting.Lifetime] Content root path: /app
[20:25:50.120 DBG Microsoft.Extensions.Hosting.Internal.Host] Hosting started

The node name for the array of buttons for device id 18df10 is incorrect.
It should be Buttons instead of KeyCode.
The rest seems correct, so far…

Correct that nodename, Stop the addon, press the Rebuild button and wait until the spinner stops spinning, then press start.

That should do the trick.

Thanks, that was a dump error by myself. Actually I got it (halfway) to close and open my blinds, BUT only when I declare them as “Light”…

Means I wrote a config, with "Type": "Blind" doesn’t do anything, also no device creation. When I changed to "Type": "Light" I got devices (as lights) and can now open and close my blinds. No stop possible but so far better than nothing.

If you have any other idea (?) or like me to test something, I would be happy to help also would be happy if stop would also be possible. As it would directly influence the WAF :wink:

What is the version number of the Easywave2MQTT add-on that you have installed?
It should be 0.7.1 or higher for the blinds to work.

Also, I’m not really sure, but it seems that the latest version of HA caches the configuration somehow. When you change to type to Blind, be sure to stop the addon and press the rebuild button and after the rebuild is done, start it again.

It can also help to delete the existing “light” device before starting the add-in with the type configured as “blind”.