+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    Registriert seit
    Jan 2019
    Beiträge
    17

    Standard Raspi - Problem mit bluetooth Modul

    Hallo zusammen,

    ich habe IP-Symcon auf dem Raspi laufen und verwende das Modul SymconBTP, um die Anwesenheit von 2 Beacons (Gigaset G-tag) festzustellen. Für jedes Beacon habe ich eine separate Instanz laufen. Die Instanzen für das Modul habe ich so konfiguriert, das alle 30 Sekunden je ein LEScan durchgeführt wird. In einem separaten PHP Skript frage ich die Anwesenheit der Beacons ab und entscheide dann, ob die Anwesenheitssimulation (Lichtsteuerung) aktiv sein soll, oder nicht.

    PHP-Code:
    <?

    $Request1 = GetValue(57770);
    $Request2 = GetValue(40123);


    //echo $Request1;
    //echo $Request2;

    if ($Request1 == false and $Request2 == false) {
    echo "Anwesenheitssimulation soll aktiviert werden";
    AS_SetSimulation(21128, true);
    }

    else {
    echo "Anwesenheitssimulation soll nicht aktiviert werden";
    AS_SetSimulation(21128, false);
    }
    echo " - done";

    Dies klappt eine gewisse Zeit zuverlässig (ca. 1 Tag) ganz gut, aber dann passiert es immer wieder, dass sich das Scannen der Beacons "aufhängt". In diesem Zusatand funktioniert der Scan nicht mehr. Wenn ich per Terminal auf den Raspi zugreife und ein

    Code:
    hcitool lescan
    absetze, kommt folgender Fehler:

    "Set scan parameters failed: Input/output error".
    Erst wenn ich den Raspi neu boote, klappt der Scan wieder und das SymconBTP Modul erkennt die Beacons und liefert entsprechende Rückgabewerte.

    Mein bluetoothmodul ist per sudo apt get....auf dem folgenden Stand:

    pi@raspberrypi:~ $ sudo apt-get install bluetooth bluez-hcidump bluez blueman
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    blueman is already the newest version (2.0.4-1+b4).
    bluetooth is already the newest version (5.43-2+rpt2+deb9u2).
    bluez is already the newest version (5.43-2+rpt2+deb9u2).
    bluez-hcidump is already the newest version (5.43-2+rpt2+deb9u2).
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Hat vielleicht jemand eine Idee, wie ich das Problem loswerde und der Bluetooth LEScan dauerhaft zuverlässig funktioniert?

    Viele Grüße
    Uwe

  2. #2
    Registriert seit
    Jan 2019
    Beiträge
    17

    Mittlerweile habe ich mal das interne Bluetooth am Raspi deaktiviert und stattdessen einen USB Bluetooth Stick in Einsatz gebracht. Hat leider keinen Erfolg gebracht. Nach wie vor hängt sich der Bluetooth Scan nach einer gewissen Zeit auf. Der Bluetooth Stick leuchtet dauerhaft blau, was vermutlich bedeutet, dass der Scan ununterbrochen läuft und nicht nach ein paar Sekunden gekillt wird.
    Ist wirklich niemand da, der eine Idee hat?

    Ratlose Grüße
    Uwe

  3. #3
    Registriert seit
    Dec 2011
    Ort
    am Ende des Internets
    Beiträge
    330

    In meiner Beschreibung des "Parallelmodus" gibt es ein Skript HCIconfig.sh.

    Das rufe ich von IPS zu Beginn und zu Ende jedes Loops auf:

    PHP-Code:

    // Beim Start
                    
    switch ($_IPS['GenEv']) :
                        case 
    'Execute':
                        case 
    'ErstStart':
                            
    $handle HciConfig ('hci0''reset');  // Reset HCI device
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                            
    $handle HciConfig ('hci0''up');     // Interface öffnen
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                            
    break;
                        case 
    'BLE-WatchDog':
                            
    $handle HciConfig ('hci0''reset');  // Reset HCI device
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                            
    $handle HciConfig ('hci0''up');     // Interface öffnen
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                            
    break;
                        case 
    'Revolving':
                            
    $handle HciConfig ('hci0''up');     // Interface öffnen
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                            
    break;
                        default:
                            
    $handle HciConfig ('hci0''up');     // Interface öffnen
                            
    IPS_Sleep (100);   //  Wartezeit in Millisekunden
                    
    endswitch;





    // am Ende
                    
    if ($Scanausfall) {
                        
    $BeatObj HciConfig ('hci0''reset');  // Reset HCI device
                    
    } else {
                        
    $BeatObj HciConfig ('hci0''down');     // Interface schließen
                    
    }


    function 
    HciConfig ($Dev$Cmd ''$Par ''$SubPar '') {     // hciconfig [-a] hciX [command [command parameters]]
        
    global $SkriptDir$DatenDir$lSem;
        
    SetIPSsem ('BluHci');     // sudo hciconfig $1 $2 $3 $4 $5;
        
    exec ('sh ' $SkriptDir 'HCIconfig.sh' $Dev$Cmd$Par$SubPar " '> ' $DatenDir $Dev '.txt');
        if (
    $lSem Trace) {
            echo (
    "\nsh " $SkriptDir 'HCIconfig.sh -> sudo hciconfig' $Dev$Cmd$Par$SubPar " '> ' $DatenDir $Dev '.txt');
    //        echo ("\n/*\n" );
    //        echo (file_get_contents (($DatenDir . $Dev . '.txt')));
    //        echo ("\n*/\n" );
        
    }
        
    unSetIPSsem ('BluHci');

        
    $handle = @fopen ($DatenDir $Dev '.txt'"r");
        return 
    $handle;

    Ich hab mal auf die Schnelle alles aus meinem funktionierenden Skript rauskopiert. Was nicht in Deine Applikation paßt mußt Du eben rauslöschen.

    Mit diesem Öffnen zu Beginn und Schließen von hciconfig treten bei meinen Raspis keine Probleme auf, die laufen schon seit Wochen problemlos.

    Viele Grüsse
    Harald

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    108

    Ich habe auch Probleme mit dem SymconBTP Modul - hängt immer wieder.

    Aktuell teste ich gerade statt:
    Code:
    $handle = popen("stdbuf -oL hcitool -i hci0 lescan", "r");
    folgendes:
    Code:
    $handle = popen("stdbuf -oL timeout -s SIGINT 5s hcitool -i hci0 lescan --passive","r");
    Mal sehen, was die Zeit bringt. Vielleicht hat ja noch jemand Verbesserungen für das Modul.

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    108

    Hier mal eine kurze Zwischenmeldung....

    Seit der Änderung hatte ich keinen einzigen Hänger mehr.

    Grüße

  6. #6
    Registriert seit
    May 2013
    Beiträge
    355

    Hatte die Hänger auch und teste gerade Deine Änderung.

    Ich hätte grosses Interesse am Parallelmodus, aber leider ist der Thread sehr unübersichtlich geworden und mit Buster ist die Anleitung nicht mehr kompatibel.

    Sebastian

  7. #7
    Registriert seit
    Sep 2010
    Beiträge
    489

    Zitat Zitat von steppe Beitrag anzeigen
    Ich habe auch Probleme mit dem SymconBTP Modul - hängt immer wieder.

    Aktuell teste ich gerade statt:
    Code:
    $handle = popen("stdbuf -oL hcitool -i hci0 lescan", "r");
    folgendes:
    Code:
    $handle = popen("stdbuf -oL timeout -s SIGINT 5s hcitool -i hci0 lescan --passive","r");
    Mal sehen, was die Zeit bringt. Vielleicht hat ja noch jemand Verbesserungen für das Modul.
    Ist das schon im aktuellen Modul umgesetzt? Oder muss das in Symcon angepasst werden?

    Gesendet von meinem VOG-L29 mit Tapatalk
    Homematic, Homematic IP, FS20, IPS868 AKM EKM, 1-Wire, USB Sound, Sonos, IPSLibrary, Amazon Echo, XIAOMI Robosauger, WROX Mähroboter, IPS View, SynologyNAS, Surface als IPS Server

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    108

    Ich glaube nicht, dass das eingepflegt ist.
    Das musst du in der modul.php ändern.

    Grüße
    Stefan

  9. #9
    Registriert seit
    Sep 2010
    Beiträge
    489

    Habs im Modul angepasst und es läuft aktuell schon viel zuverlässiger als vorher. Seit der Änderung noch keinen Absturz.

    Sollen wir das noch an den Entwickler weiterleiten? Dann könnte man das gleich im Modul mit einpflegen.

    Danke für die Hilfe! Echt super dass das jetzt klappt.

    Jetzt folgen noch ein paar Test Tage und vergleiche mit dem IPS Tracker und wenn alles gut läuft werden die IPS Tracker ausgemustert.

    Gesendet von meinem VOG-L29 mit Tapatalk
    Homematic, Homematic IP, FS20, IPS868 AKM EKM, 1-Wire, USB Sound, Sonos, IPSLibrary, Amazon Echo, XIAOMI Robosauger, WROX Mähroboter, IPS View, SynologyNAS, Surface als IPS Server

  10. #10
    Registriert seit
    May 2013
    Beiträge
    355

    Bei mir läuft inzwischen der Quasselmodus. Perfekt. Schnell. Stabil. Beliebig erweiterbar auf vielen Scanner Pis. Ohne Symcon auf den Scannern.
    DarthWeber hat die meisten Komponenten geliefert. Danke dafür!
    Ich werde das in einem eigenen Thread zusammenfassen sobald ich Zeit finde.

    Sebastian

Ähnliche Themen

  1. [Modul] Bluetooth Presence (Linux Only)
    Von traxanos im Forum PHP-Module
    Antworten: 33
    Letzter Beitrag: 01.11.19, 22:16
  2. Problem mit Alexa Modul + Szenen
    Von dermarc im Forum Amazon Alexa
    Antworten: 10
    Letzter Beitrag: 07.01.19, 19:03
  3. Raspberry Pi + Python + MQTT + Bluetooth = Bluetooth Scanner
    Von drapple im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 30
    Letzter Beitrag: 07.10.18, 11:41
  4. Problem mit IPS TCM310 Modul
    Von ThomasD im Forum EnOcean
    Antworten: 0
    Letzter Beitrag: 05.09.14, 17:14
  5. Problem mit ISDN Modul
    Von holli10 im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 01.11.11, 10:31