FHEM Forum

FHEM - Anwendungen => Beleuchtung => Thema gestartet von: KernSani am 24 Februar 2019, 22:58:16

Titel: PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 24 Februar 2019, 22:58:16
Hi Leon,

da ich gerade einen "Außen-Pi" montiert habe, dachte ich, ich könnte meine PLAYBULBS mal in FHEM einbinden (hatte ich mangels bluetooth-Reichweite nie ersthaft versucht). Grundsätzlich sind die Dinger auch ansprechbar, Status request funktioniert in FHEM und auf der Komandozeile:

gatttool -b XX:XX:XX:XX:XX:XX --char-read -a 0x2e
Characteristic value/descriptor: 40 00

Wenn ich allerdings "schreiben" will endet das in einem endlos hängendem Prozess (in FHEM bekomme ich ein unreachable und sehe den gatttool-Prozess, bis ich ihn kille. Auch auf der Kommandozeile kommt er nie zurück...

gatttool -b XX:XX:XX:XX:XX:XX --char-write -a 0x23 -n 00FF0000


Hast du irgendeine Idee, woran das liegen könnte?

Danke,

Grüße,

Oli

Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: CoolTux am 24 Februar 2019, 23:01:07
Das ist bekannt und das schlimmste aktuell habe ich keine Lösung.
Es liegt wohl an der verwendeten gatttool Version in Verbindung mit den playbulbs.
Mit Debian 8 sollte es noch gehen.


Grüße
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 24 Februar 2019, 23:08:39
Unschön... danke für die schnelle Antwort...
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 25 Februar 2019, 11:27:12
Vielleicht wäre sowas eine Option: https://stackoverflow.com/questions/51086932/ble-gatttool-interactive-shell-script (Python script am Ende) - vielleicht ein bisschen von hinten durch die Brust ins Auge, aber möglicherweise könnte man mit einem Perl-Expect den interactive mode nutzen...
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: CoolTux am 25 Februar 2019, 11:33:52
Hilft doch nicht. Auch Python verwendet am Ende gatttool und ist somit nur ein gatttool wrapper.
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 25 Februar 2019, 12:53:31
Ich will nicht python verwenden, sondern den interactive mode scripten... ich schau mal ob ich da heute abend was hinkriege...


Kurz, weil mobil
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: CoolTux am 25 Februar 2019, 13:02:53
Zitat von: KernSani am 25 Februar 2019, 12:53:31
Ich will nicht python verwenden, sondern den interactive mode scripten... ich schau mal ob ich da heute abend was hinkriege...


Kurz, weil mobil

Ach so. Damit hatte ich mal vor Jahren angefangen. Hat mir aber nicht gefallen. Aber bevor es gar nicht geht.
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 25 Februar 2019, 23:46:00
Vermelde Erfolg... Mit folgendem kleinem Code kann ich meine Playbulb auf "rot" setzen:


use Net::SSH::Expect;

my $host = "Pi-Zero";
my $user = "xxx";
my $bulb = "XX:XX:XX:XX:XX:XX";

#connect
my $ssh = Net::SSH::Expect->new (
    host => $host,
    user => $user,
    raw_pty => 1
);

$ssh->run_ssh() or die "SSH process couldn't start: $!";
($ssh->read_all(2) =~ /$host:/) or die "where's the remote prompt?";
$ssh->exec("stty raw -echo");

$ssh->send("gatttool -b $bulb -I");
$ssh->waitfor("$bulb",1) or die "gatttool not started";
$ssh->send("connect");
$ssh->waitfor("Connection successful",1) or die "couldn't connect";
$ssh->send("char-write-cmd 0x23 00FF0000");
$ssh->waitfor("$bulb",1) or die "couldn't write char";
$ssh->send("exit");
$ssh->waitfor("$host",1) or die "didn't come back to command prompt";

# closes the ssh connection
$ssh->close();


zumindest meldet ein statusRequest, dass sie rot ist (bin noch nicht rausgerannt und hab geguckt  ;))
Vielleicht komme ich die nächsten Tage noch dazu, dann versuche ich einen patch zu bauen (nächste Woche bin ich im Urlaub - da geht wahrscheinlich nix...)

Edit: Habe nachgesehen - Sie leuchtet rot :)
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: CoolTux am 26 Februar 2019, 06:10:28
Das ist ja mega. Geht aber generell über ssh, korrekt. Müsste man wenn dann auch Lokal ssh machen. Aber schon mal cooler Erfolg.
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: pc1246 am 26 Februar 2019, 10:53:31
Top
Dann stehen die nicht mehr nur noch zum Staubfangen rum.
BTW: Mit dem Handy gehen die auch nicht mehr, was aber wohl an der Standortfreigabe liegt. Probiere ich heute abend mal aus!
Gruss Christoph
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 28 Februar 2019, 00:10:51
Anbei mal eine erste Version zum Testen:
* funktioniert nur über sshHost
* sshHost muß zwingend im format user@host angegeben sein (ohne user geht nicht)
* CPAN Modul Net::SSH::Expect muß vorhanden sein
* Attribut useExpect auf "1" setzen

Teilweise ist das Ding sehr träge, daher habe ich den Timeout extrem hochgesetzt (30 Sekunden).
set Devicename funktioniert (bei mir) nicht, ich habe das nicht genauer untersucht, ich habe aber nicht den Eindruck, dass das an der "expect"-Implementierung liegt, sondern dass da generell etwas nicht mag.

Beim Testen hat sich irgendwann mein remote-RasPi aufgehängt... meine Vermutung ist, dass zuviele SSH Sessions nicht ordentlich geschlossen wurden (weil der Timeout zu früh zugeschlagen hat)

Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: pc1246 am 28 Februar 2019, 08:03:33
Moin
Uiii, mal sehen ob ich das heute abend noch schaffe. Bin erst anderweitig verplant.
Gruss und Danke
Christoph
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: Steffen am 20 März 2019, 17:45:11
Hallo!

Gibt es hier zu schon ein paar Neuigkeiten?

Mfg Steffen
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: KernSani am 21 März 2019, 00:10:15
Ich habe das ein bisschen aus den Augen verloren, werde mich aber spätestens am Wochenende nochmal dran setzen.
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: hermann1514 am 10 August 2019, 21:33:20
Huhu... Gibt es beim den Playbulbs was Neues?
Oder gibt es andere Batterie betriebene Lichter die man per fhem Steuern kann?

Danke
Gruß Hermann
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: CoolTux am 10 August 2019, 21:54:40
Von mir gibt es leider nichts neues. Ich habe aktuell keine Zeit mich dran zu setzen.
Titel: Antw:PLAYBULB - charRead funktioniert, aber charWrite nicht
Beitrag von: hermann1514 am 15 August 2019, 22:27:57
Gibt es denn vergleichbare Lichter die mit Batterie betrieben werden und per WLAN oder Bluetooth geschaltet werden können?

Grüße
Hermann