Divoom Aurabox + Timebox + TimeboxEvo [Update, kommunizieren funktioniert]

Begonnen von schwatter, 25 Dezember 2017, 23:37:43

Vorheriges Thema - Nächstes Thema

mumpitzstuff

interessant wäre wie die Nachricht bei einem Bild aussieht das mit meiner Funktion nicht funktioniert. kann man das nicht schon sehen, ohne das die Nachricht an das Gerät geschickt wird? Hast du vielleicht ein solches Bild zur Hand?

schwatter

So ein Bild kann ich raussuchen. Schaue nach.

So, es läuft. Habe die Bluetoothconnection von Python sockets auf PyBluez umgestellt.

schwatter

So, Testpics. Und zwar hatte ich in der App einen Runningtext erstellt,
welchen ich auf meinem Handy als Gif gespeichert habe. Konvertiert wurden alle Bilder mit IrfanView.

Im Anhang sind ein paar (nicht alle) der nicht funktionierenden Pics, welche aber mit tb-evo-rest.py
korrekt dargestellt werden.

schwatter

Und noch ein gutes Beispiel für Pixelsalat von dir. Post #196. Auch das funktioniert mit tb-evo-rest.py

mumpitzstuff

Naja ich müsste das jetzt erst mühsam zum laufen kriegen. Kannst du mir bitte ein nicht funktionierendes Bild raus suchen. Von dem die raw message mit meinem Script erstellen und dann mit dem python script?

    def send_raw(self, bts):
        # print('Send:', binascii.hexlify(bts))
        self.sock.send(bts)
        ret = self.sock.recv(256)
        logging.info('Received: 0x' + str(binascii.hexlify(ret), 'utf-8'))


Hier solltest du das print rein nehmen können und siehst wie bei mir die rohdaten. Ich würde gern erst mal die rohdaten nebeneinander legen, wahrscheinlich sieht man da gleich was.

mumpitzstuff

Ich glaube ich habe schon was gefunden:

#$bits = ($counter / 2) + ($counter % 2);
  $bits = int((log($counter) / log(2)) + 0.5);
  $bits = 1 if (0 == $bits);


Ersetz mal den Code in meinem Script. Vielleicht wars das dann schon.

schwatter

Morgen, musste gestern nochmal ein Reinstall machen, da ich Bluetoothprobleme hatte.
Dabei habe ich das "print" für Rawmessages übersehen...

hier die rawmessage von dem Bild aus Post #196

2019-04-27 08:00:03 I [histpixmap:86] Drawing mode ModeType.image
Send: b'01e40044000a0a04aa2d0000000012000000ffffff0000ff0000f8ffff00f8f800dddd00f8ff00ddff00db0000fafffff70000ff0505dc0303dc0000f70404ff0404fffff80000000008000031c60000000100000000008000000000002985000080000000004829a51000000001004000000000024000000052000180804200000080628a29c5145300000080624c31a6185300100000620a2004144300000000400a0000940300000000004829a5a0a456000030c00029e5a4e6da0280b5d7180000a8d4920200c00601000004b554140000060000000000000000000000000000000000503702'
2019-04-27 08:00:03 I [timebox:30] Received: 0x010600044455f5980102
2019-04-27 08:00:03 I [web:2242] 200 POST /evo/upload (192.168.178.34) 382.98ms


Das funktioniert leider nicht.

#$bits = ($counter / 2) + ($counter % 2);
  $bits = int((log($counter) / log(2)) + 0.5);
  $bits = 1 if (0 == $bits);

schwatter

So, hier das Bild mit deinem Script.

root@pi-zero-w1:/opt/fhem/oldTest# perl setPictureTbEvo.pl
Image: 16x16 (maxcolors: no palette found, usedcolors: 18)
Create RFCOMM client (11:75:58:FD:4C:CC with port 1)...

done

Send plain command: 4500
Generated raw command: 0104004500490002
Send raw command: 0104004500490002
Device answer: 01
done

Send plain command: 44000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000
Generated raw command: 01C40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000B43102
Send raw command: 01C40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000B43102
Device answer: 01
done

root@pi-zero-w1:/opt/fhem/oldTest#

mumpitzstuff

Ist das schon mit der Änderung oder ohne?

Ich schaue mir das in jedem Fall genauer an, kann ja nichts großes sein.

schwatter

Ja genau, mit der Änderung.

Hier nochmal Orig und Änderung als Vergleich.

$bits = ($counter / 2) + ($counter % 2);
  #$bits = int((log($counter) / log(2)) + 0.5);
  #$bits = 1 if (0 == $bits);


root@pi-zero-w1:/opt/fhem/oldTest# root@pi-zero-w1:/opt/fhem/oldTest# perl setPictureTbEvo.pl
Image: 16x16 (maxcolors: no palette found, usedcolors: 18)
Create RFCOMM client (11:75:58:FD:4C:CC with port 1)...

done

Send plain command: 4500
Generated raw command: 0104004500490002
Send raw command: 0104004500490002
Device answer: 01
done

Send plain command: 44000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF8000000000000000100000002030303000000000200000000000000000000020000000000000004050504000000000200000000000004050505050400000000000100000004000000000000040000010000000004050004000004000504000000000000050605060505060506050000000000000506060506060506060500000200000004060500040400050604000000000000000405000000000507000000000000000000040505050508090a0b010000000c000c0004050507090d0e0d0b00000c0d0f0d0c000000000a090d090a000000100d100000000000010a0b0a11020000000c00000000000000000000000000000000000000000000000000000000
Generated raw command: 01440144000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF8000000000000000100000002030303000000000200000000000000000000020000000000000004050504000000000200000000000004050505050400000000000100000004000000000000040000010000000004050004000004000504000000000000050605060505060506050000000000000506060506060506060500000200000004060500040400050604000000000000000405000000000507000000000000000000040505050508090a0b010000000c000c0004050507090d0e0d0b00000c0d0f0d0c000000000a090d090a000000100d100000000000010a0b0a11020000000c000000000000000000000000000000000000000000000000000000001D1F02
Send raw command: 01440144000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF8000000000000000100000002030303000000000200000000000000000000020000000000000004050504000000000200000000000004050505050400000000000100000004000000000000040000010000000004050004000004000504000000000000050605060505060506050000000000000506060506060506060500000200000004060500040400050604000000000000000405000000000507000000000000000000040505050508090a0b010000000c000c0004050507090d0e0d0b00000c0d0f0d0c000000000a090d090a000000100d100000000000010a0b0a11020000000c000000000000000000000000000000000000000000000000000000001D1F02
Device answer: 01
done

root@pi-zero-w1:/opt/fhem/oldTest#




#$bits = ($counter / 2) + ($counter % 2);
  $bits = int((log($counter) / log(2)) + 0.5);
  $bits = 1 if (0 == $bits);


root@pi-zero-w1:/opt/fhem/oldTest# perl setPictureTbEvo.pl
Image: 16x16 (maxcolors: no palette found, usedcolors: 18)
Create RFCOMM client (11:75:58:FD:4C:CC with port 1)...

done

Send plain command: 4500
Generated raw command: 0104004500490002
Send raw command: 0104004500490002
Device answer: 01
done

Send plain command: 44000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000
Generated raw command: 01C40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000B43102
Send raw command: 01C40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000001000203303002000000000000200000054450000020000405555040000010004000040000100400504405004000050565665650500005066655666052000405640046504000000540000750000000040555598ba01000c0c5475d9de0bc0fdcd00009a9d0a00d0000000a1ab2100c00000000000000000000000000000B43102
Device answer: 01
done

root@pi-zero-w1:/opt/fhem/oldTest#

mumpitzstuff

#235
Probier mal bitte das hier zu verwenden:


Diese Zeile ersetzen:
$bits = ($counter / 2) + ($counter % 2);

mit:

  $_ = log($counter) / log(2);
  $bits = ($_ == int($_)) ? $_ : int($_ + 1);
  $bits = 1 if (0 == $bits);

schwatter

Super, das war es  :)

root@pi-zero-w1:/opt/fhem/oldTest# perl setPictureTbEvo.pl
Image: 16x16 (maxcolors: no palette found, usedcolors: 18)
Create RFCOMM client (11:75:58:FD:4C:CC with port 1)...

done

Send plain command: 4500
Generated raw command: 0104004500490002
Send raw command: 0104004500490002
Device answer: 01
done

Send plain command: 44000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000000008000031c60000000100000000008000000000002985000080000000004829a51000000001004000000000024000000052000180804200000080628a29c5145300000080624c31a6185300100000620a2004144300000000400a0000940300000000004829a5a0a456000030c00029e5a4e6da0280b5d7180000a8d4920200c00601000004b554140000060000000000000000000000000000000000
Generated raw command: 01E40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000000008000031c60000000100000000008000000000002985000080000000004829a51000000001004000000000024000000052000180804200000080628a29c5145300000080624c31a6185300100000620a2004144300000000400a0000940300000000004829a5a0a456000030c00029e5a4e6da0280b5d7180000a8d4920200c00601000004b554140000060000000000000000000000000000000000503702
Send raw command: 01E40044000A0A04AA2D0000000012000000FFFFFF0000FF0000F8FFFF00F8F800DDDD00F8FF00DDFF00DB0000FAFFFFF70000FF0505DC0303DC0000F70404FF0404FFFFF80000000008000031c60000000100000000008000000000002985000080000000004829a51000000001004000000000024000000052000180804200000080628a29c5145300000080624c31a6185300100000620a2004144300000000400a0000940300000000004829a5a0a456000030c00029e5a4e6da0280b5d7180000a8d4920200c00601000004b554140000060000000000000000000000000000000000503702
Device answer: 01
done

root@pi-zero-w1:/opt/fhem/oldTest#

schwatter

Habe bei den anderen noch Pixelsalat. Melde mich nachher nochmal.

mumpitzstuff


schwatter

edit:

Erstes Statement gelöscht.
Alles ok mit der letzten Änderung. Hatte was übersehen. Top :)