Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. slave aufbauen - Bluetooth verbindung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    836

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

slave aufbauen - Bluetooth verbindung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
bluetooth
5 Beiträge 3 Kommentatoren 567 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    patrick039212
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe mir mit G-TAG und dem Radar2 Adapter eine Anwesenheitserkennung gebastelt, funktioniert soweit alles perfekt bis auf die Bluetooth Verbindung.
    Leider verliere ich in 2 Räumen (aufgrund der Distanz) die Verbindung zum PI, meine Fragen wären nun

    1. ist es Sinnvoll einen 2 Pi als Slave aufzubauen um eine größere Abdeckung zu haben, bzw. ist das überhaupt möglich
    2. oder ist es besser einen Bluetooth Stick zu verwenden ? wenn ja evtl. eine Empfehlung ?
    3. ich habe hier noch einen Beacon rumliegen, kann ich diesen mit IOBroker verbinden um evtl. Szenen starten zu können ?

    Danke für eure Hilfe.

    HomoranH 1 Antwort Letzte Antwort
    0
    • P patrick039212

      Hallo,

      ich habe mir mit G-TAG und dem Radar2 Adapter eine Anwesenheitserkennung gebastelt, funktioniert soweit alles perfekt bis auf die Bluetooth Verbindung.
      Leider verliere ich in 2 Räumen (aufgrund der Distanz) die Verbindung zum PI, meine Fragen wären nun

      1. ist es Sinnvoll einen 2 Pi als Slave aufzubauen um eine größere Abdeckung zu haben, bzw. ist das überhaupt möglich
      2. oder ist es besser einen Bluetooth Stick zu verwenden ? wenn ja evtl. eine Empfehlung ?
      3. ich habe hier noch einen Beacon rumliegen, kann ich diesen mit IOBroker verbinden um evtl. Szenen starten zu können ?

      Danke für eure Hilfe.

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @patrick039212

      Ob ein Stick eine bessere Abdeckung bietet kann ich nicht wirklich glauben.
      aus 2 Geräten ein Mesh zu bauen wird nicht (so einfach, wenn überhaupt) funktionieren
      Natürlich kannst du 2 Instanzen parallel laufen haben, musst dann aber per script eine ODER Verknüpfung basteln, ob zu sehen, ob der Tag in der reichweite des einen ODER des anderen ist.

      BLE hat eine sehr geringe Reichweite, ich denke das waren max. 10m

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      P C 2 Antworten Letzte Antwort
      0
      • HomoranH Homoran

        @patrick039212

        Ob ein Stick eine bessere Abdeckung bietet kann ich nicht wirklich glauben.
        aus 2 Geräten ein Mesh zu bauen wird nicht (so einfach, wenn überhaupt) funktionieren
        Natürlich kannst du 2 Instanzen parallel laufen haben, musst dann aber per script eine ODER Verknüpfung basteln, ob zu sehen, ob der Tag in der reichweite des einen ODER des anderen ist.

        BLE hat eine sehr geringe Reichweite, ich denke das waren max. 10m

        P Offline
        P Offline
        patrick039212
        schrieb am zuletzt editiert von
        #3

        @Homoran
        Danke schonmal für deine Hilfe, evtl. hat ja jemand noch Erfahrungswerte für mich :)

        1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @patrick039212

          Ob ein Stick eine bessere Abdeckung bietet kann ich nicht wirklich glauben.
          aus 2 Geräten ein Mesh zu bauen wird nicht (so einfach, wenn überhaupt) funktionieren
          Natürlich kannst du 2 Instanzen parallel laufen haben, musst dann aber per script eine ODER Verknüpfung basteln, ob zu sehen, ob der Tag in der reichweite des einen ODER des anderen ist.

          BLE hat eine sehr geringe Reichweite, ich denke das waren max. 10m

          C Offline
          C Offline
          charakterkopf
          schrieb am zuletzt editiert von
          #4

          Mehr als 10Meter schaffe ich auch nicht.
          A) Kannst du den Raspberry besser platzieren?
          B) Ich habe das selbe Problem und habe deshalb einen kleinen Raspberry Zero W zur Anwesenheitserkennung sehr zentral in der Wohnung hängen.

          Zusammen mit einem Python Script wird die Anwesenheit zuverlässig per MQTT an Iobroker (Im Keller) gemeldet.

          vielleicht hilft es weiter, Ich weiss nicht wie fit du in Python bist:

          #!/usr/bin/python
          import time
          import paho.mqtt.client as paho
          import json
          import subprocess
          import bluetooth
          
          #Config
          mqtt_username=""
          mqtt_password=""
          mqtt_server="192.168.0.2"
          mqtt_port=1885
          mqtt_subscribe="/bl-ping/remote"
          
          mqtt_publish1="/bl-ping/gtag_red"
          mqtt_publish2="/bl-ping/gtag_green"
          mqtt_publish3="/bl-ping/gtag_orange"
          
          #Start
          gtag_red=0
          gtag_green=0
          gtag_orange=0
          
          #Nach X Minuten abwesenheit senden:
          anzahl=2
          
          time.sleep(60)
          
          
          def on_subscribe(client, userdata, mid, granted_qos):
              print("Subscribed: "+str(mid)+" "+str(granted_qos))
          
          def on_message(client, userdata, msg):
              print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload))
          
          client = paho.Client(client_id="bl-ping", clean_session=True, userdata=None, protocol=paho.MQTTv31)
          client.on_subscribe = on_subscribe
          client.on_message = on_message
          client.username_pw_set(mqtt_username, mqtt_password)
          client.connect(mqtt_server, mqtt_port,60)
          client.subscribe(mqtt_subscribe, qos=1)
          
          
          print ("In/Out Board")
          
          while True:
             client.loop_start()
             print ("Scanning " + time.strftime("%a, %d %b %Y %H:%M:%S"))
             #BLE
             cmd = "blescan -t 5 >daten.txt"
             pid = subprocess.call(cmd, shell=True)
            
            
             #gtag RED
             if '7c:2f:82:ea:f5:40' in open('daten.txt').read():
              client.publish(mqtt_publish1, "1", qos=1)
              print ("Gtag red in")
              gtag_red=0
             else:
               if gtag_red > anzahl:
                client.publish(mqtt_publish1, "0", qos=1)
                print ("Gtag red out")
                gtag_red=3
               else:
                gtag_red = gtag_red + 1
                
          	#gtag green
             if '7c:2f:80:ea:f6:c3' in open('daten.txt').read():
              client.publish(mqtt_publish2, '1', qos=1)
              print ("Gtag green in")
              gtag_green=0
             else:
               if gtag_green > anzahl:
                client.publish(mqtt_publish2, '0', qos=1)
                print ("Gtag green out")
                gtag_green=3
               else:
                gtag_green = gtag_green + 1
                
          	#gtag orange
             if '7c:2f:80:ea:f4:f9' in open('daten.txt').read():
              client.publish(mqtt_publish3, '1', qos=1)
              print ("Gtag orange in")
              gtag_orange=0
             else:
               if gtag_orange > anzahl:
                client.publish(mqtt_publish3, '0', qos=1)
                print ("Gtag orange out")
                gtag_orange=3
               else:
                gtag_orange = gtag_orange + 1
          
          
             time.sleep(60)
          
          
          
          
          P 1 Antwort Letzte Antwort
          0
          • C charakterkopf

            Mehr als 10Meter schaffe ich auch nicht.
            A) Kannst du den Raspberry besser platzieren?
            B) Ich habe das selbe Problem und habe deshalb einen kleinen Raspberry Zero W zur Anwesenheitserkennung sehr zentral in der Wohnung hängen.

            Zusammen mit einem Python Script wird die Anwesenheit zuverlässig per MQTT an Iobroker (Im Keller) gemeldet.

            vielleicht hilft es weiter, Ich weiss nicht wie fit du in Python bist:

            #!/usr/bin/python
            import time
            import paho.mqtt.client as paho
            import json
            import subprocess
            import bluetooth
            
            #Config
            mqtt_username=""
            mqtt_password=""
            mqtt_server="192.168.0.2"
            mqtt_port=1885
            mqtt_subscribe="/bl-ping/remote"
            
            mqtt_publish1="/bl-ping/gtag_red"
            mqtt_publish2="/bl-ping/gtag_green"
            mqtt_publish3="/bl-ping/gtag_orange"
            
            #Start
            gtag_red=0
            gtag_green=0
            gtag_orange=0
            
            #Nach X Minuten abwesenheit senden:
            anzahl=2
            
            time.sleep(60)
            
            
            def on_subscribe(client, userdata, mid, granted_qos):
                print("Subscribed: "+str(mid)+" "+str(granted_qos))
            
            def on_message(client, userdata, msg):
                print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload))
            
            client = paho.Client(client_id="bl-ping", clean_session=True, userdata=None, protocol=paho.MQTTv31)
            client.on_subscribe = on_subscribe
            client.on_message = on_message
            client.username_pw_set(mqtt_username, mqtt_password)
            client.connect(mqtt_server, mqtt_port,60)
            client.subscribe(mqtt_subscribe, qos=1)
            
            
            print ("In/Out Board")
            
            while True:
               client.loop_start()
               print ("Scanning " + time.strftime("%a, %d %b %Y %H:%M:%S"))
               #BLE
               cmd = "blescan -t 5 >daten.txt"
               pid = subprocess.call(cmd, shell=True)
              
              
               #gtag RED
               if '7c:2f:82:ea:f5:40' in open('daten.txt').read():
                client.publish(mqtt_publish1, "1", qos=1)
                print ("Gtag red in")
                gtag_red=0
               else:
                 if gtag_red > anzahl:
                  client.publish(mqtt_publish1, "0", qos=1)
                  print ("Gtag red out")
                  gtag_red=3
                 else:
                  gtag_red = gtag_red + 1
                  
            	#gtag green
               if '7c:2f:80:ea:f6:c3' in open('daten.txt').read():
                client.publish(mqtt_publish2, '1', qos=1)
                print ("Gtag green in")
                gtag_green=0
               else:
                 if gtag_green > anzahl:
                  client.publish(mqtt_publish2, '0', qos=1)
                  print ("Gtag green out")
                  gtag_green=3
                 else:
                  gtag_green = gtag_green + 1
                  
            	#gtag orange
               if '7c:2f:80:ea:f4:f9' in open('daten.txt').read():
                client.publish(mqtt_publish3, '1', qos=1)
                print ("Gtag orange in")
                gtag_orange=0
               else:
                 if gtag_orange > anzahl:
                  client.publish(mqtt_publish3, '0', qos=1)
                  print ("Gtag orange out")
                  gtag_orange=3
                 else:
                  gtag_orange = gtag_orange + 1
            
            
               time.sleep(60)
            
            
            
            
            P Offline
            P Offline
            patrick039212
            schrieb am zuletzt editiert von patrick039212
            #5

            @charakterkopf
            Danke für die Antwort, leider kann ich meinen PI nicht zentraler positionieren da er ansonsten sichtbar stören würde... bzw. wären dann zu viele Wände dazwischen...

            Python habe ich mich so gut wie gar nicht noch beschäftigt...

            Aber theoretisch müsste es ja wie @Homoran gesagt hat, funktionieren wenn ich einen Slave aufbaue, dort eine 2. Instanz von radar2 am laufen habe und in Blockly eine "ODER" Abfrage einbaue ...

            Plan C. ich überprüfe erst die Anwesenheit in Verbindung ob die Eingangstüre geöffnet wurde... dann muss man gezwungenermaßen bei meinem PI vorbei ...

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            698

            Online

            32.6k

            Benutzer

            82.1k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe