Fhem HBW Pairing Anfänger

Begonnen von Hotte1195, 15 Januar 2017, 19:49:06

Vorheriges Thema - Nächstes Thema

Hotte1195

Hallo liebes Forum,

ich bin als Anfänger hier grade völlig am verzweifeln und je mehr Wiki oder Forenbeiträge ich lese, umso weniger verstehe ich. Bitte, könnt Ihr mir helfen?
Auf meinem Basteltisch liegt ein Raspi 3+ mit Jessi und installiertem Fhem. Über einen China - USB - RS232 Adapter mit nachgeschaltetem Max485 habe ich ein HMW System aufgebaut. Nach 2 wöchigem Lesen und probieren konnte ich aus den Git Quellen zum einen Tastereingänge HBW_sen_Sc8 und zum anderen HBW_LC_Sw8 als Ausgangsmodul zusammenbasteln. Ich muß dazu sagen, ich bin nicht so der Programmierer. Auf dem AVR mit AVR-GCC Ports setzen, Werte messen und Timer im Interrupt basteln bekomme ich hin. Das C++ im Arduino und die ganze Umgebung mit der IDE vom Arduino sind schwierig bzw sehr gewöhnungsbedürftig für mich. Das nur so am Rande - zurück zum Thema. Als Hardware Plattform für die Module verwende ich Arduino Mini Pro Mega328 von Deek_Robot und China RS485 Adapter.. (hatte ich gerade und gab's preiswert). Ich habe es geschafft, im Fhem zwei HBW_sen_Sc8 und ein HBW_LC_Sw8 in Betrieb zu nehmen. Einen Screenshot vom Fhem hänge ich hier an. Nun habe ich einen gedachten Raum angelegt, genannt "Susi" und je einen Sensor- und einen Aktorkanal eingefügt. (zweiter Screenshot)

So und jetzt kommt meine Frage und mein Problem: Wie verknüpfe ich denn diese beiden Kanäle so, daß ein "short_press" am Taster den Ausgang am Sw8 toggelt ?

Ich habe wirklich versucht erst zu lesen  und allein klar zu kommen, aber ich komme einfach nicht weiter...

Danke, daß Ihr mir helft!

Eine Anmerkung vielleicht noch für andere Anfänger: Ich hatte ein massives Problem mit der Erkennung der Bausteine. Manchmal ging gar nichts, mit einem neuen Arduino ging dann wieder was.
Des Rätsels Lösung: Nach der ersten Inbetriebnahme sollte mit der Bedientaste am Modul (meist PIN D8) der EEPROM im Device nach Anleitung gelöscht werden. Vorgehen steht im Quelltext.

bG Hotte

Thorsten Pferdekaemper

Hi,
da hast Du Dich ja ganz schön durchgekämpft....
Tja, und jetzt ist es kein Wunder, dass Du kein direktes Peering hinbekommst. Die beiden HBW-Module können einfach kein direktes Peering, auch wenn FHEM vielleicht so tut. (Ja, das Pairing hast Du offensichtlich hinbekommen, nur das Peering nicht.)
D.h. ohne Änderung der Arduino-Sketche kannst Du das nur über notify oder so in FHEM machen. Das ist dann aber kein Homematic-Thema, aber siehe Commandref, Wiki und Anfänger-PDF.

Momentan bin ich dabei, zumindest so etwas ähnliches wie den HBW-Sen-SC8 zu entwickeln. Ich habe zumindest zum Ziel, dass das Teil dann auch direktes Peering kann. (Siehe https://forum.fhem.de/index.php/topic,64700.0.html) Das hilft Dir aber auch erstmal nichts, da der HBW-LC-Sw8 ja auch keine Peerings kann. Du kannst aber auch so einen Wunsch-Thread wie der für den HBW-Sen-SC8 aufmachen, vielleicht wird das ja was. Kann aber noch dauern.

Ach ja, das hier könnte für Dich auch interessant sein: https://forum.fhem.de/index.php/topic,61780.0.html

Könntest Du noch ein paar Informationen zu Deinem USB-RS232 Adapter und Deinem Max485 liefern? ...bzw. der Schaltung dazu? Vielleicht könnte man das noch ins Wiki einfließen lassen.

Gruß,
   Thorsten



FUIP

Hotte1195

Hallo Thorsten,
Vielen Dank! Ich habe die Begriffe Peering und Pairing falsch verstanden. Daß ich die SC8 und LC8 schon "gepairt" hatte, hab ich gar nicht bemerkt. Aber wenn ich über die Begriffe nocheinmal nachdenke, verstehe ich es jetzt. Pairing ist ja die Verbindung der Zentrale mit den HMW Modulen. und das klappt ja.
Mein Problem ist ja die Verknüpfung der Kanäle miteinander. Aber auch das hast du schon beantwortet: Stichwort "notify". Nur klappt das nicht bei mir.
Wenn ich am SW8 einen Port nach GND kurzschließe bekomme ich einen "press_short_<Nr>" oder einen press_long_<Nr>". Wenn ich den Befehl "set <Aktor kanal am LC8> toggle" absetze, wird der Kanal umgeschaltet. So weit so gut. Wenn ich jetzt aber folgendes mache: "define Verknüpfung1 notify <Sensorkanal>:press_short set <Aktorkanal> toggle" legt er das zwar an, beim kurzschließen des Tasters passier aber am Ausgang nichts. Lasse ich in der Definition das ":press_short" weg, wird der Aktorausgang für den bruchteil einer Sekunde (oder auch eine ganze Sekunde ?) eingeschaltet, geht aber sofort wieder aus. Ich habe gestern noch bis nach Mitternacht rumprobiert und dann aufgegeben.

Gern kann ich zum RS485 Adapter was zusammenstellen. bisher sieht das noch sehr wild aus. Ein Foto im Anhang. Ich werde das aber mal sauber aufzeichnen und hier zur Verfügung stellen.

bG Holger

Thorsten Pferdekaemper

Zitat von: Hotte1195 am 16 Januar 2017, 11:57:35Wenn ich jetzt aber folgendes mache: "define Verknüpfung1 notify <Sensorkanal>:press_short set <Aktorkanal> toggle" legt er das zwar an, beim kurzschließen des Tasters passier aber am Ausgang nichts.
Klar, weil im entsprechenden Event nach press_short ja noch was kommt. Da trigger das Teil einfach nicht.

ZitatLasse ich in der Definition das ":press_short" weg, wird der Aktorausgang für den bruchteil einer Sekunde (oder auch eine ganze Sekunde ?) eingeschaltet, geht aber sofort wieder aus.
Auch klar, da das jetzt bei jedem Event trigger und bei einem Tastendruck gibt's zwei davon. So müsste es gehen:

define Verknüpfung1 notify <Sensorkanal>:press_short:.* set <Aktorkanal> toggle

Das ":.*" ist wichtig.

Zitat
Gern kann ich zum RS485 Adapter was zusammenstellen. bisher sieht das noch sehr wild aus. Ein Foto im Anhang. Ich werde das aber mal sauber aufzeichnen und hier zur Verfügung stellen.
Das sieht doch gar nicht so schlecht aus. Interessant wären auch Bezugsquellen...
Gruß,
   Thorsten
FUIP

Hotte1195

Hallo Thorsten,
Danke für die schnelle Antwort! Wie geht das denn? So einen schnellen Support habe ich ja bei kaum einem komerziellen Anbieter. Das ist ja unglaublich, was Du hier leistest.
Ich probier das mit dem .* gleich heute Abend aus, wenn ich nach Hause komme.

Zur Bezugsquelle des RS232 Bausteins, der ist von hier:

http://www.ebay.de/itm/FT232RL-3-3V-5-5V-FTDI-USB-to-TTL-Serial-Adapter-Module-Arduino-Mini-Port-/321647516230?hash=item4ae3af9a46

gibt aber verschiedene Anbieter.

Es gibt sowas auch schon fertig mit RS485 Ausgang, z.B.

http://www.ebay.de/itm/Neu-USB-to-RS485-TTL-Serial-Converter-Adapter-FTDI-Interface-FT232RL-75176-Modul-/121711270645?hash=item1c568e9af5

da hatte ich meist "Response Timeout" ich weiß aber noch nicht, warum. Muss ich noch testen. Eventuell ist mein Adapter beschädigt...?

rkannt werden die Bausteine im Raspi mit akt. Jessi problemlos als ttyUSB0. Der Rest steht im Fhem Wiki https://wiki.fhem.de/wiki/Serial/Netzwerk-RS485-Adapter

LG Holger


Ralf9

Zitat von: Hotte1195 am 16 Januar 2017, 13:59:50
Es gibt sowas auch schon fertig mit RS485 Ausgang, z.B.

Ja, dieser USB to RS485 TTL Serial Converter wäre interessant, wenn er funktionieren würde. Wenn ich es in der Abbildung richtig erkenne, hat er LEDs für TX und RX. Diese LED sind hilfreich bei der Fehlersuche.
Wenn Du z.B. mit on/off schaltest muß die TX und wenn als Antwort der aktuelle Zustand zurückgemeldet wird muß die RX LED leuchten.
Diese Antwort wird dann mit einem ACK bestätigt.
Wenn Du am HBW-Sen-SC8 einen Taster drückst muß die RX LED leuchten.

Genauso wie Du es mit dem roten FTDI USB to TTL Serial Adapter gemacht hast, müsstest Du Dir eigentlich auch mit dem USR-TCP232-T2 einen RS485 LAN Adapter basteln können.
http://www.ebay.de/itm/USRIOT-USR-TCP232-T2-Tiny-Serial-Ethernet-Converter-Module-Serial-UART-TTL/271840387659?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo
Der USR-TCP232-T2 hat einen 485_en Pin den Du mit dem TX enable des Max485 verbinden kannst.
Da in der Anleitung nicht steht ob der RX des USR-TCP232-T2  5V tolerant ist, ist es wahrscheinlich besser einen levelshifter zu verwenden.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

ManfredC

Moin,

ich hab den hier, tut einwandfrei:

http://sigma-shop.com/product/68/usb-to-rs485-ftdi-interface-board-pcb.html

Den  hier gab es noch nicht als ich meinen bestellt habe:

http://sigma-shop.com/product/130/usb-to-rs485-ftdi-interface-board-mini-pcb.html


Da die USB-Ports (Cubietruck) Mangelware sind, werde ich auf einen WIZNET 108 umsteigen.

-Manfred

Thorsten Pferdekaemper

Hi,
was ist denn da der Unterschied außer der Größe?
Gruß,
   Thorsten
FUIP

ManfredC

Hi,

der ältere nutzt den RS485 Treiber SN75176b von TI und ist gesockelt.

Welchen Treiber das neuere Modul nutzt weiß ich nicht, auf jeden Fall kann er nicht einfach gewechselt werden. Es ist kleiner, kann direkt am USB-Port eingesteckt werden und kostet weniger.

LEDs, die für die Fehlersuche nützlich sein können, haben beide.

-Manfred