Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Device Support]: Xiaomi Mi Sticks #117

Closed
PRProd opened this issue May 23, 2023 Discussed in #116 · 28 comments
Closed

[New Device Support]: Xiaomi Mi Sticks #117

PRProd opened this issue May 23, 2023 Discussed in #116 · 28 comments
Assignees
Labels
enhancement New feature or request Needs More Information Cannot continue resolution of this issue without more information New Device Support Request to add support of a currently unsupported Amazon Fire device

Comments

@PRProd
Copy link
Owner

PRProd commented May 23, 2023

Discussed in #116

Originally posted by thehijacker May 23, 2023
Hello,

Can you also add the remote controls for the Xiaomi Mi Sticks. I have the 4K model, but it also exists HD version.

https://www.mi.com/global/product/xiaomi-tv-stick-4k/

https://www.mi.com/global/product/mi-tv-stick/

I think remote control is the same.

@PRProd PRProd added enhancement New feature or request New Device Support Request to add support of a currently unsupported Amazon Fire device labels May 23, 2023
@PRProd PRProd self-assigned this May 23, 2023
@PRProd
Copy link
Owner Author

PRProd commented May 25, 2023

@thehijacker

Absolutely, I'd love to add these two! Since I don't own either of those devices, I will either need to purchase them, wait for someone to buy them for me off of my Amazon Wish List, or find someone who does own them who is willing to answer questions for me. You said that you own one of these devices, can I ask for your help?

Please look at the following image:

image

Test 1

  • Set the Android Debug Bridge entity to point to your Xiaomi TV Stick 4K device (blue arrow)
  • Set all of the Orange arrows just as you see in the picture
  • Leave the Associated Android TV Remote Entity (green arrow) option blank, or select the "- - - -" option
  • Attempt to control your Xiaomi stick through the Firemote card and take notes about anything that doesn't work properly.

Test 2

  • If you haven't yet configured the new Android TV Remote integration that was released in HA 2023.05, please create a configuration entry for your Xiaomi TV Stick 4K.
  • Configure your Firemote card exactly as the steps in Test 1, but instead of leaving the Associated Android TV Remote Entity option blank, select the Android TV Remote entity that is pointing to your Xiaomi TV Stick 4K. (green arrow)
  • Attempt to control your Xiaomi stick through the Firemote card and take notes about anything that doesn't work properly.

If you can do those things for me, that will go a long way, and it will save me time and money. Thanks!

@thehijacker
Copy link

I done both tests:

Test 1:

Only "menu" and "back" key were working. Menu key opens list of application. Navigation keys were not working, same for the volume keys.

Test 2:*

With Android TV Remote selected navigation keys were working. "Menu" key again opened application list. Volume keys change the volume on the device itself. My physical remote changes volume on my external Logitech speakers via IR. But here the remote control itself sends the IR.

Let me know what else can I do to help.

@PRProd
Copy link
Owner Author

PRProd commented May 26, 2023

@thehijacker Perfect! Thank you! I sincerely appreciate your willingness to help!

The next step would be for you to follow the Device Interrogation for New Device Support instructions and post the results here for me. The response will be quite large, but that's what I'm looking for. Also, I'm curious if the instructions in that section are clear enough, or if adding some additional pictures or descriptions would help.

As far as the volume control issue, there is nothing we can command Home Assistant do that would send the same IR signal that your Xiaomi remote control does. However, if you have control over your Logitech speaker system through Home Assistant in some way, you will be able to get the desired behavior by creating button overrides. Check out the relevant section in the Firemote FAQ.

@PRProd
Copy link
Owner Author

PRProd commented May 31, 2023

@thehijacker - Have you been able to take a look at this yet?

@thehijacker
Copy link

Sorry about that. Totaly missed your reply.

Here is the output from "adb shell dumpsys input" command. I hope it helps.

c:\adb>adb shell dumpsys input
INPUT MANAGER (dumpsys input)

Input Manager State:
  Interactive: true
  System UI Visibility: 0x8008
  Pointer Speed: 0
  Pointer Gestures Enabled: true
  Show Touches: false
  Pointer Capture Enabled: false

Event Hub State:
  BuiltInKeyboardId: -2
  Devices:
    -1: Virtual
      Classes: 0x40000023
      Path: <virtual>
      Enabled: true
      Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd
      Location:
      ControllerNumber: 0
      UniqueId: <virtual>
      Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm
      ConfigurationFile:
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    1: ir_keypad
      Classes: 0x00000029
      Path: /dev/input/event2
      Enabled: true
      Descriptor: 485d69228e24f5e46da1598745890b214130dbc4
      Location: keypad/input0
      ControllerNumber: 0
      UniqueId:
      Identifier: bus=0x0010, vendor=0x0001, product=0x0001, version=0x0100
      KeyLayoutFile: /vendor/usr/keylayout/Vendor_0001_Product_0001.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile:
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    2: cec_input
      Classes: 0x00000001
      Path: /dev/input/event1
      Enabled: true
      Descriptor: 02b1ce58713e0e531eab61b0742baac6893ff49f
      Location:
      ControllerNumber: 0
      UniqueId:
      Identifier: bus=0x0010, vendor=0x1b8e, product=0x0cec, version=0x0001
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile:
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    3: input_btrcu
      Classes: 0x00000001
      Path: /dev/input/event0
      Enabled: true
      Descriptor: d2c52ff0f656fac4cd7b7a118d575e0109a9fe1c
      Location: input_btrcu/input0
      ControllerNumber: 0
      UniqueId:
      Identifier: bus=0x0010, vendor=0x0001, product=0x0001, version=0x0100
      KeyLayoutFile: /vendor/usr/keylayout/Vendor_0001_Product_0001.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile:
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    4: virtual-search
      Classes: 0x00000461
      Path: /dev/input/event3
      Enabled: true
      Descriptor: d76b0dc9b6d844ab25ed6d04f6d43a45d3806d72
      Location: android.os.BinderProxy@2a04e89
      ControllerNumber: 1
      UniqueId:
      Identifier: bus=0x0006, vendor=0x18d1, product=0x0100, version=0x0001
      KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: /vendor/usr/idc/Vendor_18d1_Product_0100.idc
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    6: Xiaomi RC Consumer Control
      Classes: 0x80000421
      Path: /dev/input/event5
      Enabled: true
      Descriptor: d386a144344c22146b86b6fd46e434888ab46318
      Location:
      ControllerNumber: 0
      UniqueId: a8:42:a7:96:74:3d
      Identifier: bus=0x0005, vendor=0x2717, product=0x32b9, version=0x0000
      KeyLayoutFile: /vendor/usr/keylayout/Vendor_2717_Product_32b9.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: /vendor/usr/idc/Vendor_2717_Product_32b9.idc
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
    7: Xiaomi RC Keyboard
      Classes: 0x800004a1
      Path: /dev/input/event6
      Enabled: true
      Descriptor: d386a144344c22146b86b6fd46e434888ab46318
      Location:
      ControllerNumber: 0
      UniqueId: a8:42:a7:96:74:3d
      Identifier: bus=0x0005, vendor=0x2717, product=0x32b9, version=0x0000
      KeyLayoutFile: /vendor/usr/keylayout/Vendor_2717_Product_32b9.kl
      KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
      ConfigurationFile: /vendor/usr/idc/Vendor_2717_Product_32b9.idc
      HaveKeyboardLayoutOverlay: false
      VideoDevice: <none>
  Unattached video devices:
    <none>

Input Reader State:
  Device 7: Xiaomi RC Consumer Control
    Generation: 19
    IsExternal: true
    AssociatedDisplayPort: <none>
    HasMic:     true
    Sources: 0x80000301
    KeyboardType: 1
    Switch Input Mapper:
      SwitchValues: 0
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 7: Xiaomi RC Consumer Control
    Generation: 19
    IsExternal: true
    AssociatedDisplayPort: <none>
    HasMic:     true
    Sources: 0x80000301
    KeyboardType: 1
    Switch Input Mapper:
      SwitchValues: 0
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 5: virtual-search
    Generation: 12
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     true
    Sources: 0x00000701
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 4: ir_keypad
    Generation: 17
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00002303
    KeyboardType: 1
    Motion Ranges:
      X: source=0x00002002, min=0.000, max=1919.000, flat=0.000, fuzz=0.000, resolution=0.000
      Y: source=0x00002002, min=0.000, max=1079.000, flat=0.000, fuzz=0.000, resolution=0.000
      PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
      VSCROLL: source=0x00002002, min=-1.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
    Cursor Input Mapper:
      Parameters:
        HasAssociatedDisplay: true
        Mode: pointer
        OrientationAware: false
      XScale: 1.000
      YScale: 1.000
      XPrecision: 1.000
      YPrecision: 1.000
      HaveVWheel: true
      HaveHWheel: false
      VWheelScale: 1.000
      HWheelScale: 1.000
      Orientation: 0
      ButtonState: 0x00000000
      Down: false
      DownTime: 0
  Device 3: cec_input
    Generation: 6
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Device 2: input_btrcu
    Generation: 4
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000101
    KeyboardType: 1
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 1
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 120751104000
  Device -1: Virtual
    Generation: 2
    IsExternal: false
    AssociatedDisplayPort: <none>
    HasMic:     false
    Sources: 0x00000301
    KeyboardType: 2
    Keyboard Input Mapper:
      Parameters:
        OrientationAware: false
        HandlesKeyRepeat: false
      KeyboardType: 2
      Orientation: 0
      KeyDowns: 0 keys currently down
      MetaState: 0x0
      DownTime: 0
  Configuration:
    ExcludedDeviceNames: []
    VirtualKeyQuietTime: 0.0ms
    PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000
    WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000
    PointerGesture:
      Enabled: true
      QuietInterval: 100.0ms
      DragMinSwitchSpeed: 50.0px/s
      TapInterval: 150.0ms
      TapDragInterval: 300.0ms
      TapSlop: 20.0px
      MultitouchSettleInterval: 100.0ms
      MultitouchMinDistance: 15.0px
      SwipeTransitionAngleCosine: 0.3
      SwipeMaxWidthRatio: 0.2
      MovementSpeedRatio: 0.8
      ZoomSpeedRatio: 0.3
      Viewports:
        Viewport INTERNAL: displayId=0, uniqueId=local:0, port=0, orientation=0, logicalFrame=[0, 0, 1920, 1080], physicalFrame=[0, 0, 1920, 1080], deviceSize=[1920, 1080], isActive=[1]

Input Classifier State:
  Motion Classifier:
    <nullptr>

Input Dispatcher State:
  DispatchEnabled: true
  DispatchFrozen: false
  InputFilterEnabled: false
  FocusedDisplayId: 0
  FocusedApplications:
    displayId=0, name='ActivityRecord{be3e345 u0 com.google.android.tvlauncher/.MainActivity t825}', dispatchingTimeout=5000ms
  FocusedWindows:
    displayId=0, name='Window{9bad616 u0 com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}'
  TouchStates: <no displays touched>
  Display: 0
    Windows:
      0: name='Window{9bad616 u0 com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x81810120, type=0x00000001, frame=[0,0][1920,1080], globalScale=1.000000, windowScale=(1.000000,1.000000), touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=1473, ownerUid=10044, dispatchingTimeout=5000ms
      1: name='Window{64c5284 u0 com.android.systemui.ImageWallpaper}', displayId=0, portalToDisplayId=-1, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00014318, type=0x000007dd, frame=[-96,-516][2016,1596], globalScale=1.000000, windowScale=(0.030303,0.030303), touchableRegion=[-96,-516][63264,62844], inputFeatures=0x00000000, ownerPid=703, ownerUid=10063, dispatchingTimeout=5000ms
  Global monitors in display 0:
    0: 'PointerEventDispatcher0 (server)',
  RecentQueue: length=10
    KeyEvent, age=17834ms
    KeyEvent, age=15905ms
    KeyEvent, age=17834ms
    FocusEvent(hasFocus=true), age=15694ms
    DeviceResetEvent(deviceId=6), policyFlags=0x00000000, age=15457ms
    ConfigurationChangedEvent(), policyFlags=0x00000000, age=15457ms
    DeviceResetEvent(deviceId=7), policyFlags=0x00000000, age=15228ms
    ConfigurationChangedEvent(), policyFlags=0x00000000, age=15228ms
    DeviceResetEvent(deviceId=7), policyFlags=0x00000000, age=15203ms
    ConfigurationChangedEvent(), policyFlags=0x00000000, age=15203ms
  PendingEvent: <none>
  InboundQueue: <empty>
  ReplacedKeys: <empty>
  Connections:
    322: channelName='9bad616 com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity (server)', windowName='9bad616 com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity (server)', status=NORMAL, monitor=false, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
    250: channelName='64c5284 com.android.systemui.ImageWallpaper (server)', windowName='64c5284 com.android.systemui.ImageWallpaper (server)', status=NORMAL, monitor=false, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
    283: channelName='681c66c InputMethod (server)', windowName='681c66c InputMethod (server)', status=NORMAL, monitor=false, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
    125: channelName='PointerEventDispatcher0 (server)', windowName='PointerEventDispatcher0 (server)', status=NORMAL, monitor=true, responsive=true
      OutboundQueue: <empty>
      WaitQueue: <empty>
  AppSwitch: not pending
  Configuration:
    KeyRepeatDelay: 50ms
    KeyRepeatTimeout: 400ms

@PRProd
Copy link
Owner Author

PRProd commented May 31, 2023

@thehijacker - Thanks!

How do the buttons behave if you set the "Compatibility Mode" to event5?

image

@thehijacker
Copy link

Not much is working. Navigation keys with OK are not working. Only that left menu button opens apps list.

@PRProd
Copy link
Owner Author

PRProd commented May 31, 2023

Hmmm... That's not the result I was hoping to hear. Bummer.

If you choose "strong", does everything work but with a very slow response time? Do any of the other "event" numbers have a usable outcome?

@thehijacker
Copy link

Strong option works but as written it is slower. I tried all other event options but could not get navigation keys working.

@PRProd
Copy link
Owner Author

PRProd commented May 31, 2023

Unfortunately this means that I will need to gather specific information from you for each key press, and this could mean a considerable amount of work ahead. If you're still up for it, I am too! If not, and you'd rather wait for me to raise the funds to buy one for myself, that's OK too. If you choose to continue, keep reading below.

I see that you are interacting with ADB through the command prompt, so let's continue that way.

  • In your command prompt, enter the command adb shell which should dump you into the shell of your Xiaomi device.
  • Next, enter the command getevent /dev/input/event5 which should give you no output, but leave you with a blinking cursor
  • Press the LEFT button on the dpad of your physical Xiaomi remote. You should see some output appear on your screen.
  • Holding down CTRL+C should give you control of your terminal again so you can copy/paste or enter more commands
  • Repeat the getevent /dev/input/event5 step with all of the other buttons on your remote that are not working when you have compatibility mode set to 'event5'

I'm hoping to see a report from you that looks something close to this (only your data output will differ slightly):

LEFT

0004 0004 000c0044
0001 0069 00000001
0000 0000 00000000
0004 0004 000c0044
0001 0069 00000000
0000 0000 00000000

UP

0004 0004 000c0042
0001 0067 00000001
0000 0000 00000000
0004 0004 000c0042
0001 0067 00000000
0000 0000 00000000

RIGHT

0004 0004 000c0045
0001 006a 00000001
0000 0000 00000000
0004 0004 000c0045
0001 006a 00000000
0000 0000 00000000

etc.

@thehijacker
Copy link

Hello,

Got it. But under event5 I got no reply. I tried all event paths and only event4 showned following for all the keys.

Left navigation

0004 0004 000c0044
0001 0069 00000001
0000 0000 00000000
0004 0004 000c0044
0001 0069 00000000
0000 0000 00000000

Right navigation

0004 0004 000c0045
0001 006a 00000001
0000 0000 00000000
0004 0004 000c0045
0001 006a 00000000
0000 0000 00000000

Up navigation

0004 0004 000c0042
0001 0067 00000001
0000 0000 00000000
0004 0004 000c0042
0001 0067 00000000
0000 0000 00000000

Down navigation

0004 0004 000c0043
0001 006c 00000001
0000 0000 00000000
0004 0004 000c0043
0001 006c 00000000
0000 0000 00000000

Middle OK button

0004 0004 000c0041
0001 0161 00000001
0000 0000 00000000
0004 0004 000c0041
0001 0161 00000000
0000 0000 00000000

Menu

0004 0004 000c0196
0001 0096 00000001
0000 0000 00000000
0004 0004 000c0196
0001 0096 00000000
0000 0000 00000000

Back

0004 0004 000c0224
0001 009e 00000001
0000 0000 00000000
0004 0004 000c0224
0001 009e 00000000
0000 0000 00000000

Circle

0004 0004 000c0223
0001 00ac 00000001
0000 0000 00000000
0004 0004 000c0223
0001 00ac 00000000
0000 0000 00000000

Volume up

IR my Logitech speakers

Volume down

IR my Logitech speakers

This is how remote control looks like:

image

@PRProd
Copy link
Owner Author

PRProd commented Jun 1, 2023

Interesting. Those are the same as what Firemote already uses... and in your original post, there was no "event4". I think I know what is happening.

First, press some navigation buttons on your physical remote control to make sure that your 4K stick is responding to the physical remote. Next, set the compatibility mode to event4, and check to see if your Firemote controls work or not.

@PRProd
Copy link
Owner Author

PRProd commented Jun 3, 2023

@thehijacker - Have you had a chance to try this yet?

@thehijacker
Copy link

Oh sorry again for the late reply. Yes with event4 and having a selected Android remote, all keys are working:

image

Does this make sense or it is not consistent with the adb shell dumpsys input command?

@PRProd
Copy link
Owner Author

PRProd commented Jun 5, 2023

Does it work if you follow my instructions and DON'T select an Android Remote entity?

@thehijacker
Copy link

Nope. It does not work without Android Remote entity. Also kids lost the remote and I wanted to switch using Firemote but none keys were working again. Something strange is happening. I will try to find more time to test.

@PRProd
Copy link
Owner Author

PRProd commented Jun 5, 2023

@thehijacker - I appreciate any testing that you are able to do. The behavior you describe does seem rather strange, so I would like to get to the bottom of why it is happening. It is also possible that this specific device behaves like the NVIDIA shield where the commands for navigation, home, back, and the app menu button will only work in the "strong" mode. I'm not convinced that's the case though, since their Mi Box product works well this way. I'm not ready to give up on this, if you are willing to continue to work with me on it.

In the meantime, ABSOLUTELY use Firemote to control your device, and select an Android Remote Entity. Kids running off with remotes seems to be the number one answer when people ask "Why the heck would I need this card?" ...the 2nd and 3rd answers are "because I'm too lazy to reach for the remote / my phone is already in my hand" and for those with NVIDIA Shield devices, "the Find my remote feature is perfect!"

I can help guide you through some testing steps if you'd like. We could meet up in a chat room too if our schedules permit, and collaborate in real time.

@PRProd PRProd added the Needs More Information Cannot continue resolution of this issue without more information label Jun 12, 2023
@PRProd
Copy link
Owner Author

PRProd commented Jun 27, 2023

@thehijacker - Have you been able to come up with any new information for me about this?

@thehijacker
Copy link

Sorry about this. Could not find time and we are on vacation now. Will be back next week. We can do live chat over Telegram, Whatsapp, Skype, etc. to speed this up :)

@PRProd
Copy link
Owner Author

PRProd commented Oct 23, 2023

@thehijacker - Hello! I haven't forgotten about you!

I want to get back to this issue if you still have some patience for me.

We should schedule a remote session that would allow me to control your computer, and somehow also see what is happening on your TV/Xiaomi Stick through a webcam. We could also try a remote session with only a webcam aimed at your TV if you happen to have remote access for your Home Assistant enabled and you trust me enough to log into it.

@thehijacker
Copy link

I would have pushed this further if I still used the 4K stick. Switched to new STB we are implementing at work for production use and stick is somewhere in drawer. Maybe we can do this once the tests are complete and I connect the stick again to TV. A months or so? I am suprised there are not many others with this devices. They are quite cheap and work great.

@PRProd
Copy link
Owner Author

PRProd commented Oct 24, 2023

@thehijacker - If you're not using it right now, would you consider mailing it to me? I would send it back when I'm done testing with it.

It's OK if you'd rather wait, I just feel bad for taking so much time to get back to this.

@thehijacker
Copy link

Where are you from? Europe?

@PRProd
Copy link
Owner Author

PRProd commented Oct 24, 2023

United States

@thehijacker
Copy link

thehijacker commented Oct 24, 2023

Shipping from EU to USA is higher then device itself. Maybe someone else has same model and will come forward.

Or we can schedule online next week. I have some free days planned.

@PRProd
Copy link
Owner Author

PRProd commented Nov 22, 2023

@thehijacker ~ Do you use Discord? https://discord.gg/x265nrba

PRProd added a commit that referenced this issue Nov 28, 2023
v3.1.2b1

Beta Testing Requested For:
 - Xiaomi TV Stick 4K (#117)
 - Stick uses new remote style XM1 w/Patchwall (#117)
 - App Launcher for YouTube ReVanced (#262)
@PRProd
Copy link
Owner Author

PRProd commented Nov 28, 2023

@thehijacker ~

I learned something recently after Amazon released their two newest Firesticks. I learned that sometimes, the "Strong Slow" is the only option when using ADB commands. The good news is that you've shown me that the Android TV Remote Integration works for the Xiaomi TV Stick 4K, so that's great!

With that in mind, I've just released Firemote version v3.1.2b1 for you to download and test. I'd like for you to confirm some things for me:

  1. Does the Firemote work completely (but slowly) when set to Default Compatibility Mode without an Android TV Remote Entity selected?
  2. Does the Firemote work completely (but faster) when set to Default Compatibility Mode with an Android TV Remote Entity Selected?
  3. Is the button to the left of the Back button on the physical remote supposed to launch PatchWall on that model?
  4. If so, does the PatchWall button I made properly launch PatchWall?

Please let me know your findings as soon as you can. Thanks!

PRProd added a commit that referenced this issue Nov 29, 2023
v3.1.2b2

New Beta Testing Requested For:
 - German language support (#264)
 - App Launcher for Joyn (#234)

Beta Testing Feedback Still Pending For:
 - Xiaomi TV Stick 4K (#117)
 - Stick uses new remote style XM1 w/Patchwall (#117)
 - App Launcher for YouTube ReVanced (#262)

What's New:
 - Modified Visual Editor flow
   - Change in family requires enforces change in device
   - Null device name truncates options until supplied
   - Removed compatibility mode menu where un-needed
 - App launcher for Downloader
@PRProd PRProd closed this as completed in a37b65e Nov 29, 2023
@PRProd
Copy link
Owner Author

PRProd commented Nov 29, 2023

@thehijacker ~

I published these changes to the official release version v3.1.2 today, and closed this issue. I'm hoping that I did this all correctly... It's hard to know for sure because I do not own this device, so please comment here if there is something wrong or anything additional that needs to be done, and I will take another look.

Thank you! Enjoy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Needs More Information Cannot continue resolution of this issue without more information New Device Support Request to add support of a currently unsupported Amazon Fire device
Projects
None yet
Development

No branches or pull requests

2 participants