mrbungle64 / ioBroker.switchbot-ble

Control your SwitchBot "Bot" and monitor SwitchBot "Meter", "Contact" and "Motion" via Bluetooth (BLE)
MIT License
5 stars 1 forks source link

Switchbot Curtains (Rod 2) werden gefunden, jedoch reagieren sie nicht auf Änderungen in den Datenpunkten. #215

Open xXGrEyXx opened 2 years ago

xXGrEyXx commented 2 years ago

Is there an existing issue for this?

The problem

Hallo!

Erst mal vielen Dank für den Adapter! Ich kann ihn starten, der Adapter wird grün und findet auch alle Curtains (rod2). Jedoch bewirkt eine Änderung der Datenpunkte (alle ausprobiert) nichts. Ich bekomme auch kein ack. Offenbar werden die Datenpunkte auch nach dem hinzufügen nicht mehr aktualisiert. Bluetooth über den Dongle scheint zu funktionieren, ich kann mir problemlos Daten zum Smartphone senden.

Ich habe das Gefühl ich übersehe etwas...

System: ioBroker auf intel NUC7 i3, Bluetooth per USB Dongle "Asus USB BT500" Firmware Switchbot Curtains: V4.4

Vielen Dank im Voraus!

image

Version of the JS controller

4.0.23

Version of Node.js

v14.20.1

Operating system

Linux

Anything in the logs that might be useful?

MAC VOM CURTAIN DURCH **** ERSETZT

Erst Versuch Close Befehl zu senden, dann Position.

2022-10-03 13:40:10.603 - silly: switchbot-ble.1 (66641) States user redis pmessage switchbot-ble.1.*/switchbot-ble.1.****.control.close:{"val":true,"ack":false,"ts":1664797210600,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1664797210600}
2022-10-03 13:40:10.604 - debug: switchbot-ble.1 (66641) [onStateChange] state switchbot-ble.1.****.control.close changed: true (ack = false)
2022-10-03 13:40:10.605 - debug: switchbot-ble.1 (66641) [onStateChange] received command: 'close'
2022-10-03 13:40:10.606 - silly: switchbot-ble.1 (66641) [startCommandInterval] starting command interval
2022-10-03 13:40:10.606 - debug: switchbot-ble.1 (66641) [commandQueue] Added command close to the queue (1)
2022-10-03 13:40:12.025 - warn: switchbot-ble.1 (66641) [botAction] Will try again (1/5) executing 'close' for SwitchBot Curtain (*****): Discover deviceList is empty!
2022-10-03 13:40:12.276 - debug: switchbot-ble.1 (66641) [setIsBusy] busy: true
2022-10-03 13:40:15.279 - warn: switchbot-ble.1 (66641) [botAction] Will try again (2/5) executing 'close' for SwitchBot Curtain (f9:e5:e3:a6:c3:1b): Discover deviceList is empty!
2022-10-03 13:40:15.531 - debug: switchbot-ble.1 (66641) [setIsBusy] busy: true
2022-10-03 13:40:18.534 - warn: switchbot-ble.1 (66641) [botAction] Will try again (3/5) executing 'close' for SwitchBot Curtain (****): Discover deviceList is empty!
2022-10-03 13:40:18.785 - debug: switchbot-ble.1 (66641) [setIsBusy] busy: true
2022-10-03 13:40:18.802 - debug: switchbot-ble.1 (66641) [botAction] connecting to SwitchBot Curtain (*****) for executing command 'close'
2022-10-03 13:43:58.700 - silly: switchbot-ble.1 (66641) States user redis pmessage switchbot-ble.1.*/switchbot-ble.1.****.control.runToPos:{"val":100,"ack":false,"ts":1664797438697,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1664797438697}
2022-10-03 13:43:58.702 - debug: switchbot-ble.1 (66641) [onStateChange] state switchbot-ble.1.*****.control.runToPos changed: 100 (ack = false)
2022-10-03 13:43:58.702 - debug: switchbot-ble.1 (66641) [onStateChange] received command: 'runToPos'
2022-10-03 13:43:58.703 - debug: switchbot-ble.1 (66641) [commandQueue] Added command runToPos to the queue (2)

Additional information

No response

mrbungle64 commented 2 years ago

Hallo @xXGrEyXx

hast Du zufällig parallel den BLE-Adapter in Betrieb?

xXGrEyXx commented 2 years ago

Hallo @mrbungle64 Nein, bzw. Läuft die Instanz nicht gleichzeitig. Ich hatte den BLE Adapter nur zum Test ob er grün wird installiert.

mrbungle64 commented 2 years ago

@xXGrEyXx

Hast du schon mal in den Adapter Einstellungen ein paar andere Werte ausprobiert?

xXGrEyXx commented 2 years ago

@mrbungle64

Erst Mal Dankeschön dass Du dich an einem Feiertag um meine Probleme kümmerst!

Ja. Habe ich gerade noch Mal systematisch wiederholt, keine Veränderung. Was hast diese Meldung zu bedeuten? ` switchbot-ble.1 2022-10-03 14:33:56.713 warn [botAction] error while running 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!: Discover deviceList is empty!

`

mrbungle64 commented 2 years ago

@mrbungle64

Erst Mal Dankeschön dass Du dich an einem Feiertag um meine Probleme kümmerst!

Ja. Habe ich gerade noch Mal systematisch wiederholt, keine Veränderung. Was hast diese Meldung zu bedeuten? `

switchbot-ble.1 2022-10-03 14:33:56.713 warn [botAction] error while running 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!: Discover deviceList is empty! `

Das bedeutet quasi, dass das zu steuernde Gerät nicht (mehr) gefunden wird.

Hast du die Einstellung "Wartezeit um den zu steuernden Bot zu finden (Sekunden)" mal auf 10 Sek. gestellt?

xXGrEyXx commented 2 years ago

Ja, hier mit folgenden Parametern:

`

switchbot-ble.1 2022-10-03 15:00:59.462 debug Init maxRetriesDeviceAction: 5
switchbot-ble.1 2022-10-03 15:00:59.462 debug Init pressDevicesWait: 10000
switchbot-ble.1 2022-10-03 15:00:59.461 debug Init scanDevicesWait: 10000
switchbot-ble.1 2022-10-03 15:00:59.461 debug Init interval: 5000

`

Führt zu diesem Ergebnis:

`

switchbot-ble.1 2022-10-03 14:59:11.857 error [botAction] max. retries (5) reached. Giving up ...
switchbot-ble.1 2022-10-03 14:59:11.857 warn [botAction] error while running 'close' for SwitchBot Curtain (c7:***): Discover deviceList is empty!: Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:59:01.853 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:59:01.601 warn [botAction] Will try again (5/5) executing 'close' for SwitchBot Curtain (c7:***): Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:58:51.598 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:51.347 warn [botAction] Will try again (4/5) executing 'close' for SwitchBot Curtain (c7:***): Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:58:41.342 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:41.091 warn [botAction] Will try again (3/5) executing 'close' for SwitchBot Curtain (c7:***): Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:58:31.088 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:30.837 warn [botAction] Will try again (2/5) executing 'close' for SwitchBot Curtain (c7:***): Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:58:20.834 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:20.582 warn [botAction] Will try again (1/5) executing 'close' for SwitchBot Curtain (c7:***"): Discover deviceList is empty!
switchbot-ble.1 2022-10-03 14:58:10.579 silly [startCommandInterval] stopping command interval
switchbot-ble.1 2022-10-03 14:58:10.579 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:10.579 debug [setIsBusy] busy: true
switchbot-ble.1 2022-10-03 14:58:10.478 debug [commandQueue] Added command close to the queue (1)
switchbot-ble.1 2022-10-03 14:58:10.478 silly [startCommandInterval] starting command interval
switchbot-ble.1 2022-10-03 14:58:10.478 debug [onStateChange] received command: 'close'

`

mrbungle64 commented 2 years ago

@xXGrEyXx

Probier mal bitte mit der eben veröffentlichten Beta: https://github.com/mrbungle64/ioBroker.switchbot-ble/tree/beta

Ich habe da mal auf die aktuelle Beta von der verwendeten Library upgedated.

xXGrEyXx commented 2 years ago

Leider ohne Erfolg: `

switchbot-ble.0 2022-10-03 15:50:33.256 error [botAction] max. retries (5) reached. Giving up ...
switchbot-ble.0 2022-10-03 15:50:33.255 warn [botAction] error while running 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!: Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:50:22.999 warn [botAction] Will try again (5/5) executing 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:50:12.744 warn [botAction] Will try again (4/5) executing 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:50:02.489 warn [botAction] Will try again (3/5) executing 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:49:52.234 warn [botAction] Will try again (2/5) executing 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:49:41.980 warn [botAction] Will try again (1/5) executing 'close' for SwitchBot Curtain (f9:***): Discover deviceList is empty!
switchbot-ble.0 2022-10-03 15:48:58.870 info [scanDevices] device detected: SwitchBot Curtain (d2:***)
switchbot-ble.0 2022-10-03 15:48:54.012 info [scanDevices] device detected: SwitchBot Curtain (f9:***)
switchbot-ble.0 2022-10-03 15:48:54.001 info [scanDevices] device detected: SwitchBot Curtain (d0:***)
switchbot-ble.0 2022-10-03 15:48:48.753 info Set the NOBLE_HCI_DEVICE_ID environment variable to 0 (hci0)
switchbot-ble.0 2022-10-03 15:48:48.740 info starting. Version 0.4.5-beta.0 (non-npm: mrbungle64/ioBroker.switchbot-ble#beta) in /opt/iobroker/node_modules/iobroker.switchbot-ble, node: v14.20.1, js-controller: 4.0.23

`

mrbungle64 commented 2 years ago

@xXGrEyXx

sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

Hattest du das (noch mal erneut) ausgeführt?

Ansonsten könnte ich mir auch vorstellen, dass die Rod 2 Variante vom Curtain noch nicht (vollständig) von der Library unterstützt wird (daher auch schon mal der Versuch mit der Beta).

xXGrEyXx commented 2 years ago

@mrbungle64 Habe ich bei der Beta vergessen, jetzt nachgeholt, ändert leider nichts. Müsste ich daraufhin sudo setcap cap_net_raw+eip $(eval readlink -fwhich node) eine Ausgabe in der Shell bekommen?

mrbungle64 commented 2 years ago

@mrbungle64 Habe ich bei der Beta vergessen, jetzt nachgeholt, ändert leider nichts. Müsste ich daraufhin sudo setcap cap_net_raw+eip $(eval readlink -fwhich node) eine Ausgabe in der Shell bekommen?

Nein, da kommt keine Ausgabe

xXGrEyXx commented 2 years ago

@xXGrEyXx

sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

Hattest du das (noch mal erneut) ausgeführt?

Ansonsten könnte ich mir auch vorstellen, dass die Rod 2 Variante vom Curtain noch nicht (vollständig) von der Library unterstützt wird (daher auch schon mal der Versuch mit der Beta).

Den Verdacht hab ich inzwischen auch. Habe sogar ein Kernel upgrade gemacht um den Dongle/Treiber als Ursache auszuschließen. Habe jetzt noch einen anderen Dongle bestellt und teste noch einmal. Ansonsten werde ich mich wohl gedulden und solange das unzuverlässige hub mini benutzen.

mrbungle64 commented 2 years ago

@xXGrEyXx

Ich habe mal nachgefragt 😉

https://github.com/OpenWonderLabs/node-switchbot/issues/158

mrbungle64 commented 2 years ago

@xXGrEyXx

ok, scheint wohl zu gehen. Dann schaue ich mir das möglichst bald mal an, dass wir der Problematik näher kommen 😉

xXGrEyXx commented 2 years ago

Danke Dir! Lass mich heute noch mit dem neuen Dongle experimentieren bevor Du Deine eigene Zeit investierst. Ich gebe Bescheid.

xXGrEyXx commented 2 years ago

Leider keine Änderung, Bluetooth Dongle scheint zu laufen:

hciconfig;hciconfig -a hci0;lsmod |grep bt;dmesg | grep tooth
hci0:   Type: Primary  Bus: USB
        BD Address: 00:E0:4C:25:13:12  ACL MTU: 1021:6  SCO MTU: 255:12
        UP RUNNING
        RX bytes:170454 acl:0 sco:0 events:5202 errors:0
        TX bytes:28105 acl:0 sco:0 commands:460 errors:0

hci0:   Type: Primary  Bus: USB
        BD Address: 00:E0:4C:25:13:12  ACL MTU: 1021:6  SCO MTU: 255:12
        UP RUNNING
        RX bytes:170454 acl:0 sco:0 events:5202 errors:0
        TX bytes:28105 acl:0 sco:0 commands:460 errors:0
        Features: 0xff 0xff 0xff 0xfe 0xdb 0xfd 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'ioBroker'
        Class: 0x3c0104
        Service Classes: Rendering, Capturing, Object Transfer, Audio
        Device Class: Computer, Desktop workstation
        HCI Version: 5.1 (0xa)  Revision: 0x999
        LMP Version: 5.1 (0xa)  Subversion: 0x646b
        Manufacturer: Realtek Semiconductor Corporation (93)

btusb                  65536  0
btrtl                  28672  1 btusb
btbcm                  24576  1 btusb
btintel                45056  1 btusb
btmtk                  16384  1 btusb
bluetooth             888832  46 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
usbcore               331776  6 xhci_hcd,usbhid,cdc_acm,btusb,xhci_pci
[    2.579602] usb 1-1: Product: Bluetooth Radio
[    4.354812] Bluetooth: Core ver 2.22
[    4.354856] Bluetooth: HCI device and connection manager initialized
[    4.354862] Bluetooth: HCI socket layer initialized
[    4.354866] Bluetooth: L2CAP socket layer initialized
[    4.354874] Bluetooth: SCO socket layer initialized
[    4.401807] Bluetooth: hci0: RTL: examining hci_ver=0a hci_rev=000b lmp_ver=0a lmp_subver=8761
[    4.402452] Bluetooth: hci0: RTL: rom_version status=0 version=1
[    4.402458] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
[    4.402810] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8761bu_fw.bin
[    4.402832] Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
[    4.402971] bluetooth hci0: firmware: direct-loading firmware rtl_bt/rtl8761bu_config.bin
[    4.402991] Bluetooth: hci0: RTL: cfg_sz 6, total sz 20522
[    4.513667] Bluetooth: hci0: RTL: fw version 0x0999646b
[    7.317150] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    7.317156] Bluetooth: BNEP filters: protocol multicast
[    7.317161] Bluetooth: BNEP socket layer initialized
[    9.181923] Bluetooth: RFCOMM TTY layer initialized
[    9.181931] Bluetooth: RFCOMM socket layer initialized
[    9.181938] Bluetooth: RFCOMM ver 1.11  '

Die Fehler sind die selben geblieben (Bin zurück auf Master statt beta, aber bei der beta das gleiche):

switchbot-ble.0 | 2022-10-08 14:39:40.889 | error | [botAction] max. retries (2) reached. Giving up ...
-- | -- | -- | --
switchbot-ble.0 | 2022-10-08 14:39:40.888 | warn | [botAction] error while running 'close' for SwitchBot Curtain (f9:*): Discover deviceList is empty!: Discover deviceList is empty!
switchbot-ble.0 | 2022-10-08 14:39:39.884 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-08 14:39:39.633 | warn | [botAction] Will try again (2/2) executing 'close' for SwitchBot Curtain (f9:*): Discover deviceList is empty!
switchbot-ble.0 | 2022-10-08 14:39:38.628 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-08 14:39:38.378 | warn | [botAction] Will try again (1/2) executing 'close' for SwitchBot Curtain (f9:*): Discover deviceList is empty!
switchbot-ble.0 | 2022-10-08 14:39:37.374 | silly | [startCommandInterval] stopping command interval
switchbot-ble.0 | 2022-10-08 14:39:37.373 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-08 14:39:37.372 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-08 14:39:37.273 | debug | [commandQueue] Added command close to the queue (1)
switchbot-ble.0 | 2022-10-08 14:39:37.272 | silly | [startCommandInterval] starting command interval
switchbot-ble.0 | 2022-10-08 14:39:37.271 | debug | [onStateChange] received command: 'close'
switchbot-ble.0 | 2022-10-08 14:39:37.271 | debug | [onStateChange] state switchbot-ble.0.f9:*.control.close changed: true (ack = false)

Die * sind von mir...

mrbungle64 commented 2 years ago

@xXGrEyXx

Hast du eigentlich auch noch andere Geräte von SwitchBot? Wäre dann interessant wie es bei denen ausschaut ...

Edit: Auch wäre interessant was in folgenden Datenpunkten eingetragen ist:

xXGrEyXx commented 2 years ago

Hallo @mrbungle64 ! Nein leider habe ich keine anderen Switchbot Geräte. Hier die Einträge aus der Device Info: Screenshot_20221015_091203_Samsung Internet

xXGrEyXx commented 2 years ago

Hier Mal ein neues Verhalten ohne dass der curtain tatsächlich aktiviert wird bis jetzt (9:18) ändert sich im Log nichts mehr:

switchbot-ble.0 | 2022-10-15 09:10:02.533 | debug | [botAction] connecting to SwitchBot Curtain (f9:*) for executing command 'runToPos' with given value 50
-- | -- | -- | --
switchbot-ble.0 | 2022-10-15 09:10:01.906 | silly | [startCommandInterval] stopping command interval
switchbot-ble.0 | 2022-10-15 09:10:01.903 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-15 09:10:01.902 | debug | [setIsBusy] busy: true
switchbot-ble.0 | 2022-10-15 09:10:01.801 | debug | [commandQueue] Added command runToPos to the queue (1)
switchbot-ble.0 | 2022-10-15 09:10:01.801 | silly | [startCommandInterval] starting command interval
switchbot-ble.0 | 2022-10-15 09:10:01.800 | debug | [onStateChange] received command: 'runToPos'
switchbot-ble.0 | 2022-10-15 09:10:01.800 | debug | [onStateChange] state switchbot-ble.0.f9:*.control.runToPos changed: 50 (ack = false)
switchbot-ble.0 | 2022-10-15 09:10:01.799 | silly | States user redis pmessage switchbot-ble.0.*/switchbot-ble.0.f9:*.control.runToPos:{"val":50,"ack":false,"ts":1665817801795,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1665817801795}
switchbot-ble.0 | 2022-10-15 09:09:13.074 | debug | [setIsBusy] busy: false
mrbungle64 commented 2 years ago

Hallo @mrbungle64 ! Nein leider habe ich keine anderen Switchbot Geräte. Hier die Einträge aus der Device Info: Screenshot_20221015_091203_Samsung Internet

Das sieht soweit in Ordnung aus ...

mrbungle64 commented 2 years ago

Hier Mal ein neues Verhalten ohne dass der curtain tatsächlich aktiviert wird bis jetzt (9:18) ändert sich im Log nichts mehr:

Das verstehe ich leider nicht wirklich was du mir damit sagen willst 😉

mrbungle64 commented 2 years ago

@xXGrEyXx

Hast du eigentlich die ganze Zeit den Hub Mini parallel laufen? Falls ja mach den bitte mal zum Testen aus und probier es noch mal mit dem Adapter

xXGrEyXx commented 2 years ago

@mrbungle64

Ja hatte ich. Soeben ohne hub alles neu gestartet, keine Änderung.

xXGrEyXx commented 2 years ago

Hier Mal ein neues Verhalten ohne dass der curtain tatsächlich aktiviert wird bis jetzt (9:18) ändert sich im Log nichts mehr:

Das verstehe ich leider nicht wirklich was du mir damit sagen willst wink

Um 9:10 Uhr stand im Log: switchbot-ble.0 | 2022-10-15 09:10:02.533 | debug | [botAction] connecting to SwitchBot Curtain (f9:*) for executing command 'runToPos' with given value 50 Danach änderte sich nichts mehr. Keine retries, kein timeout, keine warnung oder fehler. Als ob der Adapter hängen geblieben wäre.

mrbungle64 commented 2 years ago

Hier Mal ein neues Verhalten ohne dass der curtain tatsächlich aktiviert wird bis jetzt (9:18) ändert sich im Log nichts mehr:

Das verstehe ich leider nicht wirklich was du mir damit sagen willst wink

Um 9:10 Uhr stand im Log: switchbot-ble.0 | 2022-10-15 09:10:02.533 | debug | [botAction] connecting to SwitchBot Curtain (f9:*) for executing command 'runToPos' with given value 50 Danach änderte sich nichts mehr. Keine retries, kein timeout, keine warnung oder fehler. Als ob der Adapter hängen geblieben wäre.

Ah ok 9:10 Uhr. Hatte mit "9:18" nichts gefunden

mrbungle64 commented 2 years ago

@xXGrEyXx

Ich habe eben die 1.4.5 released. Habe die node-switchbot library dabei auf die aktuellste Version aktualisiert. Auch wenn die Chancen nicht gerade groß sind: schau mal bitte ob es damit nun besser funktioniert.

xXGrEyXx commented 2 years ago

@mrbungle64

Habe es gerade ausprobiert, leider ohne Erfolg... Vielen Dank für deine Mühe!

mrbungle64 commented 1 year ago

@xXGrEyXx

Ich habe eben die Version 1.4.6 released, wo mehrere Abhängigkeiten aktualisiert wurden. Vielleicht klappt ja diesmal ...

mrbungle64 commented 1 year ago

@xXGrEyXx

Bitte noch nicht installieren - die Werte werden mit dieser Version nicht (zuverlässig) aktualisiert. Eine der Abhängigkeiten scheint da einen Bug zu haben.