Pi2 mit Weinzierl 838 kBerry in fhem einbinden

Begonnen von waldo, 13 Januar 2019, 19:32:10

Vorheriges Thema - Nächstes Thema

waldo

Das kBerry 838 von Weinzierl steckt auf eine Pi2.
knxd ist installiert und funktioniert. D.h. alle Kanäle des Aktors können angesteuert werden.

Wie ist nun knxd, resp das kBerry, in fhem einzubinden.
Habe dazu leider nichts gefunden was mir geholfen hat.
Nach unzähligen Versuchen hoffe ich hier auf Expertenhilfe.

Vielen Dank im Voraus an alle.

predi-ger-many

#1
Hi,

ich habe das Modul mittlerweile per knxd am laufen. Allerdings gefällt mir das Verhalten nicht ganz.
Eine Anfrage bei Weinzierl für Unterstützung zum korrekten Ansprechen per knxd wurde sehr zeitnah beantwortet.

Anwort war: "da knxd oder... keine Produkte von uns sind, können wir dafür keinen Support liefern. Bitte stellen Sie Ihre Anfrage in den Support-Portalen dieser Produkte."

Ich habe mir jetzt nochmal das SDK angeschaut. Auf der Webseite wird es explizit als "kBerry SDK für den Raspberry Pi". Aber in dem SDK gibt es kein
einziges Sample für den kBerry, der ja FT12 spricht. Für alle alten Produkte gibt es immerhin C-Samples. Habe nochmal diesbezüglich bei Weinzierl nachgefragt.
Ich bin mal gespannt, ob Weinzierl Support für ihre eigene API liefert. Falls ja, könnte man den kBerry in TUL "ft12cemi:/dev/tty..." integrieren.

Viele Grüße
Predi

waldo

Hallo Predi

"Freut" mich bin ich nicht der Einzigste der ab und zu Probleme hat.

Nach noch viel längerem ausprobieren habe ich die Lösung gefunden, die ist auch noch erschreckend einfach.
Voraussetzung ist  der kBerry838 muss via knxd Befehle einwandfrei schalten und fhem ist out-of -the-box installiert.
Zur Zeit schalte ich damit nur einen6-Fach Aktor, ohne Probleme.

Dann als erstes knxd und fhem stoppen.

In /etc/knxd.conf steht bei mir nur:
KNXD_OPTS="-e 15.15.250 -E 15.15.251:4 -u /tmp/eib -c -D -T -S -b ft12cemi:/dev/ttyAMA0"

In /etc/default/knxd steht nur:
START_KNXD=YES
DAEMON_ARGS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -u /var/run/knx -i -b ip:"

In fhem.cfg habe ich eingefügt:
define KNX TUL knxd:localhost 15.15.250
attr initialUsbCheck disable 1
alles übrige bezüglich USB usw. habe ich gelöscht, resp. auskommentiert.

Für den pi sind noch einige Schritte nötig, sofern nicht schon gemacht:
sudo chmod -R a+w /opt/fhem
sudo usermod -a -G tty pi
sudo usermod -a -G tty fhem
sudo adduser fhem dialout
sudo adduser fhem gpio

zum Schluss
sudo reboot

Und es sollte funktionieren, so war es bei mir.

Gruss
Waldo







predi-ger-many

#3
Hallo,

ich will auch die Datenpunkte des kBerry nutzen und als Interface. Mit dem von dir geposteten knxd Befehl hatte ich schon probiert.
Dabei gibt es ein ziemliches Problem.

Szenario:

1. Ich mache den Bus stromlos und schalte dann den Strom wieder ein
2. Dann scanne ich per ETS den BUS. kBerry wird gefunden
3. nun starte ich knxd
4. Dann scanne ich nochmal mit ETS und der kBerry wird nicht mehr gefunden

Zugriff per FHEM funktioniert per knxd. Aber sobald man per knxd verbindet, kann man den kBerry nicht mehr mittels ETS programmieren.
Und genau dafür habe ich eine Anfrage bei Weinzierl gemacht.

Es scheint sich aber ein Russe bereits intensiv mit dem kBerry beschäftigt zu haben und hat ein komplettes SDK in JS erstellt.

https://bobaos.github.io

Ich habe mir mal nodejs installiert. Dann das bdsd.sock und bdsd.sock. Zugriff auf alle Datenpunkte klappt einwandfrei und
der kBerry ist vom Bus erreichbar. Dann wollte ich mir noch das bdsd.mqtt installieren. Da habe ich eine Errormeldung bekommen. Habe den Entwickler mal angeschrieben,

Wenn das funktioniert, kann man den kBerry in FHEM einbinden.

kBerry <--> bdsd (mqtt)  <--> FHEM

Der bdsd greift auf die Datenpunkte direkt zu. Und geht nicht über GAs.
Ich habe jetzt mal auf dem kBerry einen DP für Rollladen Auf/Ab definiert
und ihn in die entsprechende GA gepackt. Das Gleiche habe ich dann noch
mit Stop gemacht. Anschliessend habe ich den Rollladen per bdsd.client fahren
können.

Auf der Command Line sieht das dann so aus:
setValue -s 11 -v 0 für hoch
setValue -s 11 -v 0 für runter
usw.

An Boboas scheint Weinzierl aktiv mitgewirkt zu haben. Das ganze SDK macht einen sehr, sehr
guten Eindruck. Gibt sogar eine Apple Homekit Integration. Wenn ich mir das SDK anschaue, sollte
man damit den kBerry sauber in NodeRed implementieren können



waldo

Guten Tag

Nun muss ich passen.
Der direkte Zugriff auf die "Innereien" des kBerry und proprietary Sofware übersteigt bei weitem meine Anfänger Kompetenz.

Gruss
Walter

predi-ger-many

Ich habe mal Google bemüht und auf einer russischen Seite gibt es viele Artikel.

https://habr.com/ru/search/?q=%5BKNX%5D&target_type=posts

Die Artikel von Bobalus sind vom Author des SDKs. Der erleutert sehr gut, wie man mit BABOAS
zugreifen tut. Einfach in Chrome öffnen und automatisch übersetzen lassen (man versteht den Inhalt)

Das kBerry Modul ist von Weinzierl entwickelt und es ist zertifiziert. Seitens Weinzierl ist wahrscheinlich nie
ein direkter Zugriff knxd vorgesehen gewesen, sondern sie wollen, dass man über ihre BOAS Server geht.

Normalerweise packe ich ein Objekt in eine GA und greife diese GA dann aus FHEM zu. Mit dem kBerry
packe ich das Objekt auch in eine GA, aber ich packe noch ein Objekt vom kBerry mit in die GA. Wird nun
das erste Objekt aktualisiert, wird auch das Objekt im kBerry aktualisiert und auf das greift man dann mittels
BOBOAS SDK zu.

Wenn ich mir anschaue, was der russische Entwickler alles in das SDK gepackt hat... Halleluja. Die Möglichkeiten
sind fast grenzenlos.