HomeBrewWired - Diskussion zum Tutorial

Begonnen von Thorsten Pferdekaemper, 01 Dezember 2016, 22:03:19

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Zitat von: 2meter_pdm am 20 Februar 2017, 18:04:18
AH okay ich hab den Fehler gefunden.Wenn die Komponenten schon mal mit einer Zentrale gepairt bzw eine Verbindung hatten,dann geht das peering mit dem Aktor und einer beliebigen Taste nicht mehr
Wieso sollte das nicht gehen? So lange die Teile an die gleiche HMID gepairt waren ist das doch total egal. Nur das Peeren über die Knöpfchen an den Geräten geht vielleicht nicht mehr, aber das ist sowieso nicht menschenwürdig.
Gruß,
   Thorsten
FUIP

2Meterpdm

Ja genau so hatte ich das sonst immer gepeert gehabt.Mit den Tasten ohne Fhem.Muss mir mal angucken wie das über Fhem funktioniert mit dem peermanager...

Thorsten Pferdekaemper

Zitat von: 2Meterpdm am 20 Februar 2017, 22:49:53
Ja genau so hatte ich das sonst immer gepeert gehabt.Mit den Tasten ohne Fhem.Muss mir mal angucken wie das über Fhem funktioniert mit dem peermanager...
Schau einfach mal in der Doku nach... Also Deiner lokalen Commandref. Da steht bei HM485 alles drin.
FUIP

bjozim

Hallo Thorsten,

das Tutorial ist wirklich Klasse - damit habe ich meine Test-Set-Arduino im FHEM einbinden können. Kommunikation, Adresse setzen etc. funktioniert alles wie beschrieben - perfekt. Einige kleine Anpassungen konnte ich auch schon allein vornehmen. Ich verwende die Pins 0 und 1 für die Kommunikation, da ich später auch über RS485 den Arduino-Upload vornehmen werde (angepasster Bootloader) - ich muss jetzt zwar auf Debug-Ausgaben verzichten, aber das ist ok für mich.

Jetzt zu dem Punkt, an dem ich gerade nicht weiterkomme: In meinem kleinen Projekt verwende ich den Arduino zur Steuerung eine DC-Motors mit Encoder, der eine Art Öffnungsantrieb darstellt. Das Arduino-Programm dafür steht auch. Es gibt Dinge wie Referenzfahrt, Positionierungen, Setzten von Parametern, Lesen von Parametern etc. Nun würde ich das gern in FHEM einbinden. Im Minimalfall reicht mir hier eine Art Switch-Funktion - aber eben umgeleitet auf einen internen Aufruf (z.B. Positionierung "auf" und "zu") statt auf einen Output-Pin. Kannst Du mir hierbei ein wenig Nachhilfe geben, wie ich so etwas abbilden kann?

Danke und Gruß
Björn

Thorsten Pferdekaemper

Zitat von: bjozim am 28 Februar 2017, 20:22:28da ich später auch über RS485 den Arduino-Upload vornehmen werde (angepasster Bootloader) -
Wenn Du das hinbekommst, dann sag Bescheid. Mit eigenen Bootloadern habe ich mich bisher nicht befasst.

ZitatIm Minimalfall reicht mir hier eine Art Switch-Funktion - aber eben umgeleitet auf einen internen Aufruf (z.B. Positionierung "auf" und "zu") statt auf einen Output-Pin. Kannst Du mir hierbei ein wenig Nachhilfe geben, wie ich so etwas abbilden kann?
Schau Dir nochmal Folge 14 des Tutorials an. Dort wird gezeigt, wie man eigene Kanäle definiert. Hilft das?
Gruß,
   Thorsten
FUIP

bjozim

Hallo Thorsten,

ich habe mich jetzt mit dem Thema nochmal befasst. Sehr weit bin ich leider nicht gekommen.
Ich versuche auf Basis eines Switch die Dinge zu erweitern, die ich für die Positionierung meines Antriebs brauche. Zunächst mal geht es um mehrere Positions"register" - also Werte, die ich im späteren fhem-Betrieb per Befehl anfahren will.

Ich habe die XML also mal um einen Parameter "Open_Pos" erweitert:


<channel index="1" type="SWITCH" count="1" physical_index_offset="-1">
      <paramset id="hmw_switch_ch_master" type="MASTER" address_step="2" address_start="0x06">
<parameter id="LOGGING">
<logical type="option">
<option id="OFF"/>
<option id="ON" default="true"/>
</logical>
<physical size="0.1" type="integer" interface="eeprom">
<address index="+0"/>
</physical>
</parameter>
<parameter id="OPEN_POS">
<logical type="integer" unit="inc" default="12000" max="20000" min="0"/>
<physical size="8" type="integer" interface="eeprom">
<address index="+0"/>
</physical>
</parameter>
</paramset>


Das taucht im FHEM auch auf.

Womit ich aber überhaupt nicht klar komme, ist die Arduino-Seite. An welcher Stelle finde ich hier die Abbildung der Parameter und wie binde ich hier zusätzliche Werte ein?

Gruß
Björn

Thorsten Pferdekaemper

Hi,
also ich dachte eigentlich, dass das im Tutorial beschrieben ist. Schau Dir nochmal ganz genau die Erklärung zu den Gerätebeschreibungsdateien an. Bei Dir sind folgende Angaben schonmal falsch:
address_step
address index (bei OPEN_POS)
physical size (bei OPEN_POS)

Dann musst Du die Datenstruktur der Kanal-Config im Sketch so erweitern, dass sie dem entspricht, was im paramset für die Kanalkonfiguration eingestellt ist. In der Kanalimplementierung solltest Du dann darauf zugreifen können.

Gruß,
   Thorsten
FUIP

Stadtgrenze

#52
Hallo Thorsten,

auch wenn in diesem Thema lange nichts mehr passiert ist: Vielen Dank für das Tutorium!!
Ich habe es erst vor kurzem gefunden und gleich problemlos einen Arduino- Mikro mit Max 485 nach deiner Anleitung zum Laufen gebracht.

Nachdem die 12 I/O- wired Originale nicht mehr verfügbar sind, würde ich gerne meine Gira- 6fach Taster und deren
LEDs mit deiner Lösung betreiben.

Ich versuche mich weiter mit 6I's und 6O's... mal sehen ob die Ports des Mikro ausreichen.
Ich denke, ich muss dazu die SPI- Ports zweckentfremden...
Es bleibt also spannend (zumindest für mich)

Ich würde mich freuen, wenn das Tutorium weitergeführt würde! Ich bin dabei..

Gruß und nochmals Danke

Rainer
   

Thorsten Pferdekaemper

Zitat von: Stadtgrenze am 10 August 2017, 18:52:26auch wenn in diesem Thema lange nichts mehr passiert ist: Vielen Dank für das Tutorium!!
Ich habe es erst vor kurzem gefunden und gleich problemlos einen Arduino- Mikro mit Max 485 nach deiner Anleitung zum Laufen gebracht.
Freut mich!

Zitat
Nachdem die 12 I/O- wired Originale nicht mehr verfügbar sind, würde ich gerne meine Gira- 6fach Taster und deren
LEDs mit deiner Lösung betreiben.
Ich versuche mich weiter mit 6I's und 6O's...
Ich würde Dir empfehlen, mit dem HBW-Sen-Key-12 anzufangen (siehe https://wiki.fhem.de/wiki/HomeMatic_Wired#Aktoren_.2F_Sensoren bzw. https://forum.fhem.de/index.php/topic,64700.msg563558.html#msg563558).
...und dann 6 der Eingänge zu Ausgängen machen. Ich glaube, da müsste sogar drin sein, 6 PWM-Ports zu nehmen, dann könntest Du die LEDs sogar dimmen.

Zitat
mal sehen ob die Ports des Mikro ausreichen.
Ich denke, ich muss dazu die SPI- Ports zweckentfremden...
Das sollte kein Problem sein. Mit dem Uno bzw. Nano geht das ja auch mit 12 Eingängen.

Zitat
Ich würde mich freuen, wenn das Tutorium weitergeführt würde! Ich bin dabei..
Zurzeit habe ich nicht so viel Zeit. Außerdem will ich noch ein paar Sachen für das FHEM-Modul machen, das geht erstmal vor.

Gruß,
   Thorsten
FUIP

aperoap

#54
Hallo Zusammen,
tolles Projekt was ihr hier auf die Beine gebracht habt. Ich verfolge das Ganze schon länger und habe mittlerweile HBW_Sen_Key_12 (Key) und HBW_LC_Sw8 (Switch) zum laufen bekommen. Läuft alles toll und sehr zuverlässig. Jetzt wollte ich  HBW_Sen_Key_12_HBW6063361_01 mit HBW_LC_Sw8_HBW7296257_01 peeren. Der Befehlt set HBW_Sen_Key_12_HBW6063361_01 peer HBW_LC_Sw8_HBW7296257_01 liefert aber volgende Meldung und peeren funktioniert nicht. "Unknown argument peer, choose one of config"
Gibt es eine Möglichkeit die zwei Hardwares zu peeren?

Danke und Gruß,

Arthur

Thorsten Pferdekaemper

Zitat von: aperoap am 10 September 2017, 00:08:31Gibt es eine Möglichkeit die zwei Hardwares zu peeren?
Hi,
der HBW_LC_Sw8 kann (in der derzeitigen Ausprägung) keine direkten Peerings. Vielleicht hat jemand Lust und Zeit, das einzubauen. Ich habe nur Lust, aber keine Zeit...
Wahrscheinlich hast Du am Bus auch sonst keine "switches", die Peering können. Daher wird der "set ... peer"-Befehl für Keys gar nicht erst zur Verfügung gestellt.
Gruß,
   Thorsten
FUIP

aperoap

Zitat von: Thorsten Pferdekaemper am 11 September 2017, 11:32:53
Hi,
der HBW_LC_Sw8 kann (in der derzeitigen Ausprägung) keine direkten Peerings. Vielleicht hat jemand Lust und Zeit, das einzubauen. Ich habe nur Lust, aber keine Zeit...
Wahrscheinlich hast Du am Bus auch sonst keine "switches", die Peering können. Daher wird der "set ... peer"-Befehl für Keys gar nicht erst zur Verfügung gestellt.
Gruß,
   Thorsten
Hi, ich hätte auch Lust aber keine Zeit (Bin am modernisieren) und die nötige Kompetenz nicht.

In XML Datei ist der "LINK" und die <frame id="LEVEL_GET" type="#S" direction="to_device" channel_field="10"/> vorhanden.
Wo und wie soll das genau eingebunden werden?

Gruß
Arthur

Thorsten Pferdekaemper

Zitat von: aperoap am 11 September 2017, 22:26:12
In XML Datei ist der "LINK"
...also nicht in der, die mir bekannt ist. In der alten .pm-Datei war ein "link" drin, aber ohne Inhalt.

Zitat
und die <frame id="LEVEL_GET" type="#S" direction="to_device" channel_field="10"/> vorhanden.
Das bedeutet einfach nur, dass man den Zustand eines Kanals auch lesen kann. Mit einem direkten Peering hat das erstmal nichts zu tun.

Zitat
Wo und wie soll das genau eingebunden werden?
Als erstes muss das mal in die Firmware rein. Wie das ganz genau geht kann ich so Ad-Hoc auch nicht sagen, da ich die Firmware vom HBW_LC_Sw8 nicht geschrieben habe. Wahrscheinlich basiert die noch auf den alten Libraries, da muss man also wahrscheinlich komplett umstellen.
Ins XML muss es dann auch noch rein, damit FHEM (oder eben eine CCU) das dann auch kapieren.
Gruß,
   Thorsten
FUIP

aperoap

Das wird zu kompliziert, ich hoffe da macht sich jemand dran, der auch tief in Materie ist. Kennst du vielleicht andere Möglichkeit die zwei Devices durch fhem zusammen zu verbinden?

Thorsten Pferdekaemper

Zitat von: aperoap am 11 September 2017, 23:27:07
Das wird zu kompliziert, ich hoffe da macht sich jemand dran, der auch tief in Materie ist.
Vielleicht erbarmt sich ja jemand, wenn Du mal einen eigenen Thread dazu aufmachst.

Zitat
Kennst du vielleicht andere Möglichkeit die zwei Devices durch fhem zusammen zu verbinden?
Diese Frage gehört eigentlich in den Anfängerbereich. Ein Stichwort ist "notify". Du solltest Dir aber auf jeden Fall mal das Anfänger-PDF durchlesen.
Gruß,
   Thorsten
FUIP