Bluetooth Geräte Erkennung durch Openhab

  • hi

    Mein Vorhaben: Habe einen LMS-Server aufgesetzt, mit diversen Lautsprechern (Wlan und Bluetooth) und es dann im Openhab integriert per Squeezebox-Binding - Funktioniert alles. Jetzt möchte ich es natürlich automatisieren, Box wird eingeschaltet, ein z.B Radiosender wird abgespielt. Problematik ist, daß die einzelnen Squeezebox-Player sobald der Squeezebox-Server online ist (also immer) auch als online von Openhab angezeigt werden, egal ob sie an sind oder nicht. Bei Wlan-Lautsprechern kann ich dies per Network-Binding regeln, also wenn Wlan-Lautsprecher ist pingable, dann spiele einen Radiosender ab und auch das funktioniert.

    Nun aber direkt zu meinem Problem: Die Bluetooth-Boxen
    Dachte, mit dem Bluetooth-Binding könnte ich auch meine Bluetooth-Boxen automatisieren, leider kommt dann folgende Fehlermeldung


    habe natürlich schon ein wenig recherchiert und folgendes gefunden:
    1. Generell: Laut Addon-Wiki

    Please note that at least BlueZ 5.43 is required, while 5.48 or above are not (yet)support either

    Habe aber Bluez 5.48 installiert und kann per apt auch nicht downgraden (nur neu kompileren, weis dann aber nicht, wie sich dies auf die ganze Bluetooth-Umgebung auswirkt)

    2. tinyb-Problem: Es gibt so einige mit meinem Problem, sehr gut hier beschrieben. Laut openhab habe ich tinyb (libs) nicht installiert

    Code
    openhab> bundle:list | grep -i blue
    257 │ Active │  80 │ 2.5.3                   │ openHAB Add-ons :: Bundles :: Bluetooth Binding
    258 │ Active │  80 │ 2.5.3                   │ openHAB Add-ons :: Bundles :: BlueGiga Bluetooth Adapter
    259 │ Active │  80 │ 2.5.3                   │ openHAB Add-ons :: Bundles :: BlueZ Bluetooth Adapter
    260 │ Active │  80 │ 2.5.3                   │ openHAB Add-ons :: Bundles :: Blukii Bluetooth Adapter
    261 │ Active │  80 │ 2.5.3                   │ openHAB Add-ons :: Bundles :: RuuviTag Bluetooth Adapter
    openhab> bundle:list | grep -i tinyb
    openhab>

    weis auch nicht, wie ich das machen kann ?(


    Kann mir jemand weiter helfen bzw. gibt es eine Alternative zum Bluetooth-Binding, um eine Rule zu erstellen ?

    Tschau nepo

  • Habe jetzt nochmal weiter geschaut und folgendes in Bezug auf tinyb gefunden: Anleitung1 Anleitung2
    Finde aber nicht den Pfad: /usr/lib/jvm/...

    Vielleicht jetzt jemand ? :rolleyes:

  • ... weiter mit meinem Selbstgespräch ;)

    Bin nun dieser Anleitung gefolgt und es funktioniert :D
    Man muß die 5.43 Version von Bluez installieren und die beiden tinyb Bibliotheksdateien an der richtigen stelle kopieren !
    Anmerkung: Natürlich muß man für seine Hardware/OS die passenden Dateien (zur Not selber compilieren z.B. wie hier) benutzen und es macht dann natürlich Sinn, das Bluez-Paket auf hold zu setzen, sonst muß man bei einem upgrade es wieder per Anleitung downgraden. In meinem Fall (Ubuntu) mit
    sudo apt-mark hold bluez

    Nach einem Reboot wird mein Bluetooth-Controller auch als Bluetooth Bluez Adapter erkannt (braucht nicht mehr extra konfiguriert werden, Voraussetzung natürlich das Bluetooth-Binding ist installiert) und wird als Bridge genutzt.Nun kann man die einzelnen Bluetooth-Boxen als things in Verbindung mit der Bridge integrieren. Ich benutze als Thing

    Connected Bluetooth Device
    A generic Bluetooth device in connected-mode

    Für mich brauchte ich auch keine Channels/Items aktivieren, da ich für meine Rules nur die Änderung des thing-Status nutze (online/offline)

    Code
    2020-03-29 10:55:30.713 [hingStatusInfoChangedEvent] - 'bluetooth:connected:097dac88' changed from OFFLINE: Device is not connected. to ONLINE
    2020-03-29 10:55:30.716 [.event.RuleStatusInfoEvent] - 7e831cf1-2cfa-4228-be62-b197b3a3a198 updated: RUNNING
    2020-03-29 10:55:30.738 [ome.event.ItemCommandEvent] - Item 'Badradio_PlayAFavorite' received command 0.0
    2020-03-29 10:55:30.756 [ome.event.ItemCommandEvent] - Item 'Badradio_Volume' received command 5
    2020-03-29 10:55:30.759 [.event.RuleStatusInfoEvent] - 7e831cf1-2cfa-4228-be62-b197b3a3a198 updated: IDLE
    2020-03-29 10:55:30.762 [nt.ItemStatePredictedEvent] - Badradio_PlayAFavorite predicted to become 0.0
    2020-03-29 10:55:30.778 [nt.ItemStatePredictedEvent] - Badradio_Volume predicted to become 5
    2020-03-29 10:55:30.795 [vent.ItemStateChangedEvent] - Badradio_Volume changed from 38 to 5

    Bevor jetzt jemand nach der rule fragt, ich nutze rules.ng.

    Kleiner Wermutstropfen, openhab scheint durch das Bluetooth-Binding (discovery) viel zu loggen, obwohl ich in der Konfiguration des Bindings discovery ausgeschaltet habe

    Spoiler anzeigen


    2020-03-29 10:39:50.470 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:48d0cf191f83' has been added.
    2020-03-29 10:39:50.482 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:404dcb8ffbe7' has been added.
    2020-03-29 10:39:50.495 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:68dc2753d0b8' has been added.
    2020-03-29 10:39:50.509 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:5d6e8dd95937' has been added.
    2020-03-29 10:39:50.520 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:41dfb03a9a9a' has been added.
    2020-03-29 10:41:10.814 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:404dcb8ffbe7' has been removed.
    2020-03-29 10:43:41.551 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:5d6e8dd95937' has been removed.
    2020-03-29 10:43:51.623 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:41dfb03a9a9a' has been removed.
    2020-03-29 10:44:21.787 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:5d6e8dd95937' has been added.
    2020-03-29 10:44:21.805 [home.event.InboxAddedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:41dfb03a9a9a' has been added.
    2020-03-29 10:44:21.835 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:48d0cf191f83' has been removed.
    2020-03-29 10:44:30.517 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:68dc2753d0b8' has been removed.
    2020-03-29 10:49:47.631 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:5d6e8dd95937' has been removed.
    2020-03-29 10:49:47.639 [me.event.InboxRemovedEvent] - Discovery Result with UID 'bluetooth:beacon:hci0:41dfb03a9a9a' has been removed.

    2020-03-29 10:39:50.469 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:48d0cf191f83' to inbox.
    2020-03-29 10:39:50.481 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:404dcb8ffbe7' to inbox.
    2020-03-29 10:39:50.494 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:68dc2753d0b8' to inbox.
    2020-03-29 10:39:50.508 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:5d6e8dd95937' to inbox.
    2020-03-29 10:39:50.520 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:41dfb03a9a9a' to inbox.
    2020-03-29 10:44:21.786 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:5d6e8dd95937' to inbox.
    2020-03-29 10:44:21.800 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'bluetooth:beacon:hci0:41dfb03a9a9a' to inbox.


    Ebenso scheint es mit Bluetoothctl zu sein, obwohl "scan off"

    Spoiler anzeigen


    scan off
    Failed to stop discovery: org.bluez.Error.Failed
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -91
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -86
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -88
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -92
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -78
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -94
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -78
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -77
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -77
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -87
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -89
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -77
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -85
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Key: 0x004c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x0c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x0e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x00
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xb5
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x09
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x8c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xb9
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x5a
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x98
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x53
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xd2
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x49
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xf9
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x72
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x2b
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xcc
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x10
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x06
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x4b
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x1e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xc6
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x12
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xda
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x05
    [DEL] Device 5D:1C:85:8D:6D:D8 5D-1C-85-8D-6D-D8
    [DEL] Device 60:27:84:76:AC:0F 60-27-84-76-AC-0F
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -91
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -85
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Key: 0x004c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x10
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x06
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x4b
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x1e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xc6
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x12
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xda
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x09
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -91
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -86
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -89
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -92
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -87
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -84
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Key: 0x004c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x10
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x06
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x03
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x1e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xc6
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x12
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xda
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x09
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -72
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -91
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -84
    [NEW] Device 4B:EC:1C:DC:C1:60 4B-EC-1C-DC-C1-60
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -92
    [CHG] Device 4B:EC:1C:DC:C1:60 RSSI: -88
    [CHG] Device 4B:EC:1C:DC:C1:60 RSSI: -92
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -72
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 4B:EC:1C:DC:C1:60 RSSI: -89
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 4B:EC:1C:DC:C1:60 RSSI: -89
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -69
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -86
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Key: 0x004c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x0c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x0e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x00
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xb6
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x09
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x23
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x6e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xab
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x85
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x1c
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x9d
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x5d
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x22
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x51
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xb0
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x89
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x10
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x06
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x4b
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x1e
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xc6
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x12
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0xda
    [CHG] Device 6E:F9:91:BB:E8:27 ManufacturerData Value: 0x09
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -86
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -92
    [CHG] Device 4B:EC:1C:DC:C1:60 RSSI: -87
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -89
    [CHG] Device 6E:F9:91:BB:E8:27 RSSI: -90
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -77
    [CHG] Device 64:5B:04:76:2C:0E RSSI: -90
    [CHG] Device 48:D0:CF:19:1F:83 RSSI: -76


    Viele Bluetooth-Geräte im Mietshaus ... :D


    Tschau nepo

    Nachtrag Betreff Wermutstropfen
    Das "viele" Loggen wird nicht durch das Binding selbst hervor gerufen, sondern durch einen Systemdienst: btspeaker-monitor
    Durch diesen Dienst ist es möglich, mehrere BT-Speaker mit nur einer Squeezelite-Instanz zu verbinden, die dann im LMS als eigenständiger Player verwendet werden können - nette Sache siehe hier

    Einmal editiert, zuletzt von nepo (31. März 2020 um 20:36)

  • hi

    Selbstgespräch Teil 2 ;)
    Prinzipiell funktioniert die Vorgehensweise im Post 3, aber leider kam es immer wieder zu Aussetzern bei der Musikwiedergabe. Keine Ahnung, woran es lag. Aus diesem Grunde bin ich einer anderen Idee gefolgt :
    l2ping in Verbindung mit dem EXEC Binding
    Aus diesem Grunde habe ich auch den Thread-Titel geändert

    Da ich selbst immer wieder auf Probleme gestoßen bin, möchte ich hier mal selbst eine kleine Anleitung schreiben.
    (Das Script und Teile der Anleitung habe ich aus diesem Tutorial )

    Folgendes Sript ist zu erstellen


    Ausführbar machen
    sudo chmod a+x /speicherort/des/Scripts/bt.sh
    und testen mit
    sudo ./bt.sh x (x=Gerätenummer)
    Es sollte dann so etwas herauskommen

    Code
    nepo@orangepi:~$ sudo ./bt.sh 1
    ON
    nepo@orangepi:~$ sudo ./bt.sh 2
    OFF
    nepo@orangepi:~$

    bt_Geraet1 ist connected, bt_Geraet2 ist nicht connected

    Anmerkung: In meinem Fall ist der Bluetooth-Controller auf dem openhab-server installiert, falls dies bei jemand anders sein sollte, muß zusätzlich noch ein Script auf dem openhab-server erstellt werden, mit dem das open genannte Script angestoßen wird. Siehe dazu oben verlinkte Anleitung.

    Kleine Vorarbeit, bevor wir nun zu Openhab2 kommen:
    Wie oben gesehen, muß das Script bzw. l2ping mit root Rechten ausgeführt werden, ansonsten kommt es zu falschen Ergebnissen, aber der Openhab User (in meinem Fall opernhab) hat keine root Rechte. In manchen Foren-Beiträgen wurde vorgeschlagen, den Nutzer openhab in der Gruppe root zu integrieren. Aus Sicherheitsgründen wollte ich nicht so vorgehen und ändere aus diesem Grunde nur die sudoers-Datei
    Wichtig :!: Die sudoers-datei nie direkt ändern, sonder nur mit visudo, da man sonst bei fehlerhaften Einträgen sein ganzes System zerschießt !!!

    sudo visudo

    Wie man sieht, habe ich am Ende folgendes eingetragen

    Code
    openhab ALL=(ALL) NOPASSWD: /home/nepo/bt.sh

    Ich erlaube damit dem User openhab, das Script bt.sh mit root Rechten auszuführen ohne das der user dafür das root Passwort benutzen muß.

    Nun zu Openhab:

    Es muß folgendes Binding installiert werden exec-Binding, ebenfalls den RegEx Transformation Service
    Laut dem Wiki

    For security reasons all commands need to be whitelisted.Allowed commands need to be added to the misc/exec.whitelist file in the configuration directory.Every command needs to be on a separate line.

    Dies kann man u.a. mit Visual studio Code erledigen. So sieht es bei mir aus

    Code
    #meine exec.whitelist
    
    
    # For security reasons all commands that are used by the exec binding or transformation need to be whitelisted.
    # Every command needs to be listed on a separate line below.
    
    
    sudo /home/nepo/bt.sh 1
    sudo /home/nepo/bt.sh 2
    sudo /home/nepo/bt.sh 3

    Nun erstellen wir unsere Thing(s) für die einzelnen BT-Geräte (mache dies mit PaperUI), wie gehabt Inbox - auf + drücken und dann das Exec Binding / Befehl auswählen


    Wir müssen dort nur unter Befehl unseren Befehl einfügen
    sudo /home/nepo/bt.sh 1 Wobei die 1 natürlich wieder für die Gerätenummer des ersten BT-Gerätes steht, 2 für das zweite usw. . Des weiteren sollte man noch das Zeitintervall bestimmen, ich habe 5 sec gewählt (l2ping braucht auch seine Zeit)und das war es. Danach wählen wir als Channel noch Rückgabewert aus ( Im Script festgelegt mit on/off). Dies machen wir nun für alle Bluetooth-Geräte.

    Das Openhab Log sieht dann so aus


    Code
    ==> /var/[definition='1','0']log[/definition]/openhab2/events.[definition='1','0']log[/definition] <==
    2020-04-03 17:52:32.633 [vent.ItemStateChangedEvent] - Btspeaker_Online changed from OFF to ON
    2020-04-03 17:53:01.087 [vent.ItemStateChangedEvent] - Btspeaker_Online changed from ON to OFF

    Mit diesem Ergebnis kann man nun seine Rules erstellen.

    Vielleicht hilft dies jemandem !

    Tschau nepo

    2 Mal editiert, zuletzt von nepo (3. April 2020 um 18:12)

  • Hi

    Selbstgespräch Teil 3 (man könnte meinen, aller guten Dinge sind drei, aber bei weitem nicht ;( )
    Die im Post 4 vorgestellte Variante mit l2ping funktioniert wie bereits erwähnt. Leider mußte ich feststellen, es auch hier wieder zu Tonaussetzern, rucklern usw. kam.
    Wollte aber nicht aufgeben und habe eine neue Variante gesucht und gefunden: Log Reader Binding
    Mache es kurz: Auch hier funktioniert es: Das Binding liest das syslog und gibt aus, wenn ein BT-Speaker (Mac-Adresse) connected wird und somit kann man dann eine Rule erstellen. Aber auch hier kam es wieder zu den oben genannten Problemen spätestens beim Aktivieren eines zweiten Lautsprechers (Thing)
    Meine (nicht professionelle) Theorie ist, das durch das stetige senden von Befehlen (l2ping alle 5sec und Logreader jede Sekunde für jeweils einen Lautsprecher) das System/Hardware überfordert ist (sieht zwar laut htop nicht so aus, aber ...).
    So das war es erst mal mit openhab und BT-Lautsprecherautomatisierung :wacko:
    (obwohl ich einiges wieder dazu gelernt habe und werde z.B. das exec- bzw. das Log Reader Binding mit Sicherheit anderweitig nutzen)

    Jetzt wird es ein wenig Offtopic !
    Nicht der Weg ist bei mir das Ziel, sondern wirklich das Ziel ;)
    Mein Vorhaben ist, das wenn ich ein Bt-Speaker im Zusammenspiel mit LMS einschalte, ein bestimmter z.B. Radiosender (Favorit) abgespielt wird - nicht verwechseln mit 'der zuletzt abgespielt wurde'. Gibt es dafür im LMS ein Addon, Script ..., das dies bewerkstelligt ? Habe schon ein wenig mit den Player-Einstellungen von LMS rumgespielt und auch in den Plugins gesucht - Leider funktioniert nichts !

    Weiss jemand Rat ?

    tschau nepo

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!