ESPHome Device Builder error

Hello,

I would like to receive requests from a transmitter via CC1101 so I can analyze them. I've managed to get it working enough that I can see the incoming requests in the log, but unfortunately I can't select the ByronSX as a trigger because the command found in the log isn't supported.

Unknown value ‘0x07’, valid options are ‘1’, ‘2’, ‘3’, ‘5’, ‘6’, ‘9’, ‘13’, ‘14’, ‘16’.

This is what I receive when I press the remote control:

[18:00:15.009][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.010][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.010][I][remote.pronto:239]: 0000 006D 000D 0000 000E 000D 001A 001C 000C 0010 0018 001D 000B 000F 0019 001D 000C 000F 0019 001C 000B 000F 0019 001C 000C 001C 000B 001C 000B 0181 
[18:00:15.047][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.047][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.047][I][remote.pronto:239]: 0000 006D 000D 0000 000D 000E 001A 001B 000C 000F 0019 001D 000B 000F 0019 001C 000C 000E 001A 001B 000C 000E 0019 001D 000B 001D 000C 001B 000C 0181 
[18:00:15.060][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.061][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.071][I][remote.pronto:239]: 0000 006D 000D 0000 000C 000E 001A 001C 000B 000F 0019 001B 000B 000F 0019 001C 000D 000E 0019 001C 000C 000F 0019 001C 000C 001C 000B 001D 000B 0181 
[18:00:15.098][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.098][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.098][I][remote.pronto:239]: 0000 006D 000D 0000 000D 000E 001A 001B 000C 000F 0019 001C 000B 000F 0019 001C 000D 000E 001A 001B 000C 000F 0019 001C 000B 001C 000B 001C 000C 01CE 
[18:00:15.127][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.127][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.127][I][remote.pronto:239]: 0000 006D 000D 0000 000C 000F 0019 001C 000C 000E 001A 001B 000C 000F 0019 001C 000C 000F 0019 001C 000C 000F 0019 001C 000B 001D 000C 001D 000B 01CF 
[18:00:15.156][D][remote.byronsx:134]: Received ByronSX: address=0x00000055, command=0x07
[18:00:15.157][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.157][I][remote.pronto:239]: 0000 006D 000D 0000 000C 000E 0019 001D 000C 000F 0019 001C 000C 000E 001A 001B 000C 000F 0019 001C 000B 0010 0018 001C 000B 001D 000C 001B 000C 01CF 
[18:00:15.184][I][remote.canalsatld:098]: Received CanalSatLD: device=0x49, address=0x3F, command=0x7F, repeat=0x1
[18:00:15.185][I][remote.pronto:231]: Received Pronto: data=
[18:00:15.185][I][remote.pronto:239]: 0000 006D 0006 0000 000B 000F 0019 001C 000C 000F 0019 001C 000C 000E 001A 0181 

And here is my code:

binary_sensor:
  - platform: remote_receiver
    name: "Einfahrt erkannt"
    byronsx:
      address: '0x00000055'
      command: '0x07'

I’ve already tried it with Pronto and RAW, but with both methods I always get different data; with ByronSX, there’s only the address and command, which is why I hoped to achieve my goal with it.

Did I make a mistake, or am I simply unable to use the command ‘0x07’?

Regards
Nick

command '0x07' or '0x007' - the text and code differ. Does it affect the end result if you change it?

Hi,

My mistake. A 0 slipped into the final question by accident.

It's actually 0x07. I've corrected it now.

grafik

I just found a solution; the binary_sensor and the button are now working as intended.

I programmed a new remote control from AliExpress, but this new one now sends one more line than the original remote, with data that I can use:

[07:18:30.361][I][remote.rc_switch:260]: Received RCSwitch Raw: protocol=6 data=‘010101010111’

Now I’m receiving the signal to open/close, can process it, and my transmit command is working as well.

Sometimes things can be so simple if you “think outside the box.”

You can always use automation instead of binary sensor.

remote_receiver:
  on_byronsx:
    then:
      - lambda: |-
          if (x.address == 0x55 && x.command == 0x07) {
            // trigger template sensor here
          }

Hi Karosm,

We’ve reached a point where I need to learn a bit more about this first. My goal is, first, to intercept the signal and then relay the same signal (like a repeater, to extend the range), and second, to send an open/close signal myself via HA.

The method I described was the easiest for me right now, but I’ll definitely look into the options for implementing everything directly in ESPHome, just as you suggested.

Thanks for the hint!

I don't see how swapping hardware instead of solving the problem helps you to learn.

Chances are low, you get there without analyzing the raw signal. Signal can get decoded as byron, rcswitch 6 or any other protocol if tolerance is set high. That doesn't mean you can "repeat" it using that approach.

Correct, analyzing is hard - so im using new (even better than old one) Hardware :wink:
Now i have time to learn more about

However, the following code works for my first two small requirements

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13
  miso_pin: GPIO12

captive_portal:
    
cc1101:
  cs_pin: GPIO15
  frequency: 433.92MHz

remote_transmitter:
  id: my_transmitter
  pin: GPIO1  # Must match GDO0
  carrier_duty_percent: 100%
  on_transmit:
    then:
      - cc1101.begin_tx
  on_complete:
    then:
      - cc1101.begin_rx

remote_receiver:
  id: my_receiver
  pin: GPIO3  # Must match GDO2
  dump: all
          
binary_sensor:
  - platform: remote_receiver
    name: "Einfahrt erkannt"
    rc_switch_raw:
      code: '010101010111'
      protocol: 6    
    filters: 
      - delayed_off: 
          0.25s       
      
button:
  - platform: template
    name: "Einfahrt öffnen schließen"
    on_press:
      - remote_transmitter.transmit_rc_switch_raw:
            protocol: 6
            code: '010101010111'
            repeat:
              times: 10
              wait_time: 0ms

You are lucky :grinning: