FB Betty in FHEM einbinden

Begonnen von KölnSolar, 16 März 2017, 09:06:18

Vorheriges Thema - Nächstes Thema

Telekatz

Es heißt Boop, nicht Boob.


Zitat von: KölnSolar am 21 März 2017, 17:01:42
Steuerung von 433MHz-devices per Tastatur über FHEM
In lirc ist eine HX2262 Remote vorhanden, mit der so etwas schon möglich ist.

Zitat von: KölnSolar am 21 März 2017, 17:01:42
Sicherung von Datum/Uhrzeit bei Batterie leer/stromparender Betrieb/leistungsfähigere Hardware
(Betty hat die negative Angewohnheit, Datum und Uhrzeit bei Batteriewechsel zu vergessen)
Wenn beim Batterie einlegen eine zweite Betty mit eingestellter Uhr in der Nähe ist, wird die Uhrzeit über Funk automatisch übertragen.
Stomsparender wird es nur, wenn man das Display bei nichtbenutzung ausschaltet. Power Down Modus beim µC und WOR beim CC1100 ist schon vorhanden.

Zitat von: KölnSolar am 21 März 2017, 17:01:42
PS: Wäre sicherlich auch nicht schlecht, wenn sich jemand in der rechtlichen Ecke umschauen würde. Wie weit dürfen wir gehen ? Code von Boop öffentlich zugänglich machen, etc...
Ist doch schon öffentlich:
https://sourceforge.net/projects/boopfirmware/

Bapt. Reverend Magersuppe

Zitat von: KölnSolar am 21 März 2017, 17:01:42

PS: Wäre sicherlich auch nicht schlecht, wenn sich jemand in der rechtlichen Ecke umschauen würde. Wie weit dürfen wir gehen ? Code von Boop öffentlich zugänglich machen, etc...

Gern geschehen :-)

Hast Du nur die Boop.bin? Laut dem alten Archive ist Boop GPL3 und war soweit ich mich erinnere auch eher als Beispiel gedacht was alles für Funktionen in der Betty sind. Leider habe ich das Sourcepaket auch nicht mehr. Tzefix.
Aber das Netz vergisst angeblich nichts (es verlegt es nur oftmals irgendwo):https://sourceforge.net/projects/boopfirmware/?source=directory.

Jetzt habe ich noch ein Paket McBetty, da sind auch einige Sourcen drin. Das hänge ich hier mal dran. Auch GPL.

--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

KölnSolar

ZitatLeider habe ich das Sourcepaket auch nicht mehr
Hat Telekatz doch auch einen Post früher nochmal verlinkt. Die hab ich dann mit der hier im Thread beschriebenen Toolchain in "meine" .bin umgewandelt und geflashed.
ZitatPaket McBetty
..ist glaub ich irgendwas mit Musik oder so.
ZitatIn lirc ist eine HX2262 Remote vorhanden, mit der so etwas schon möglich ist.
Jo, die hatte ich schon gesehen  ;) Stammt ja wohl aus Deiner Feder. Die Idee, das über eine "lirc"-Schnittstelle zu handeln find ich auch recht pfiffig. Hatte dann erst gedacht, dass es daher ganz simpel ist IT V1 umzusetzen. Der HX2262 ist ja vergleichbar den ITs. Pulsweiten, Tristate etc. sind auch klar, aber die vielen anderen Parameter, für die lirc-Schnittstelle... :-[ Ich hab dann versucht die Codes auf IT anzupassen. Bin da aber nicht mit klar gekommen. Die Beschreibung predata 0x00000000 und (bits 0-4) und für Taste 1 dann 0x00551 (bits 5-11) haben mich etwas verwirrt. Für predata also 4bytes hex, um 5bits abzubilden und bei der Taste dann 5 nibbles für 7 bits(0FFFF0F), Gesamtlänge dann 13 nibbles 0x0000000000551 um 12 bit abzubilden  :-\ Hab da keine Systematik erkennen können und meinen 433CUL leider nicht da, der mich sicherlich erhellen würde. Ach ja und bei bits steht dann noch die 14  :-\

Es ist aber nur das Senden implementiert oder ?

ZitatWenn beim Batterie einlegen eine zweite Betty mit eingestellter Uhr in der Nähe ist, wird die Uhrzeit über Funk automatisch übertragen.
gut zu wissen.

Versuche jetzt noch weitr zu verstehen, wie der Programmablauf ist...
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Telekatz

#33
Zitat von: KölnSolar am 21 März 2017, 22:14:15
Jo, die hatte ich schon gesehen  ;) Stammt ja wohl aus Deiner Feder. Die Idee, das über eine "lirc"-Schnittstelle zu handeln find ich auch recht pfiffig. Hatte dann erst gedacht, dass es daher ganz simpel ist IT V1 umzusetzen. Der HX2262 ist ja vergleichbar den ITs. Pulsweiten, Tristate etc. sind auch klar, aber die vielen anderen Parameter, für die lirc-Schnittstelle... :-[ Ich hab dann versucht die Codes auf IT anzupassen. Bin da aber nicht mit klar gekommen. Die Beschreibung predata 0x00000000 und (bits 0-4) und für Taste 1 dann 0x00551 (bits 5-11) haben mich etwas verwirrt. Für predata also 4bytes hex, um 5bits abzubilden und bei der Taste dann 5 nibbles für 7 bits(0FFFF0F), Gesamtlänge dann 13 nibbles 0x0000000000551 um 12 bit abzubilden  :-\ Hab da keine Systematik erkennen können und meinen 433CUL leider nicht da, der mich sicherlich erhellen würde. Ach ja und bei bits steht dann noch die 14  :-\

Es ist aber nur das Senden implementiert oder ?
Predata ist 4 Bytes groß, weil es ja auch groß genug für andere Protokolle sein muss. Diese Größe ist auch bei LIRC dafür vorgesehen. Gesendet davon werden nur die ersten 10 Bit (/*pre_data_bits*/). Jedes der 5 tristate Bits (Bit 0-4) wird in jeweils zwei Bits übersetzt. Dasselbe gilt für die 7 folgenden tristate Bits. Diese werden in 14 Bits übersetzt (/*bits*/).
Und es ist nur Senden implementiert.

Anbei noch ein Diagramm mit der zeitlichen Abfolge der einzelnen LIRC Phasen.

KölnSolar

#34
ganz schön kompliziert  :o aber wohl notwendig wg. der LIRC-Kompatibilität. Dazu scheint mir dann noch die alte Inline-Doku falsch, so dass das Muster nicht erkennbar wird  :(

Aber ich hab jetzt die IT-Funktionalität für Protokoll V1 umgesetzt. Inline-Doku ist entsprechend verändert, so dass es jetzt einfacher möglich sein sollte, die Datei auf die individuellen Bedürfnisse anzupassen. Damit die alte Funktionalität nicht verloren geht, werde ich im nächsten Schritt die übergeordneten Files so verändern, dass die hx2262-Funktionalität erhalten bleibt und zusätzlich Intertechno mit einem separaten LIRC-file auswählbar wird. Für hx2262 werde ich dann die inline-Doku korrigieren(Taste 1-3 = on-Befehle, Taste 4-6 = off-Befehle).

Edit: Danke für die Grafik, macht die Parameter klarer  ;)
        Damit Ihr nicht lange suchen müsst: Die angehängte Datei müsst Ihr nach infared/ir_codes/lirc kopieren.
        Ach, auch noch wichtig: aufgrund der Konstruktion über LIRC lassen sich nur 8 IT-Codes nutzen. Die ersten 5 Stellen sind fix, also der
        Buchtstabe+das_erste_Bit_IT_Code der Dezimalzahl(bedeutet dann gerade oder ungerade) also z.B. nur C1, C3, C5, C7.....
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Telekatz

Du kannst auch mehr als 8 IT-Codes benutzen, wenn die die ersten 5 Stellen von pre_data nach data verschiebst. Pre_data wird dann gar nicht benutzt. In data passen bis zu 32 Bits rein.

KölnSolar

#36
Ahh, danke. Das macht die Sache natürlich schöner und viiiiiel einfacher  ;) Anbei die Dateien, um nun IT mit allen 256 Codes u. HX2262 zu nutzen. Auswahl des Sets erfolgt über das Menü - Settings - RC Keys - gew. ABCD-Taste - remotes in LIRC - IT V1.
Datei codes.c muss in den Pfad infrared kopiert werden.

Kannst Du was zu B&O sagen ? LIRC-File gibt es ja mit raw_codes. Nur kann man die einbinden und wenn ja, wie ? In der ir_lirc.h hast Du Dich wohl schon mal versucht und im Bettyforum hast Du mal die Aussage getroffen, dass es gar nicht ginge  :-\ In IRMP scheint mir die Implementierung des Protokolls einfacher(zumindest übersichtlicher). Ob man das anders als die jetzige Implementierung in LIRC "übersetzt" bekommt ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Telekatz

Meine Aussage bezog sich darauf, das mit der aktuellen IR Implementierung keine 455kHz Modulation der IR Diode erreicht werden kann. Die Modulation ist als Software PWM mit dem Timer1 implementiert. Für 455KHz ist das zu langsam.
Hardware PWM ist zwar möglich, die IR Diode hängt an PWM5. Dafür sind jedoch einige Änderungen am IR Code nötig.

KölnSolar

Danke, dann kann ich mir erst einmal die Mühe sparen. Ich guck mir das mal an, um überhaupt mal den Unterschied zwischen software-PWM und Hardware-PWM zu verstehen  ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

KölnSolar

Hi Telekatz,
ich wollte mich jetzt mal zum Funk-Empfang vortasten. Unter Tools gibt es ja den FS20 Decoder. Der macht aber rein gar keinen Mux  :'( Ist die Funktionalität gar nicht gegeben ? Weißt Du ggfs. wo ich dran drehen müsste, um überhaupt etwas zu sehen ? Mir geht es da erst einmal gar nicht um die vollständige und richtige Protokollentschlüsselung, sondern nur ein wenig dem Programmablauf und den settings des CC1100 näher zu kommen.

Sowohl für den CC1101 im CUL, als auch dem CC1100 der Betty wird nach meinem Verständnis über SPI kommuniziert. Da müsste es doch "relativ" einfach sein, sich an den culfw-Sourcen zu "bedienen" oder bin ich da total auf dem Holzweg  :-\

Als µC-Developer-Dummy: Gibt es irgendein sinnvolles Tool, zum Debugging ? Zumindest so etwas, wo ich die einzelnen Funktionsaufrufe in Ihrer Sequenz verfolgen kann ?

@all: 1 download für die IT-Funktionalität ist arg wenig  :'( Mag denn neben der Unterstützung von telekatz niemand mitmachen ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Telekatz

Zitat von: KölnSolar am 24 März 2017, 09:24:54
Hi Telekatz,
ich wollte mich jetzt mal zum Funk-Empfang vortasten. Unter Tools gibt es ja den FS20 Decoder. Der macht aber rein gar keinen Mux  :'( Ist die Funktionalität gar nicht gegeben ? Weißt Du ggfs. wo ich dran drehen müsste, um überhaupt etwas zu sehen ? Mir geht es da erst einmal gar nicht um die vollständige und richtige Protokollentschlüsselung, sondern nur ein wenig dem Programmablauf und den settings des CC1100 näher zu kommen.
Funktionieren sollte der schon. Aufgrund der Fehlanpassung der Antenne ist die Reichweite aber nicht groß.

Zitat von: KölnSolar am 24 März 2017, 09:24:54
Sowohl für den CC1101 im CUL, als auch dem CC1100 der Betty wird nach meinem Verständnis über SPI kommuniziert. Da müsste es doch "relativ" einfach sein, sich an den culfw-Sourcen zu "bedienen" oder bin ich da total auf dem Holzweg  :-\
Die Ansteuerung des CC1100 ist im Grunde gleich. Allerdings kann man die Registerwerte nicht 1:1 übernehmen, da die im CUL verwendeten CC1101 Module mit 26MHz Quarz bestückt sind, bei der Betty jedoch ein 27MHz Quarz verwendet wird. Das hat dann Auswirkungen auf alle frequenzabhängigen Register.

Zitat von: KölnSolar am 24 März 2017, 09:24:54
Als µC-Developer-Dummy: Gibt es irgendein sinnvolles Tool, zum Debugging ? Zumindest so etwas, wo ich die einzelnen Funktionsaufrufe in Ihrer Sequenz verfolgen kann ?
Zum Debuggen habe ich Eclipse und openOCD in Verbindung mit einem FTDI2232 basierten JTAG Interface genommen. Ich habe es jetzt auch mal mit einem J-Link versucht. Da funktioniert aber irgendwie die Programmierung des externen Flashs über CFI nicht.


Zitat von: KölnSolar am 24 März 2017, 09:24:54
@all: 1 download für die IT-Funktionalität ist arg wenig  :'( Mag denn neben der Unterstützung von telekatz niemand mitmachen ?
Das mangelnde Interesse war für mich dann auch irgendwann der Grund, die Entwicklung von Boop einzustellen.

pc1246

Zitat von: KölnSolar am 21 März 2017, 17:01:42
....
Ohne Boop(wer hat nur diesen Namen erfunden  8))
....
Hier https://de.wikipedia.org/wiki/Betty_Boop die Erlaeuterung des Namens, aber die solltest Du doch eigentlich kennen!?

Interesse habe ich schon, insbesondere, da es ja sehr geringer finanzieller Aufwand ist! Aber helfen kann ich nur beim Testen, und eventuell was Schreiben! Momentan sehe ich allerdings noch nicht so ganz das Ziel, ich schlafe mal des WE drueber!

Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

KölnSolar

ZitatFunktionieren sollte der schon. Aufgrund der Fehlanpassung der Antenne ist die Reichweite aber nicht groß.
Schon klar. Aber weder 3m, noch 50cm Abstand zum 868CUL bringen das Display in Bewegung, wenn ich einen FS20-Befehl aus FHEM absetze  >:( Ich sehe FS20 auch nur als Testcase.
ZitatDie Ansteuerung des CC1100 ist im Grunde gleich. Allerdings kann man die Registerwerte nicht 1:1 übernehmen, da die im CUL verwendeten CC1101 Module mit 26MHz Quarz bestückt sind, bei der Betty jedoch ein 27MHz Quarz verwendet wird. Das hat dann Auswirkungen auf alle frequenzabhängigen Register.
SUPER Info. Wenn ich etwas implementiert und getestet hätte, wäre ich im Leben nicht drauf gekommen, dass die Frequenzparameter anzupassen sind. Hatte beim vergleichenden Lesen schon Fehler in der FS20.c vermutet :-[

@Christoph: Danke für den Hinweis, den Wiki-Eintrag hatte ich tatsächlich noch nicht gesehen.
Ziel ? Uni-FB für TVs, Receiver UND IT-V1 habe ich ja nun schon. Die bei weitem nicht vollständigen Ideen hab ich ja hier https://forum.fhem.de/index.php/topic,69112.msg609209.html#msg609209 gepostet.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

RaspiLED

Moin KölnSolar,
Super Du gibst richtig Gas cool! Naja diese Woche war ja erstmal Cebit gelle, aber nächstes Jahr hat man ja 3 Monate mehr Zeit bis zu der ;-) Aber ich schaue mir die Hardware am WE mal an...
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Bapt. Reverend Magersuppe

Ich habe in den Tiefen meiner Platte noch ein Paket namens Lernbetty gefunden. Das gibts auch noch online: https://www.mikrocontroller.net/topic/277603. Da sind einige interessante Beispiele drin.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!