FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Thorsten Pferdekaemper am 01 Dezember 2016, 22:03:19

Titel: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 01 Dezember 2016, 22:03:19
Hi,
das hier ist der versprochene Diskussions-Thread zum Tutorial (https://forum.fhem.de/index.php/topic,61780.0.html).
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Papaloewe am 04 Dezember 2016, 18:51:24
Hallo Torsten,

zunächst einmal möchte ich mich für dein HomeBrewWired Tutorial bedanken.
Ich hatte das Thema zwar zur Kenntnis genommen, konnte aber bisher nicht so richtig etwas anfangen.

Ich versuche nun die von dir beschriebenen Schritte nachzuvollziehen.
Die HBW Arduino Libraries habe ich eingebunden, aber beim versuch den minimal Sketch zu kompilieren erscheint folgende Fehlermeldung:

Arduino: 1.6.5 (Linux), Platine: "Arduino Nano, ATmega328"

Build-Optionen wurden verändert, alles wird neu gebaut
Verwende die Bibliothek HBWSoftwareSerial im Ordner: /home/tom/Arduino/libraries/HBWSoftwareSerial (legacy)
Verwende die Bibliothek HBWired im Ordner: /home/tom/Arduino/libraries/HBWired (legacy)

/home/tom/arduino-1.6.5/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/tom/arduino-1.6.5/hardware/arduino/avr/cores/arduino -I/home/tom/arduino-1.6.5/hardware/arduino/avr/variants/eightanaloginputs -I/home/tom/Arduino/libraries/HBWSoftwareSerial -I/home/tom/Arduino/libraries/HBWired /tmp/build697044926723096382.tmp/sketch_dec03a.cpp -o /tmp/build697044926723096382.tmp/sketch_dec03a.cpp.o
/home/tom/arduino-1.6.5/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/tom/arduino-1.6.5/hardware/arduino/avr/cores/arduino -I/home/tom/arduino-1.6.5/hardware/arduino/avr/variants/eightanaloginputs -I/home/tom/Arduino/libraries/HBWSoftwareSerial -I/home/tom/Arduino/libraries/HBWired -I/home/tom/Arduino/libraries/HBWSoftwareSerial/utility /home/tom/Arduino/libraries/HBWSoftwareSerial/HBWSoftwareSerial.cpp -o /tmp/build697044926723096382.tmp/HBWSoftwareSerial/HBWSoftwareSerial.cpp.o
/home/tom/arduino-1.6.5/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/tom/arduino-1.6.5/hardware/arduino/avr/cores/arduino -I/home/tom/arduino-1.6.5/hardware/arduino/avr/variants/eightanaloginputs -I/home/tom/Arduino/libraries/HBWSoftwareSerial -I/home/tom/Arduino/libraries/HBWired -I/home/tom/Arduino/libraries/HBWired/utility /home/tom/Arduino/libraries/HBWired/HBWired.cpp -o /tmp/build697044926723096382.tmp/HBWired/HBWired.cpp.o
/home/tom/Arduino/libraries/HBWired/HBWired.cpp:14:20: fatal error: EEPROM.h: No such file or directory
#include <EEPROM.h>
                    ^
compilation terminated.
Fehler beim Kompilieren.



Woran könnte das liegen?
Ardunino IDE Version 1.6.5 unter Ubuntu Linux.

Gruß Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 04 Dezember 2016, 19:59:55
Hi,
ich habe selbst die IDE 1.6.12 (auf Windows) und habe mir jetzt mal die Release Notes zwischen 1.6.5 und 1.6.12 betrachtet. Bei 1.6.7 steht dort...
Zitat
faster, better prototype generation and library discovery logic,
Vielleicht schlägt das hier zu.
Versuch mal im Haupt-Sketch die Zeile "#include <EEPROM.h>" vor dem #include "HBWSoftwareSerial.h" einzufügen. D.h. es müsste dann so aussehen:

#define HMW_DEVICETYPE 0xAB

#define HARDWARE_VERSION 0x01
#define FIRMWARE_VERSION 0x0100

#include <EEPROM.h>                   
#include "HBWSoftwareSerial.h"
#include "HBWired.h"

#define RS485_RXD 4   // Receive-Pin


EDIT: Vielleicht wird das sogar schon mit 1.6.6 unnötig. Dort steht nämlich:
Zitat
* Library to library dependencies: when your sketch imports a library, and that library uses another, the IDE will find out without you having to add a useless #include to your sketch

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Papaloewe am 04 Dezember 2016, 21:12:47
ok, danke das wars:
ZitatVielleicht schlägt das hier zu.
Versuch mal im Haupt-Sketch die Zeile "#include <EEPROM.h>" vor dem #include "HBWSoftwareSerial.h"

Jetzt kann es für mich weiter gehen ;-)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 04 Dezember 2016, 22:45:40
Ok, danke. Ich hab's jetzt auch ins Tutorial eingefügt.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 08 Dezember 2016, 22:15:22
keine frage... aber ein vorschlag für ein device :)

ein counter der ein (oder mehrere) s0 stromzähler auswerten und in fhem zur verfügung stellen kann.

hintergrund: ich bin gerade dabei eine kleine unterverteilung für die keller lüftung und ein einer hand voll geschalteter steckdosen für den garten fertig zu machen.

da ich noch ein paar s0 zwischenzäher rum liegen habe die eigentlich für die einzelne zimmer vorgesehen waren, die aber nicht mehr in die etagenverteiler passen, kommt einer davon jetzt in den hm wired unterverteiler.

im keller ist zwar noch ein 1-wire counter mit einem freien eingang, der ist aber fast am anderen keller ende.

statt den zwischenzähler jetzt mit einem zusätzlichen 1-wire counter an fhem anzubinden sollte das doch eigentlich auch direkt und ohne 1-wire umweg mit einem homebrew wired sensor möglich sein. so etwas wie ein hbw-es-ep-dr?

vielleicht gibt es ja noch andere interessenten für so etwas.

gruss
  andre
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 08 Dezember 2016, 22:27:06
Hi,
ok, wir können mal versuchen, darauf hinzuarbeiten. Allerdings habe ich keinen s0-Stromzähler und weiß auch nicht, was der so als Signal absondert oder wie er sich abfragen lässt. Könntest Du das erklären?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 08 Dezember 2016, 22:40:07
s0 ist eine standardisierte schnittstelle zur übertragung von verbrauchswerten. es gibt mindestens wasser, strom und gas zähler mit s0 schnittstelle.

ja nach zähler werden eine bestimme anzahl an impulsen pro kWh erzeugt. 1000 ist recht häufig.

das ganze lässt sich recht einfach per pin change interrupt auswerten.

bei echten 1-wire countern bleibt der zählerstand auch ohne strom für mindestens ein paar tage erhalten. die die avr basierten 1-wire counter emulationen bildern das über einen batterie oder supercup buffer nach. hast du eine idee wie man das bei der hbw version lösen kann?

gruss
  andre

ps: noch ein zwei links:

wikpedia s0: https://de.wikipedia.org/wiki/S0-Schnittstelle (https://de.wikipedia.org/wiki/S0-Schnittstelle)

ein arduino s0 zähler:https://forum.fhem.de/index.php/topic,19285.msg149324.html#msg149324 (https://forum.fhem.de/index.php/topic,19285.msg149324.html#msg149324), es gibt noch ein paar andere hier im forum und mindestens 2 avr basierte 1-wire emulationen
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 08 Dezember 2016, 23:19:15
Hi,

hier ist schon eine HBW-Implementierung für S0-Signale: https://github.com/kc-GitHub/HM485-Lib/tree/thorsten/HBW-Sen-EP
...allerdings passt die nicht zu den neuen Libraries und verwendet auch keinen Pin Change Interrupt. Das wäre natürlich besser.
Mal sehen, man müsste das ganze ja mit einem simplen Taster simulieren können.

Zum Zählerstand: Man kann den natürlich im EEPROM speichern, aber wie lange das EEPROM das mitmacht ist eine andere Sache. Vielleicht sollte man das eher auf der FHEM-Seite speichern und halt das HBW-Gerät immer nur sowas wie "Impulse seit dem letzten Reset" liefern lassen.
...oder man lässt den Arduino seine eigene Eingangsspannung überwachen und speichert dann ins EEPROM, wenn die Spannung zusammenbricht. Natürlich muss man dann noch die tatsächliche Spannungsversorgung über einen dicken Kondensator oder so puffern.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: derHeimwerker am 09 Dezember 2016, 07:46:46
Hallo Thorsten,

eine super Tutorial ! Ich kann leider bisher aus Zeitgründen noch nicht "mitwerkeln". Aber total klasse beschrieben ! Freu mich auf die freie Weihnachtszeit.
Gruß
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 09 Dezember 2016, 09:55:27
Zitat von: derHeimwerker am 09 Dezember 2016, 07:46:46eine super Tutorial ! Ich kann leider bisher aus Zeitgründen noch nicht "mitwerkeln". Aber total klasse beschrieben ! Freu mich auf die freie Weihnachtszeit.
Danke!
Über Weihnachten werde ich selbst wahrscheinlich eher weniger Zeit haben. Es sollte aber reichen, um auf Fragen zu antworten.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 09 Dezember 2016, 10:18:41
vielleicht komme ich über weihnachten dazu das ganze mal mit der neuen lib zu probieren.


die idee ist schon den zähler nur dann ins eeprom zu schreiben wenn es nötig ist. also überwachen der eigenen spannung wäre ideal. vielleicht hat ja jemand schon eine idee zur hardware.

gruss
  andre
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Papaloewe am 09 Dezember 2016, 11:09:15
Ich kann auch erst in den Weihnachtsferien weitermachen.
Auch das Thema mit dem S0-Counter ist sehr interessant für mich.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 09 Dezember 2016, 11:21:57
Zitat von: justme1968 am 09 Dezember 2016, 10:18:41die idee ist schon den zähler nur dann ins eeprom zu schreiben wenn es nötig ist. also überwachen der eigenen spannung wäre ideal. vielleicht hat ja jemand schon eine idee zur hardware.
...oder sowas: https://www.adafruit.com/product/1897
Das scheint wesentlich stabiler als ein EEPROM zu sein.
Was auch eine Möglichkeit wäre: Wenn die Zentrale, auf der FHEM läuft, sowieso an einer USV hängt, dann da einfach den Arduino mit dranhängen. Wenn die USV dann alles runterfährt, dann einen Befehl an das HBW-Device schicken, um alles zu speichern.
...oder dem Arduino eine große SD-Karte spendieren und darauf schreiben.
Es gibt da schon einige Möglichkeiten.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 09 Dezember 2016, 11:46:05
das schaut gut aus.

für den panstamp innenraum sensor hatten wir ein nvsram baustein vorgesehen. das funktioniert ähnlich. ist mir viel teurer.
fhem hängt zwar an einer usv, dir hmw unterverteilung aber nicht.

so autonom und stabil wie möglich sollte es sein.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 09 Dezember 2016, 11:55:46
hab eben gesehen das es vom fram auch 8k versionen (noch günstiger) gibt und mal einen zum testen bestellt.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Hoschiq am 09 Dezember 2016, 13:02:59
Hallo Thorsten,

danke für das Tutorial.
Ich würde mir wünschen, dass der Aufbau der XML im Zusammenhang mit EEPROM und möglichen Kommunikationsvorgängen zwischen Gerät und Zentrale doch etwas detaillierter berschrieben wird.
Vorallem der Aufbau der Frames und deren Verwendung im channels Teil der XML ist nicht immer einfach zu deuten.

Ich habe für meine Geräte eine kleine Doku Datei erzeugt, in der ich EEPROM Channels etc dokumentiere. Das ist im Prinzip auch aus dem XML ersichtlich, allerdings fand ich es schwer beim Hinzufügen der neuen Channels die korrekten Start Adressen sowie die Größe von adress_step korrekt anzugeben. Da die Größe von address_step sich ja aus der Größe von der entsprechenden Channeld Konfiguration hier:
struct hbw_config_switch {
uint8_t logging:1;              // 0x0000
uint8_t        :7;              // 0x0000
};

ergibt wenn ich nicht ganz falsch liege. Das XML war dann bei entsprechender Größe immer etwas unübersichtlich.


Anbei mal eine Beispieldoku für das Tuorial Device. (hoffentlich richtig..)

EEPROM Usage

Used for , Start Address, End Address, Size in Bytes
logging_time, 0x0001,      0x0001,    1
central_address, 0x0002, 0x0005, 4

switch configuration 1, 0x0006, 0x0006, 1*1

device id, 0x03FC,(1020), 0x0400,(1024), 4

Channel description
######################################################################
Channel,  channel id, physical channel id
switch, 1 ,0

Communication Description
######################################################################
Frames, Homematic Command, Communication flow, Acknowledged
SET_LEVEL,  x CCU->device, yes
GET_LEVEL,  S CCU->device, yes
INFO_LEVEL, i device->CCU, yes


VG
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 09 Dezember 2016, 17:57:41
Hi,
ok, ich kann dazu vielleicht doch noch etwas mehr sagen, aber ich weiß auch nicht mehr, als sich aus den XMLs erraten lässt.
Übrigens: hbw_config_switch hat 2 Bytes. Die werden zwar nicht benutzt, aber später bei hbw_config_key sind es auch zwei Bytes und es gibt Devices, bei denen ein Kanal sowohl als Switch als auch als Key funktionieren kann. Daher ist bei beiden der "step" 2.
...und die Device-Id geht von 0x03FC (1020) bis 0x03FFF (1023). Die Adresse 1024 gibt es nicht.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 09 Dezember 2016, 18:02:54
Zitat von: justme1968 am 09 Dezember 2016, 11:55:46
hab eben gesehen das es vom from auch 8k versionen (noch günstiger) gibt und mal einen zum testen bestellt.
Ok, halte uns dazu mal auf dem Laufenden.
Außerdem: Ich finde bei der Suche nach "S0 Zähler" haufenweise Geräte mit S0-Eingang, aber alles was einen S0-Ausgang hat, hat auch allen anderen Blödsinn (z.B. ein Display...) und ist entsprechend teuer. Was verwendest Du?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 09 Dezember 2016, 18:14:06
für den zwischenverteiler den hier: https://www.amazon.de/E-Tech-DRS155B-Wechselstromzähler-Stromzähler-Schnittstelle/dp/B004QA4ZUG (https://www.amazon.de/E-Tech-DRS155B-Wechselstromz%C3%A4hler-Stromz%C3%A4hler-Schnittstelle/dp/B004QA4ZUG). das sind auch die die eigentlich vor jedes zimmer sollten.

damals hatte ich auch welche ohne display gefunden, die waren aber nur 2 oder 3 euro günstiger. und zur kontrolle ist das display garnicht schlecht.


fürs ganze haus (direkt nach dem normalen zähler) so einen: https://www.amazon.de/Stromzähler-DRT428D-Drehstromzähler-Hutschiene-Energiemessgerät/dp/B004QAV3CO (https://www.amazon.de/Stromz%C3%A4hler-DRT428D-Drehstromz%C3%A4hler-Hutschiene-Energiemessger%C3%A4t/dp/B004QAV3CO). der hängt per 1 wire counter an fhem.

wenn du nach s0 zähler suchst findest du wahrscheinlich genau diese (teuren) 1 wire counter die mit unserem potentiellen hbw modul überflüssig werden. und auch mehr als 2 eingänge schaffen sollten.

gruss
  andre

ps: jetzt wollte ich ja eigentlich nur die lüftung machen und etwas beleuchtung und teich pumpe. inzwischen ist schon der dritte aktor hinzugekommen für die zirkulations pumpe die zufällig direkt daneben ist. ein glück das ich im haus weder bus kabel noch alles sternförmig in den schaltschrank verkabelt habe. sonst würde das ziemlich teuer kommen wenn ich noch mehr dinge zum nachrüsten finden würde. :)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 10 Dezember 2016, 19:46:15
Zitat von: justme1968 am 09 Dezember 2016, 18:14:06
ps: jetzt wollte ich ja eigentlich nur die lüftung machen und etwas beleuchtung und teich pumpe. inzwischen ist schon der dritte aktor hinzugekommen für die zirkulations pumpe die zufällig direkt daneben ist. ein glück das ich im haus weder bus kabel noch alles sternförmig in den schaltschrank verkabelt habe. sonst würde das ziemlich teuer kommen wenn ich noch mehr dinge zum nachrüsten finden würde. :)
Sollen wir mal versuchen, eine WLan-Bridge für HMWired zu bauen?  8)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 10 Dezember 2016, 19:53:56
du wirst lachen... daran habe ich auch schon gedacht.

ein esp sollte schon fast reichen dafür :)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 10 Dezember 2016, 19:58:02
Zitat von: justme1968 am 10 Dezember 2016, 19:53:56
du wirst lachen... daran habe ich auch schon gedacht.

ein esp sollte schon fast reichen dafür :)
Nur dass Du für RS485 5V brauchst.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: justme1968 am 10 Dezember 2016, 20:21:40
nicht unbedingt. eigentlich kommt es doch nur auf relativen pegel von a und b an.

das problem ist doch eher das die eingänge des esp nur 3.3v vertragen.

aber dafür gibt es ja z.b. den max3485. den haben wir auch auf den panstamp rgb boards (3.3v avr) für dmx verwendet. das funktioniert wunderbar.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: EdgarM am 13 Dezember 2016, 15:10:06
Hallo Thorsten,

ich habe sehr grosses Interesse, allerdings kann ich erst ab Februar testen da ich erst mit der Sanierung meiner neuen Wohnung anfange.

HM Wired ist bereits fest eingeplant, und 1wire würde ich gerne damit benutzen.

Werde Feedback geben, sobald das System live ist ;)

Danke für die Arbeit.

grüße

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: fuppking am 13 Dezember 2016, 15:32:40
Hallo

so doof kann ich nicht sein.... (oder doch)

ich ab nun homekit mehrfrach installiert (immer aufn frisches System) so vom optischen her läuft alles gut
nur es funktioniert nicht - in bonjour find auch nix. aufm iPhone ist auch nix zu sehn
wo kann ich guggen ob alles richtig ist oder ne log Datei
a
Bitte bitte danke
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 13 Dezember 2016, 15:40:10
Zitat von: fuppking am 13 Dezember 2016, 15:32:40
ich ab nun homekit mehrfrach installiert (immer aufn frisches System) so vom optischen her läuft alles gut
nur es funktioniert nicht - in bonjour find auch nix. aufm iPhone ist auch nix zu sehn
Falscher Thread? Was hat das mit HBWired zu tun?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 13 Dezember 2016, 15:45:30
Zitat von: EdgarM am 13 Dezember 2016, 15:10:06
ich habe sehr grosses Interesse, allerdings kann ich erst ab Februar testen da ich erst mit der Sanierung meiner neuen Wohnung anfange.

HM Wired ist bereits fest eingeplant, und 1wire würde ich gerne damit benutzen.

Werde Feedback geben, sobald das System live ist ;)
Ein Tipp: Fang schon an, bevor die Sanierung wirklich startet. Bastel Dir zumindest mal ein Testsystem zusammen, damit Du auch sicher weißt, dass alles so funktioniert, wie Du Dir das vorstellst. Es ist ziemlich blöd, wenn man gerade saniert hat und danach doch noch ein paar Kabel braucht.
Ich selbst habe etwa eine Woche lang nichts anderes gemacht, als die Verkabelung, inclusive Lage von Lampen und Steckdosen zu planen. Dann kommt noch das dazu, was in den Schaltkasten muss. Das sollte man auch ganz genau wissen, bevor man Löcher in Wände macht.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: EdgarM am 13 Dezember 2016, 15:55:18
Hallo Thorsten,

Bin seit einem Monat beim planen :)

Licht, kabel, netzwerk habe ich (hoffentlich) soweit fertig. Heute noch eine besprechung mit dem elektriker. 

Rollo bzw jalousie hab ich schon mal eingeplant, hab aber gar keine :)

Einzig temperatur feuchtigkeit und qualität der luft hat fehlt mir noch.

Mal sehen.

Hm wired hardware hab ich schon mal bestellt, wird auch getestet.



Trotzdem danke für den Hinweis, mein Kopf glüht schon. Und trotzdem wird am ende was fehlen ;)

Grüsse





Gesendet von iPad mit Tapatalk
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Papaloewe am 14 Dezember 2016, 11:02:33
ZitatUnd trotzdem wird am ende was fehlen

Das ist immer so.  :)
Da fällt mir das folgende Sprichwort zu ein:

"Das erste Haus baust du für deinen Feind,
das zweite für deinen Freund
und das dritte dann für dich selbst."
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: pula am 05 Januar 2017, 23:01:01
Hallo,

@Thorsten: Vielen Dank für dieses super Tutorial.
Ich habe allerdings ein paar Verständnis-Probleme....

1) Ich habe ein Hm wired Lan-Gateway im Schaktschrank mit einigen HMW-Komponenten, die ich gerne erweitern/tauschen würde
2) vor allem würde ich gerne ein HBW-Sen-SC8 bauen, um vorhandene Komponenten zu ersetzen

Daher folgende Fragen:
Das Tutorial bezieht sich immer auf ein USB-RS485 Dongle, das für mich nicht so einsetzbar ist, weil mein Server ganz wo anders steht.
Weißt Du, wie der aktuelle Status vom HBW-Sen-SC8 ist? Wie ließe sich dieser mit aktuellem fhem und dem HMW-Lan-Adapter betreiben?
Ich vermute, daß ich nicht der einzige mit diesen Fragen bin und hoffe, daß Du hier weiterhelfen kannst....

Cheers,

Pula
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 06 Januar 2017, 09:39:24
Zitat von: pula am 05 Januar 2017, 23:01:01Das Tutorial bezieht sich immer auf ein USB-RS485 Dongle, das für mich nicht so einsetzbar ist, weil mein Server ganz wo anders steht.
Ich habe das nur für das USB-Teil beschrieben, weil das meiner Meinung nach am einfachsten und stabilsten ist. Wenn Du schon irgendwas anderes hast, dann ist das auch ok. Den Geräten ist es egal, wie der Bus an die Zentrale angebunden ist.

ZitatWeißt Du, wie der aktuelle Status vom HBW-Sen-SC8 ist? Wie ließe sich dieser mit aktuellem fhem und dem HMW-Lan-Adapter betreiben?
Das Tutorial soll eigentlich helfen, eigene Geräte zu bauen. Es geht nicht unbedingt darum, fertige Geräte zu präsentieren. D.h. wenn Du das Tutorial durch hast, dann könntest Du selbst in der Lage sein, ein HBW-Sen-SC8 zu bauen. Das könntest Du dann in einem eigenen Thread präsentieren.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: pula am 06 Januar 2017, 16:57:50
Danke für Deine Antworten!
Dann hab ich da offenbar was missverstanden - ich dachte, weil das Tutorial so basic ist, würde es sich eher an Anwender wenden....

Cheers,

Pula
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 06 Januar 2017, 19:14:06
Zitat von: pula am 06 Januar 2017, 16:57:50Dann hab ich da offenbar was missverstanden - ich dachte, weil das Tutorial so basic ist, würde es sich eher an Anwender wenden....
Schau Dir's doch einfach mal an, dann weißt Du, ob's was für Dich ist.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Funsailor am 07 Januar 2017, 18:33:57
Hallo Thorsten,
ich habe zum Testen ein Arduino mit dem "hbw_lc_sw8" geladen.
Die "hbw_lc_sw8.pm" habe ich ins Verzeichnis "D:\Fhem\FHEM\lib\HM485\Devices" kopiert.
Aber trotzdem wird nur ein generic device angelegt.
Wenn ich dann versuche, das Modell von Hand zu ändern, werden in dem Pull Down Menü nur die Standart HMW Devices angezeigt.

Um den LAN Adapter als Ursache auszuschließen, hänge ich im Moment direkt via USB - Serial am Lapi. (Der mich mit seiner unterirdischen Leistung zur Weißglut  >:( bringt)
Die suche im Netz ist damit eine einzige Qual... habe schon lange nicht mehr so viele Sanduhren gesehen..
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 Januar 2017, 18:39:04
Zitat von: Funsailor am 07 Januar 2017, 18:33:57ich habe zum Testen ein Arduino mit dem "hbw_lc_sw8" geladen.
...und was hat das mit dem Tutorial zu tun?
Am besten machst Du einen neuen Thread zu dem Thema auf. Vielleicht meldet sich da derjenige, der den Sketch bzw. die .pm-Datei geschrieben hat. Ich war das nicht.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Funsailor am 07 Januar 2017, 18:47:52
Hallo Thorsten,
ich habe ja die Installation auf Windows mit dem Starten des HM485Daemon via Batchdatei aus dem Tutorial übernommen. Und es wird ja nicht nur der "hbw_lc_sw8" nicht gefunden, sondern alle anderen in diesem Directory abgelegten Modelle werden nicht gefunden.
Oder gehe ich da von einer falschen Annahme aus?
Ich dachte, das alles was in dem Verzeichnis "D:\Fhem\FHEM\lib\HM485\Devices" als *.pm Datei abgelegt ist, als Modell auswählbar ist.
LG
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 Januar 2017, 18:51:58
Hi,
zuerst hattest Du aber gesagt, dass die Standardmodelle vorhanden sind. Was denn nun?
Übrigens funktioniert es nie, das Modell von Hand zu ändern. Wenn FHEM das Device nicht automatisch erkennt, dann wird es auch mit Deiner Hilfe nicht funktionieren.
Wenn Du Dein Setup ausprobieren willst, dann häng' ein Standard-Device dran oder mach einfach mit dem Tutorial weiter.
Wenn Du ein funktionierendes hbw_lc_sw8 haben willst, dann mach am besten einen neuen Thread auf.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Funsailor am 07 Januar 2017, 19:22:24
Hi,
ja, es werden nur die Standart HMW Modelle im PullDown Menü angezeigt, in der Devices Directory sind aber bei der Installation mehr pm Dateien abgelegt worden.
Aber beim genauem hinsehen sind das die gleichen Devices, nur verschiedenen Versionen.
z.B.: hmw_io_4_fm.pm und hmw_io_4_fm_V3_02.pm
Aber die Modellnamen im Modul unterscheiden sich auch...
Also stellte sich mir die Frage, warum wird unter den Modellen nicht alles angezeigt.

Das hbw_lc_sw8 habe ich willkürlich als Testobjekt ausgewählt. Wenn das nicht geht nehm ich auch was anderes.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 Januar 2017, 20:32:43
Zitat von: Funsailor am 07 Januar 2017, 19:22:24
ja, es werden nur die Standart HMW Modelle im PullDown Menü angezeigt, in der Devices Directory sind aber bei der Installation mehr pm Dateien abgelegt worden.
Dann sind das wahrscheinlich keine gültigen Gerätebeschreibungsdateien oder eben nur verschiedene Versionen des gleichen Geräts.

Zitat
Aber beim genauem hinsehen sind das die gleichen Devices, nur verschiedenen Versionen.
z.B.: hmw_io_4_fm.pm und hmw_io_4_fm_V3_02.pm
Aber die Modellnamen im Modul unterscheiden sich auch...
Ich kann da keine Unterschiede feststellen.

ZitatAlso stellte sich mir die Frage, warum wird unter den Modellen nicht alles angezeigt.
Siehe oben.

Zitat
Das hbw_lc_sw8 habe ich willkürlich als Testobjekt ausgewählt. Wenn das nicht geht nehm ich auch was anderes.
Ja, irgend ein Standard-Device. ...oder mache einfach das Tutorial durch, dort entsteht dann ein funktionierendes Gerät.

Gruß,
    Thorsten

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Funsailor am 07 Januar 2017, 21:44:50
Hi Thorsten,
da muss ich dir aber  wiedersprechen.

hmw_io_4_fm.pm:
//-----------------------------------------------
package HM485::Devicefile;
our %definition = (
   'HMW_IO_4_FM' => {
      'version' =>    11,
//-----------------------------------------------
hmw_io_4_fm_V3_02.pm:
//-----------------------------------------------
package HM485::Devicefile;
our %definition = (
   'HMW_IO_4_FM_V3_02' => {
      'version' =>    7,
//-----------------------------------------------

Inwieweit die Unterschiede in der Zeile
our %definition
etwas ausmachen kannst du besser beurteilen.

LG
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 Januar 2017, 22:32:19
Hi,
die Modellnamen sind das, was unter supported_types steht.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: 2meter_pdm am 19 Februar 2017, 19:13:50
Hey Thorsten auch von mir ein dickes Lob.
Ich bin begeistert.Ich habe jetzt alles zusammen geschustert und ein bisschen getestet.In Fhem funktioniert alles Super mit einem Arduino Nano und einem RS-485 (MAX485) TTL Schnittstellen Adapter.Jetzt wollte ich mal Peerings mit einem HMW-LC-Sw2-DR testen, aber die einzelnen Tasten lassen sich nicht mit dem Aktor verbinden.Ich habe den Homematic 485 Netzwerkadapter und deinen Letzten Version vom HBW-Sen-Key12 von  vor 22 Tagen am laufen.Hast du die Direktverbindungen jetzt schon testen können und funktionieren diese bei dir oder stelle ich mich einfach zu blöde an:) PS morgen werde ich das mal auf einer LXCCU (Raspberrymatic) testen und kann dir dann Beschied sagen ob es auch bei einer CCU2 gehen würde.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 19 Februar 2017, 22:16:40
Hi,
danke für's Feedback.
Also HMW-LC-Sw2-DR mit HBW-Sen-Key12 habe ich eben gerade selbst gepeert. Funktioniert ohne Probleme. Schick doch mal ein list von den beiden.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag 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.Wenn alles auf Werksreset gesetzt wird,dann geht es auch.Also doch zu blöde:)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 20 Februar 2017, 20:26:12
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag 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...
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 20 Februar 2017, 22:54:21
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.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: bjozim am 28 Februar 2017, 20:22:28
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 01 März 2017, 10:02:58
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: bjozim am 11 März 2017, 23:30:07
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 12 März 2017, 08:44:46
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Stadtgrenze am 10 August 2017, 18:52:26
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
   
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 10 August 2017, 20:36:21
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 10 September 2017, 00:08:31
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 11 September 2017, 11:32:53
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 11 September 2017, 22:26:12
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 11 September 2017, 23:15:05
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag 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. Kennst du vielleicht andere Möglichkeit die zwei Devices durch fhem zusammen zu verbinden?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 12 September 2017, 09:48:16
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
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Jochen222 am 12 September 2017, 12:25:02
Hallo,

kennt jemand eine Möglichkeit einen USB-RS485 Adapter direkt an der CCU2 (nutze kein FHEM) zu betreiben am besten mit Tutorial?
Um mal ein bisschen mit "HM-Wired" zu spielen möchte ich nicht gleich den Ethernet Adapter kaufen.

Grüße,
Jochen
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 12 September 2017, 12:46:50
Hi,
ich frage mich, was das mit dem Tutorial zu tun hat...

Meines Wissens nach geht das mit dem USB-Adapter direkt an der CCU nicht. Der Ethernet-Adapter hat sein eigenes Protokoll, das die CCU benutzt. Ich hatte es schon einmal geschafft, einen USB-Adapter an einen RasPi anzuschließen, auf dem der HM485-Daemon von FHEM läuft. Im Prinzip spielt der RasPi dann Ethernet-Adapter und kann an die CCU angeschlossen werden.
Das kannst Du im Prinzip versuchen, wenn Du einen RasPi übrig hast.

Weiteren Support dafür will ich eigentlich nicht liefern, da es mit FHEM sowieso wunderbar funktioniert und das hier das FHEM-Forum ist. Wenn Du partout nicht FHEM einsetzen willst, dann must Du eher bei ELV/eq3 nachfragen.

Gruß,
   Thorsten


   
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 12 September 2017, 17:29:30
Zitat von: Thorsten Pferdekaemper am 12 September 2017, 09:48:16
Vielleicht erbarmt sich ja jemand, wenn Du mal einen eigenen Thread dazu aufmachst.
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

Hi,

mit "notify" habe ich als erstes versucht z.B.: define test notify HBW_Sen_Key_12_HBW6063361_01 set HBW_LC_Sw8_HBW7296257_01 toggle. bekomme leider mein Relays bei einem Klin ein und sofort wieder ausgeschaltet. Bekomme nicht hin, dass der Relays an bliebt und bei dem nächsten Kontakt wieder aus geht. Werde aber weiter schauen. Dachte geht mit peering viel einfacher :)

Event Monitor zeigt folgendes:
2017-09-12 17:44:49 HM485 HBW_Sen_Key_12_HBW6063361_01 press_short: 46
2017-09-12 17:44:49 HM485 HBW_Sen_Key_12_HBW6063361_01 press_short_46
2017-09-12 17:44:49 HM485 HBW_LC_Sw8_HBW7296257_01 set_toggle
2017-09-12 17:44:49 HM485 HBW_LC_Sw8_HBW7296257_01 set_toggle
2017-09-12 17:44:49 HM485 Dosen001 ACK
2017-09-12 17:44:49 HM485 HBW_LC_Sw8_HBW7296257_01 on
2017-09-12 17:44:49 HM485 Dosen001 ACK
2017-09-12 17:44:50 HM485 HBW_LC_Sw8_HBW7296257_01 off

der HBW_Sen gibt zwei werte zurück, damit komme ich nicht klar :)

Gruß
Arthur
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 12 September 2017, 21:27:32
Das müsste gehen:

define test notify HBW_Sen_Key_12_HBW6063361_01:press_short:.* set HBW_LC_Sw8_HBW7296257_01 toggle

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 12 September 2017, 21:34:38
Zitat von: Thorsten Pferdekaemper am 12 September 2017, 21:27:32
Das müsste gehen:

define test notify HBW_Sen_Key_12_HBW6063361_01:press_short:.* set HBW_LC_Sw8_HBW7296257_01 toggle

Gruß,
   Thorsten

Top, vielen Dank
Gruß
Arthur
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: habl am 22 Dezember 2017, 10:11:42
Hallo Thorsten,

wollte mich nur einmal für dieses Tutorial bedanken!

Ich habe jetzt ein neues HBW_1W_T10 Gerät. Ich musste nur ein paar include-Anweisungen vom Sketch ändern, damit es mit dem Tutorial hier funktioniert aber jetzt bin ich begeistert!

also nochmal vielen, vielen Dank für deine Energie, die Du in HMW steckst!

frohe Festtage!
  habl
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 22 Dezember 2017, 12:09:50
Zitat von: habl am 22 Dezember 2017, 10:11:42
wollte mich nur einmal für dieses Tutorial bedanken!
Danke für die nette Rückmeldung.

Zitat
Ich habe jetzt ein neues HBW_1W_T10 Gerät. Ich musste nur ein paar include-Anweisungen vom Sketch ändern, damit es mit dem Tutorial hier funktioniert aber jetzt bin ich begeistert!
Klingt gut. Könntest Du das Coding hier (oder vielleicht in einem neuen Thread zum HBW-1W-T10) zur Verfügung stellen? Ich wollte vor einer Weile das Ding schonmal auf die neuen Libraries umstellen, aber wenn Du das jetzt gemacht hast, dann kann ich mir das sparen. Ich würde mir Dein Coding dann mal kurz anschauen und es ins Git hochladen.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 27 Dezember 2017, 13:03:17
Zitat von: habl am 22 Dezember 2017, 10:11:42
Hallo Thorsten,

wollte mich nur einmal für dieses Tutorial bedanken!

Ich habe jetzt ein neues HBW_1W_T10 Gerät. Ich musste nur ein paar include-Anweisungen vom Sketch ändern, damit es mit dem Tutorial hier funktioniert aber jetzt bin ich begeistert!

also nochmal vielen, vielen Dank für deine Energie, die Du in HMW steckst!

frohe Festtage!
  habl

ich wäre auch daran interessiert :)

Gruß
Arthur
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 27 Dezember 2017, 13:55:15
Zitat von: aperoap am 27 Dezember 2017, 13:03:17
ich wäre auch daran interessiert :)
Schau mal hier:
https://forum.fhem.de/index.php?topic=81474
Ich habe mich allerdings noch nicht damit befasst.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Matthi140 am 18 Februar 2018, 00:20:52
Hallo Allerseits,

ich habe den Disskussions Thread nun auch gefunden  ;) ich habe das Tutorial nun auch komplett durch und in den Dateien noch ein wenig rum gespielt, die Kanäle mal erweitert, eine andere Reihenfolge gemacht usw. so wurden mir die Dateistrukturen des Sketches und der xml-Datei nach und nach als nicht Programmierprofi auch so halb wegs verständlich. Allerdings nutze kein FHEM sondern eine Homematic CCU. Das Tutorial kann man auch mit einer CCU 1:1 genau so durchspielen und es funktioniert genau so wie es soll  ;D. Man muss sich halt nur zugriff auf die Ordnerstruktur der CCU verschaffen um die XML-Datei dort ab zu legen, wie das geht findet man im Homematic Forum.
Ich habe mir dazu jetzt ein Testsystem aufgebaut mit einem RaspberryPi, wo eine CCU2 drauf läuft und dem LAN-RS485 Gateway, da mir das ganze in meinem Produktivsystem mit meiner alten CCU1 zu heiß ist, obwohl die ersten Schritte damit auch funktioniert haben. Das einzigste was bei der CCU Version nicht so Funktioniert, ist die Änderung der Geräteadresse. Dazu gibt es aber eine Anleitung von Thorsten in einem anderen Thread: https://forum.fhem.de/index.php/topic,64700.msg603285.html#msg603285 (https://forum.fhem.de/index.php/topic,64700.msg603285.html#msg603285)

Ich habe mir jetzt sozusagen ein HBW-IO-6-Sw6-DIM3 (kann man das so nennen?) gebaut, also 6 Taster, 6Schaltausgänge und 3 Dimmausgänge.
Wie schon im Tutorial steht, funktionieren Direktverknüpfungen leider (noch) nicht. Daher die Frage, wann geht das Tutorial weiter mit den Direktverknüpfungen?

anbei noch den Sketch und die XML-Datei die ich gemacht habe und ein Screenshot meiner CCU


//
// HBW-IO-6-Sw6-DIM3 nachgebaut aus FHEM HBW-Tutorial
//

#define HMW_DEVICETYPE 0xAB

#define HARDWARE_VERSION 0x01
#define FIRMWARE_VERSION 0x0100

#include "HBWSoftwareSerial.h"
#include "HBWired.h"
#include "HBWSwitch.h" // für Schaltausgang
#include "HBWKey.h"  // für Tastereingang

#define RS485_RXD 4   // Receive-Pin
#define RS485_TXD 2   // Transmit-Pin
#define RS485_TXEN 3  // Transmit-Enable

// Definition of Dimmer channel

class DimmerChannel : public HBWChannel {
  public:
    DimmerChannel(uint8_t _pin, hbw_config_switch* _config);
    virtual uint8_t get(uint8_t* data);   
    virtual void loop(HBWDevice*, uint8_t channel);   
    virtual void set(HBWDevice*, uint8_t length, uint8_t const * const data);
  private:
    uint8_t pin;  // output pin, should be a PWM pin
    uint8_t current; // current value
    hbw_config_switch* config; // logging
    uint32_t lastFeedbackTime;  // when did we send the last feedback?
    uint16_t nextFeedbackDelay; // 0 -> no feedback pending
};


DimmerChannel::DimmerChannel(uint8_t _pin, hbw_config_switch* _config) {
    pin = _pin;
    config = _config;
    nextFeedbackDelay = 0;
    lastFeedbackTime = 0;
    // Pin auf OUTPUT
    // ...und auf LOW (also 0) setzen
    digitalWrite(pin,LOW);
    pinMode(pin,OUTPUT);
    current = 0;
};


void DimmerChannel::set(HBWDevice* device, uint8_t length, uint8_t const * const data) {
  if(length < 1) return;
  current = data[0];
  analogWrite(pin, (uint8_t)((uint16_t)(current) * 255 / 100));
  // Logging
  if(!nextFeedbackDelay && config->logging) {
      lastFeedbackTime = millis();
      nextFeedbackDelay = device->getLoggingTime() * 100;
  }
};


uint8_t DimmerChannel::get(uint8_t* data) {
  data[0] = current;
  return 1;
};


void DimmerChannel::loop(HBWDevice* device, uint8_t channel) {
  // feedback trigger set?
    if(!nextFeedbackDelay) return;
    unsigned long now = millis();
    if(now - lastFeedbackTime < nextFeedbackDelay) return;
    lastFeedbackTime = now;  // at least last time of trying
    // sendInfoMessage returns 0 on success, 1 if bus busy, 2 if failed
  // we know that the level has only 1 byte here
    uint8_t data[1];
    get(data);
    uint8_t errcode = device->sendInfoMessage(channel, 1, data);   
    if(errcode == 1) {  // bus busy
    // try again later, but insert a small delay
      nextFeedbackDelay = 250;
    }else{
      nextFeedbackDelay = 0;
    }
}

// END Dimmer channel

struct hbw_config {
  uint8_t  logging_time;     // 0x0001
  uint32_t central_address;  // 0x0002 - 0x0005
 
  hbw_config_key keycfg[6];        // 0x0006 - 0x0011   für 6x Schaltausgang je 2 Byte
  hbw_config_switch switchcfg[9];  // 0x0012 - 0x001D  für 6x Schaltausgang je 2 Byte
 
  } config;


HBWSoftwareSerial rs485(RS485_RXD, RS485_TXD);
HBWDevice* device = NULL;


HBWChannel* channels[15];   //für 15 Gesamtkanäle channels[15]

void setup()
{
  Serial.begin(19200);
  rs485.begin();


   //NEU für Tastereingang
  channels[0] = new HBWKey(A0,&(config.keycfg[0]));
  channels[1] = new HBWKey(A1,&(config.keycfg[1]));
  channels[2] = new HBWKey(A2,&(config.keycfg[2]));
  channels[3] = new HBWKey(A3,&(config.keycfg[3]));
  channels[4] = new HBWKey(A4,&(config.keycfg[4]));
  channels[5] = new HBWKey(A5,&(config.keycfg[5]));


  //NEU für Schaltausgang
  channels[6] = new HBWSwitch(8,&(config.switchcfg[0]));
  channels[7] = new HBWSwitch(9,&(config.switchcfg[1]));
  channels[8] = new HBWSwitch(10,&(config.switchcfg[2]));
  channels[9] = new HBWSwitch(11,&(config.switchcfg[3]));
  channels[10] = new HBWSwitch(12,&(config.switchcfg[4]));
  channels[11] = new HBWSwitch(13,&(config.switchcfg[5]));


   // NEU für Dimmer
  channels[12] = new DimmerChannel(5, &(config.switchcfg[6]));
  channels[13] = new DimmerChannel(6, &(config.switchcfg[7]));
  channels[14] = new DimmerChannel(7, &(config.switchcfg[8]));
 

  device = new HBWDevice(HMW_DEVICETYPE, HARDWARE_VERSION, FIRMWARE_VERSION,
                         &rs485,RS485_TXEN,sizeof(config),&config, 15,channels,     // für 15 gesamtkanäle
                         &Serial,
                         NULL, NULL);
  hbwdebug(F("B: 2A\n"));
}


void loop()
{
  // call the HBW loop
  device->loop();
};


 

<!-------------- HBW-IO-6-Sw6-DIM3 nachgebaut aus FHEM HBW-Tutorial--------------------->

<?xml version="1.0"?>
<device eep_size="1024" version="01">
<supported_types>
<type priority="2" id="HBW-TUTORIAL" name="Das Geraet zum HBWired-Tutorial">
<parameter const_value="0xAB" size="1" index="0"/>
<parameter const_value="0" size="1" index="1"/>
</type>
</supported_types>

<paramset id="HBW-TUTORIAL_dev_master" type="MASTER">
<parameter id="LOGGING_TIME">
<logical type="float" unit="s" default="5.0" max="25.5" min="0.1"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="0x0001"/>
</physical>
<conversion type="float_integer_scale" offset="0.0" factor="10"/>
</parameter>
<parameter id="CENTRAL_ADDRESS" hidden="true">
<logical type="integer"/>
<physical size="4" type="integer" interface="eeprom">
<address index="0x0002"/>
</physical>
</parameter>
<enforce id="CENTRAL_ADDRESS" value="1"/>
</paramset>



<frames>
<!------------ Neu: frames für Key Events ------------------>
<frame id="KEY_EVENT_SHORT" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="0" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>
<frame id="KEY_EVENT_LONG" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="1" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>

<!------------- NEU: frames für Schaltausgang und Dimmer -------------->

<frame id="LEVEL_SET" type="#x" channel_field="10" direction="to_device">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>
<frame id="LEVEL_GET" type="#S" channel_field="10" direction="to_device"/>
<frame id="INFO_LEVEL" type="#i" channel_field="10" direction="from_device" event="true">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>


</frames>

<channels>
<channel index="0" type="MAINTENANCE" count="1" class="maintenance" ui_flags="internal">
        </channel>
   




<!------------------ Neu: Beschreibung Key-Channel Tastereingang 0x06 bis 0x11 ---------------------->

<channel index="1" type="KEY" count="6" physical_index_offset="-1">
<paramset id="hmw_input_ch_master" type="MASTER" address_step="2" address_start="0x06">
<parameter id="LONG_PRESS_TIME">
<logical type="float" unit="s" default="1.0" max="5.0" min="0.4"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="+1"/>
</physical>
<conversion type="float_integer_scale" factor="10"/>
<conversion type="integer_integer_map">
<value_map to_device="false" from_device="true" parameter_value="10" device_value="0xff"/>
</conversion>
</parameter>
</paramset>

<paramset id="hmw_input_ch_values" type="VALUES">
<parameter id="PRESS_SHORT" operations="event,write" loopback="true" control="BUTTON.SHORT">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_SHORT"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
<parameter id="PRESS_LONG" operations="event,write" loopback="true" control="BUTTON.LONG">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_LONG"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
</paramset>
</channel>



<!------------------- NEU: Beschreibung des Kanals Schaltausgang 0x12 bis 0x2D--------------------->

       
<channel index="7" type="SWITCH" count="6" physical_index_offset="-1">
      <paramset id="hmw_switch_ch_master" type="MASTER" address_step="2" address_start="0x12">
<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>
</paramset>
<paramset id="hmw_switch_ch_values" type="VALUES">
<parameter id="STATE" operations="read,write,event" control="SWITCH.STATE">
<logical type="boolean" default="false"/>
<physical type="integer" interface="command" value_id="LEVEL">
<set request="LEVEL_SET"/>
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="boolean_integer" true="200" false="0" threshold="1"/>
</parameter>
</paramset>
</channel>

<!------------------ Neu: Beschreibung Kanäle Dimmerausgang 0x2E bis 0x23---------------------->

<channel index="13" type="DIMMER" count="3" physical_index_offset="-1">
      <paramset id="hmw_dim_ch_master" type="MASTER" address_step="2" address_start="0x2E">
<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>
</paramset>
<paramset id="hmw_dim_ch_values" type="VALUES">
<parameter id="LEVEL" operations="read,write,event" control="DIMMER.LEVEL">
<logical type="float" unit="100%" default="0.0" max="1.0" min="0.0"/>
<physical type="integer" interface="command" value_id="LEVEL">
<set request="LEVEL_SET"/>
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="float_integer_scale" factor="200"/>
</parameter>
</paramset>
</channel>




</channels>

</device>



Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Matthi140 am 18 Februar 2018, 10:27:05
Guten Morgen, nochmal ich

mir ist aufgefallen bei den Dimmern stimmt etwas nicht, undzwar wird 2 mal gedimmt von 0 bis 100%. also 0-50% in der CCU deckt die volle Bandbreite ab und dann nochmal von 51% - 100% das selbe. Also die helligkeit von 1% ist die selbe wie die von 51%, nämlich ganz dunkel. 25%=75%, 30=80% 50% = 100% usw...

wo liegt hier der fehler? ich steig da nicht durch.   :-\


MfG Matthi


Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 18 Februar 2018, 21:18:24
Hi,
ich habe momentan keine Planung, das Tutorial weiterzuführen. Du kannst Dir aber mal das hier anschauen, da sind Direktverknüpfungen implementiert:
https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-Sen-Key-12
In den Libs sind die Verzeichnisse, die mit HBWLink anfangen für Direktverknüpfungen. Die Dinger müssen von HBWLinkSender bzw. HBWLinkReceiver abgeleitet sein.

Dein anderes Problem lässt sich vermutlich so lösen:
Anstatt

analogWrite(pin, (uint8_t)((uint16_t)(current) * 255 / 100));

...muss es so heißen:

analogWrite(pin, (uint8_t)((uint16_t)(current) * 255 / 200));

Gruß,
    Thorsten

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Matthi140 am 18 Februar 2018, 22:40:57
Hallo,

vielen Dank, Problem 2 hat sich damit erledigt  ;D Dimmer gehen jetzt anständig von 0 bis 100%, allerdings musste ich Pin 7 mit pin 9 tauschen, da Pin7 am UNO kein PWM kann.

Die Sache mit den Direktverknüpfungen ist dann wohl vermutlich nochmal ne Nachtschicht, falls ich das überhaupt verstehe  :-\ aber heut nicht mehr, nächstes Wochenende vielleicht.

MfG Matthi

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Matthi140 am 21 Februar 2018, 21:23:13
Hallo, ich bin gerade dabei zu versuchen das zu verstehen, HBW-Sen-Key-12  ist leider auss meiner Sicht komplett anders aufgebaut als das HBW Tutorial  :(

bei dem Tutorial ist alles für mich gut nachvollziehbar einzeln aufgeführt und bei dem Sen-Key-12 als Array (was ich bis jetzt nicht wirklich verstanden habe)

Unterschiede gibts ja schon bei den Librarys, beim Sen-Key-12 habe ich FreeRam.h, Clickbutton.h, und HBWLinkKey.h.
Beim Tutorial gibts statt dessen HBWSwitch.h, HBWKey.h wobei ich verstanden habe das HBWSwitch für die Schaltausgänge, bzw. Dimmer ist und HBWKey.h für die Tastereingänge. Ich nehme an HBWLinkKey.h ist für die Directverknüpfung.

Demnach habe ich jetzt das Problem mit: HBWKey.h  vs.  Clickbutton.h
  --> Worin besteht da der unterschied?
und was macht Freeram.h?

eines habe ich auch festgestellt, im Tutorial heißt es "channels" und "conficg.keycfg"
channels[0] = new HBWKey(A0,&(config.keycfg[0]));

beim Sen-Key-12 heißt es "keys" und "hbwconfig.keys"
keys[i] = new HBSenKey(pins[i], &(hbwconfig.keys[i]));

Scheint mir, das es am Ende wohl das selbe ist, aber ich verstehe das nicht wirklich. Kannst du mir das mal erläutern?


MfG Matthi




Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 22 Februar 2018, 21:21:42
Zitat von: Matthi140 am 21 Februar 2018, 21:23:13
bei dem Tutorial ist alles für mich gut nachvollziehbar einzeln aufgeführt und bei dem Sen-Key-12 als Array (was ich bis jetzt nicht wirklich verstanden habe)
Verstehst Du Arrays in C++ nicht oder nur das, was da beim Sen-Key-12 läuft nicht?

Zitat
Demnach habe ich jetzt das Problem mit: HBWKey.h  vs.  Clickbutton.h
  --> Worin besteht da der unterschied?
Clickbutton.h ist eine Library, die es einfacher macht, Einfach- und Mehrfachklicks etc. zu erkennen. Das hat mit HBW erstmal nichts zu tun. Die Entsprechung von HBWKey.h ist die Klasse HBSenKey, die direkt im HBW-Sen-Key-12.ino deklariert und definiert ist.

Zitat
und was macht Freeram.h?
Das ist nur eine kleine Funktion, die den freien Speicher berechnet. Das ist auf so kleinen Maschinchen wie einem Arduino ganz nützlich.

Zitat
eines habe ich auch festgestellt, im Tutorial heißt es "channels" und "conficg.keycfg"
channels[0] = new HBWKey(A0,&(config.keycfg[0]));

beim Sen-Key-12 heißt es "keys" und "hbwconfig.keys"
keys[i] = new HBSenKey(pins[i], &(hbwconfig.keys[i]));

Scheint mir, das es am Ende wohl das selbe ist, aber ich verstehe das nicht wirklich. Kannst du mir das mal erläutern?
Da sind halt die Namen der Variablen anders. Das ist aber egal. Ansonsten wollte ich mir nur sparen, 12mal im Wesentlichen denselben Kram hinzuschreiben.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Matthi140 am 22 Februar 2018, 22:22:54
Zitat von: Thorsten Pferdekaemper am 22 Februar 2018, 21:21:42
Verstehst Du Arrays in C++ nicht oder nur das, was da beim Sen-Key-12 läuft nicht?
Das ganze C++ versteh ich eigentlich nicht wirklich  ;D ich kopiere mir im Grunde nur den ganzen Krempel zusammen das es vom logischen her so halb Wegs zusammen passt und probier halt rum, damit bin ich schon oft zum Erfolg gekommen. Aus dem nichts ein Programm zu erstellen das geht bei mir garnicht.



ZitatClickbutton.h ist eine Library, die es einfacher macht, Einfach- und Mehrfachklicks etc. zu erkennen. Das hat mit HBW erstmal nichts zu tun. Die Entsprechung von HBWKey.h ist die Klasse HBSenKey, die direkt im HBW-Sen-Key-12.ino deklariert und definiert ist.

Ah Ja, HBW-Sen-Key-12 kann ja auch Doppelklick, demnach wird das dafür gebraucht. Das Tutorial hat nur kurz und lang daher braucht man das da nicht denke ich mal. Also kann ich Clickbutton.h schonmal weg lassen  ;D



ZitatDas ist nur eine kleine Funktion, die den freien Speicher berechnet. Das ist auf so kleinen Maschinchen wie einem Arduino ganz nützlich.

Braucht man das, wenn man Direktverknüpfung machen will? hat das irgendwie damit zu tun, das  Geräteadressen von direkt verknüpften Geräten gespeichert werden müssen?
Zitat
Da sind halt die Namen der Variablen anders. Das ist aber egal. Ansonsten wollte ich mir nur sparen, 12mal im Wesentlichen denselben Kram hinzuschreiben.

also wie vermutet macht das jetzt das selbe, immerhin schon was davon verstanden  8)


Ich habe einen anderen Thread gefunden: https://forum.fhem.de/index.php/topic,22952.msg755207.html#msg755207 (https://forum.fhem.de/index.php/topic,22952.msg755207.html#msg755207)
Der Sketch zum HBW-LC-Sw8 dazu sieht auf dem ersten Blick vom Aufbau her so aus wie mein Tutorial Sketch, kann aber wohl auch Direktverknüpfungen. Ich habe aber gelesen das es unterschiedliche Versionen von den Librarys (alt/neu) gibt und das untereinander nicht kompatibel ist. Wie ist das bei dem, basiert das auf den aktuellen Libs, wie auch das Tutorial? Ich werde mir das dann mal genauer ansehen und versuchen zu verstehen.

MfG Matthi
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 04 März 2018, 18:09:51
Hallo Thorsten,

das Tutorial ist wirklich super, erstmal danke dafür.

Mich würde auch interessieren wie es mit den Rolladenaktoren HMW-LC-Bl1-DR oder mit dem HBW-LC-BI4 genau funktioniert, irgendwie komme ich mit der Beschreibung im Git nicht so wirklich zurecht. Ich verstehe vor allem nicht wie die Relais angeschlossen werden sollen.

Ich habe gesehen dass du in der Diskussion zum HBW-LC-BI4 auch schon aktiv bist.

Kannst du in deinem Tutorial vielleicht auch darauf mal näher eingehen?


Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 04 März 2018, 21:44:58
Zitat von: Fhemmichl am 04 März 2018, 18:09:51
Mich würde auch interessieren wie es mit den Rolladenaktoren HMW-LC-Bl1-DR oder mit dem HBW-LC-BI4 genau funktioniert,
Die Dinger sind nicht von mir.

Zitat
irgendwie komme ich mit der Beschreibung im Git nicht so wirklich zurecht. Ich verstehe vor allem nicht wie die Relais angeschlossen werden sollen.
Für 230V Rollläden werden die Relais in Reihe geschaltet. Also den Eingang des zweiten Relais auf den Ausgang des ersten. L1 und L2 des Rollladen werden an den beiden Ausgängen des zweiten Relais angeschlossen. Es muss jederzeit mechanisch (!!!) sichergestellt sein, dass es keinen Kurzschluss gibt und dass L1 und L2 des Rollladenmotors niemals zusammengeschaltet werden.
Achtung: Falls Du das wirklich nicht verstehst, dann lass besser die Finger davon. Das ist nicht böse gemeint, sondern kann Dein Leben retten. Ich bin kein Elektriker und habe das oben nur geschrieben, damit Du nicht ganz großen Blödsinn machst.
Bei Gleichstrom-Antrieben ist das ganze wieder anders. Da braucht mal in der Regel eine Polwechselsteuerung. Auch hier muss man mechanisch dafür sorgen, dass es keinen Kurzschluss gibt. Obwohl es hier in der Regel nur 24V sind, kann es dann durch den hohen Strom (bis das Netzteil aufgibt) doch ganz schön heiß werden und zu brennen anfangen.

Zitat
Kannst du in deinem Tutorial vielleicht auch darauf mal näher eingehen?
Nein, auch weil ich kein Freund davon bin, schon existierende und gut funktionierende Sachen nachzubauen. Es gibt den HMW-LC-Bl1-DR zu kaufen und der funktioniert auch ganz wunderbar. Man muss sich damit auch keine Gedanken machen, wie die Relais angeschlossen werden müssen.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 05 März 2018, 11:40:02
Ok, kein Problem.
Die Verkabelung habe ich jetzt verstanden, dankeschön.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 10 März 2018, 22:01:50
Zitat von: Matthi140 am 22 Februar 2018, 22:22:54
Der Sketch zum HBW-LC-Sw8 dazu sieht auf dem ersten Blick vom Aufbau her so aus wie mein Tutorial Sketch, kann aber wohl auch Direktverknüpfungen. Ich habe aber gelesen das es unterschiedliche Versionen von den Librarys (alt/neu) gibt und das untereinander nicht kompatibel ist. Wie ist das bei dem, basiert das auf den aktuellen Libs, wie auch das Tutorial? Ich werde mir das dann mal genauer ansehen und versuchen zu verstehen.
Nur das, was HBWired.h verwendet basiert auf den neuen Libraries.
Übrigens hat loetmeister inzwischen einiges auf die neuen Libs umgebaut. Das ganze kommt wahrscheinlich demnächst auch in "mein" Git. Dann gibt's dazu nochmal eine Ladung Beispiele. Näheres hier:
https://forum.fhem.de/index.php/topic,22952.msg755207.html#msg755207
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 02 April 2018, 12:25:26
Hallo Thorsten,

in den letzten Tagen hatte ich etwas Ruhe und konnte das Tutorial durcharbeiten. Konnte mir auch das Modul mit "Mehrere Ein- und Ausgänge" von Folge 11 in meine CCU2 Zentrale laden.

Gerade wollte ich nun die XML-Datei so umzustricken, dass mir die Variablen auch im IOBroker eingezeigt werden. Leider komme ich hier aber nicht weiter.
Sehe zwar die Komponente, aber leider sind die Variablen im hm-rpc nicht sichtbar/schaltbar.

Ich gehe davon aus, dass in der XML-Datei ein paar Zeilen fehlen. Weiß jmd. Rat?

Herzlichen Dank

Stephan
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 02 April 2018, 22:35:39
Zitat von: grogo am 02 April 2018, 12:25:26
in den letzten Tagen hatte ich etwas Ruhe und konnte das Tutorial durcharbeiten. Konnte mir auch das Modul mit "Mehrere Ein- und Ausgänge" von Folge 11 in meine CCU2 Zentrale laden.
Das freut mich.

Zitat
Gerade wollte ich nun die XML-Datei so umzustricken, dass mir die Variablen auch im IOBroker eingezeigt werden. Leider komme ich hier aber nicht weiter.
Sehe zwar die Komponente, aber leider sind die Variablen im hm-rpc nicht sichtbar/schaltbar.
Tja, da solltest Du vielleicht die Kollegen von IOBroker fragen. Das hier ist das FHEM-Forum.

Zitat
Ich gehe davon aus, dass in der XML-Datei ein paar Zeilen fehlen. Weiß jmd. Rat?
Ja, FHEM verwenden. Wenn Du das Problem auch in FHEM hast, dann mach dazu am Besten einen neuen Thread auf und hänge die XML-Datei mit dran.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 07 April 2018, 17:22:31
Hab noch eine Frage zum Tutorial:

In Folge 9 wird erklärt, wie man die Geräteadresse nachträglich über den raw-Befehl 0461<adresse> ändern kann.

Gibt es auch eine Möglichkeit die Adresse direkt in der Programmierung im Sketch zu programmieren?

Man müsste dazu doch im void setup{} einmalig die obersten vier Bytes für die Geräteadresse ändern, richtig?

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 April 2018, 18:45:15
Zitat von: grogo am 07 April 2018, 17:22:31In Folge 9 wird erklärt, wie man die Geräteadresse nachträglich über den raw-Befehl 0461<adresse> ändern kann.
Gibt es auch eine Möglichkeit die Adresse direkt in der Programmierung im Sketch zu programmieren?
Man müsste dazu doch im void setup{} einmalig die obersten vier Bytes für die Geräteadresse ändern, richtig?
Ja, klar. Das würde gehen. Du musst das nur machen, bevor Du HBWDevive instanziierst.
Du könntest aber auch eine eigene Subklasse von HBWDevice machen und die Methode getOwnAddress redefinieren. 
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 07 April 2018, 19:23:28
Cool wäre es, man könnte die setOwnAddress(uint32_t) Funktion von HBWired.cpp nehmen und im Hauptprogramm aufrufen:

...
// Gibt Geräte-Adresse des HBWired Moduls an
#define HMW_ADDRESS 0x42FFFF01
...
uint32_t ownaddress = HMW_ADDRESS;
...
void setup{
....
HBWDevice::setOwnAddress(ownaddress);
....

nur leider ist die Funktion aus der HBWired.cpp private.

Wie kann man diese in public verschieben, damit das Hauptprogramm darauf zugreifen kann?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 07 April 2018, 19:43:25
Habe es jetzt erstmal so realisiert:
...
#include "EEPROM.h"
....
void setup()
.....

  EEPROM.write(E2END - 3, 0x01);
  EEPROM.write(E2END - 2, 0xFF);
  EEPROM.write(E2END - 1, 0xFF);
  EEPROM.write(E2END, 0x42);

device = new HBWDevice.....
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 07 April 2018, 21:27:11
und noch eine Frage....

Ich habe jetzt mein RS485-Shield ohne Änderungen vom Arduino UNO auf einen Arduino Mega gesteckt und in der IDE das Programm für den Mega kompeliert und hochgeladen.

In der Zentrale sehe ich auch das neue Device und ich kann auch Aktionen auf den beiden Taster erkennen. Leider kann ich nur die Lampen nicht über die Zentrale einschalten.

Ich habe es auch schon mit einem zweiten MEGA versucht, leider ohne Erfolg.

Im seriellen Monitor der IDE sehen ich auch, dass das Modul, wie auch das UNO Modul Daten sendet (T: FD:FF....). Beim UNO Modul sehe ich aber auch was sonst noch auf dem RS485-BUS los ist. (R: FD:FF....) Dies sehe ich im Seriellen Monitor vom MEGA Modul nicht, er scheint also keine Daten vom BUS zu empfangen.

Dann habe ich mir mit einem Oszi die Daten am Pin 4 (RECEIVE) angesehen und sie sind genauso wie auch beim UNO Modul.  Also kommen die Daten am Pin4 an, sie werden nur nicht vom MEGA verarbeitet. Beide (UNO und MEGA) haben doch die gleiche Taktfrequenz von 16MHz, oder? Ich habe die BIT-Breiten vom Sende-PIN (PIN 2) verglichen, etwa 53us würde ich sagen. Damit sind die Taktfrequenzen der µC doch identisch.

Warum kommt beim Mega nur keine Daten an, gibt es etwas, an das ich nicht gedacht habe?????

Kann man nicht einfach (wie ich dachte) die Umgebung von UNO auf MEGA wechseln?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 April 2018, 22:17:53
Hi,
Du kannst beim Mega Pin4 anscheinend nicht für SoftwareSerial benutzen. Siehe hier: https://www.arduino.cc/en/Reference/SoftwareSerial unter "Limitations":
Zitat
Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
Allerdings hat der Mega sowieso 4 Hardware Serial Ports, da würde ich einfach einen davon benutzen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 08 April 2018, 20:08:43
Hallo Thorsten,

ich habe jetzt die Pins auf die Ausgänge 14 und 15 gelegt, den Transmit-Enable auf Pin3 gelassen, leider ohne Erfolg. Das Modul sendet Daten und auch Taster-Aktivitäten, leider empfängt er aber nichts vom BUS.

Dann habe ich das Programm auf die seriel1 geändert. Pins auf 18/19 gelegt und das Programm geändert:
....Serial1.begin(19200);
.... device = new HBWDevice(HMW_DEVICETYPE, HARDWARE_VERSION, FIRMWARE_VERSION,
                         &Serial1,RS485_TXEN,sizeof(config),&config,
                         // NEU (6 statt 2 Kanaele)
                         6,channels,
                         &Serial,
                         NULL, NULL);
...
und die nicht benötigten Stellen auskommentiert.

Jetzt ist es so, dass das Modul nur Daten empfängt. Ich kann mit der Steuerung die Lampen schalten, aber ich bekomme keine Rückmeldung und auch Taster-Aktivitäten werden in der Zentrale nicht mehr angezeigt.
Ich habe mir den BUS auf dem Oszi angeschaut und die Pakete die das Mega Modul sendet sind deutlich kürzer, obwohl die Bitbreiten bei beiden Modulen etwa bei 50µs liegen.

Ein Auszug aus dem Seriellen Monitor des Mega (42:FF:FF:02) Moduls:
B: Version 2A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:02:12:41:00:AB:00:01:00:48:42:57:34:30:37:33:32:31:38:79:36
R: FD:FF:FF:FF:FF:F8:42:FF:FF:02:12:41:00:AB:00:01:00:48:42:57:34:30:37:33:32:31:38:79:36
T: FD:FF:FF:FF:FF:F8:42:FF:FF:02:06:4B:04:00:06:8C:6A
R: FD:FF:FF:FF:FF:F8:42:FF:FF:02:06:4B:04:00:06:8C:6A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:02:06:4B:04:00:0A:4C:72
R: FD:FF:FF:FF:FF:F8:42:FF:FF:02:06:4B:04:00:0A:4C:72
R: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:AE:58:14
R: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:B2:88:2E

Auszug aus dem Seriellen Monitor des UNO Moduls (42:FF:FF:FF):
B: 2A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:12:41:00:AB:00:01:00:48:42:57:34:30:37:33:34:37:31:F7:2C
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:06:79:50
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:0A:B9:48
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:C8:C4:53:FF
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:48:C4:92:FF
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:0E:F9:40
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:12:29:7A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:16:69:72
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:C8:C4:D2:FF
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:1A:A9:6A

Bei der UNO Ausgabe habe ich die Zeilenumbrüche noch etwas angepasst. Ursprünglich sah es so aus:

B: 2A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:12:41:00:AB:00:01:00:48:42:57:34:30:37:33:34:37:31:F7:2C
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:06:79:50
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:0A:B9:48
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:C8:C4:53:FFR: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:48:C4:92:FFT: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:0E:F9:40
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:12:29:7A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:16:69:72
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:C8:C4:D2:FFT: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:1A:A9:6A
T: FD:FF:FF:FF:FF:F8:42:FF:FF:FF:06:4B:04:00:1E:E9:62
R: FD:FF:FF:FF:7E:A8:FF:81:41:29:10:48:C4:40

Das Mega Modul scheint die Daten direkt wieder zu Receiven. Die Transmit Daten sehen dort auch noch gut aus. Aber dann im UNO Modul kann man die fehlenden Bits sehen. Gerätekennung ist nicht sichtbar und deswegen kann die Zentrale die Daten auch nicht zuordnen.

Eine Idee, was das jetzt ist? Alles was nach FD:FF:FF:FF: kommt scheint falsch zu sein, selbst die Gerätekennung wird nicht sauber übertragen. 42:FF:FF:02

Die Bilder sind das Datenpaket eines Tastendrucks.

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 08 April 2018, 21:27:48
Hi,
Zitat von: grogo am 08 April 2018, 20:08:43
ich habe jetzt die Pins auf die Ausgänge 14 und 15 gelegt, den Transmit-Enable auf Pin3 gelassen, leider ohne Erfolg. Das Modul sendet Daten und auch Taster-Aktivitäten, leider empfängt er aber nichts vom BUS.
Keine Ahnung, das müsste man mal genauer analysieren. Jetzt hast Du es aber wieder geändert, da ist das dann wohl obsolet.

Zitat
Dann habe ich das Programm auf die seriel1 geändert. Pins auf 18/19 gelegt und das Programm geändert:
....Serial1.begin(19200);
.... device = new HBWDevice(HMW_DEVICETYPE, HARDWARE_VERSION, FIRMWARE_VERSION,
                         &Serial1,RS485_TXEN,sizeof(config),&config,
                         // NEU (6 statt 2 Kanaele)
                         6,channels,
                         &Serial,
                         NULL, NULL);
...
und die nicht benötigten Stellen auskommentiert.

Jetzt ist es so, dass das Modul nur Daten empfängt.
Ich würde mal sagen, dass da das Parity-Bit fehlt. Mach das mal so:

Serial1.begin(19200,SERIAL_8E1);

Dann dürften auch die Datenpakete ein bisschen länger werden...
Gruß,
   Thorsten

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 09 April 2018, 16:55:40
Perfekt, herzlichen Dank :)

Funktioniert super :) Wäre ich nie darauf bekommen
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holle75 am 13 Juni 2018, 13:18:20
Thorsten! .... Da ja mein kompletter Mini-Biohof mittlerweile auf HomematicWired/fhem basiert, sprich, mit auf deiner Arbeit, muß ich mich natürlich (erneut) bei dir bedanken und wollte das als Intro nutzen, um dich ganz direkt zu belästigen ... Ich Schlitzohr ;) ....  falls du Zeit, Lust und Muse hast.

Neue Idee: Hühnerstall automatisieren. Zumindest erstmal die Klappe. Wasser, Futter dann später

Habe jetzt (erneut) dein arduino-Tutorial angelesen und war ein wenig erschlagen von diesem buchverdächtigem Erguss. Toll.
Da ich aber von der Natur gerade arbeitstechnisch erschlagen werde, muß ich zeitlich sorgsam haushalten.

Kurzer Umriss: Ein Schrittmotor (eher DC-Getriebemotor) wird über eine Steuerung per Winde eine Klappe hoch und runterbewegen. Türzustand offen/zu stelle ich mir über Reedkontake vor.

https://www.amazon.de/gp/product/B07559FCRN/ref=ox_sc_act_title_4?smid=A2F7JN9V2AWTSH&psc=1 (https://www.amazon.de/gp/product/B07559FCRN/ref=ox_sc_act_title_4?smid=A2F7JN9V2AWTSH&psc=1)
https://www.amazon.de/gp/product/B01KBTNHS6/ref=ox_sc_act_title_6?smid=A2SNG6HWOGXVFR&psc=1 (https://www.amazon.de/gp/product/B01KBTNHS6/ref=ox_sc_act_title_6?smid=A2SNG6HWOGXVFR&psc=1)
https://www.amazon.de/gp/product/B000ZGI1Y6/ref=ox_sc_act_title_3?smid=A3JWKAKR8XB7XF&psc=1 (https://www.amazon.de/gp/product/B000ZGI1Y6/ref=ox_sc_act_title_3?smid=A3JWKAKR8XB7XF&psc=1)

Die Automation in fhem sollte kein Problem sein, aber die Ansteuerung der Winde und die Weitergabe der Info auf/zu an fhem.

Da scheint ein Homebrew Arduino auf den ersten Blick ideal??!!

So, viele Worte .... die eigentliche Frage: könntest du mir einen Tip für die richtige Richtung geben? Also welcher Homebrew-Arduino, mit welchem Sketch eine gute Basis abgeben würde?

tausend Dank
H.

ps: und ein Thermometer mit Steuerung für einen Ventilator auch mit auf dem Arduino wär dann natürlich noch eine zukünftige Idee ;)



Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 13 Juni 2018, 20:57:39
Zitat von: holle75 am 13 Juni 2018, 13:18:20
Kurzer Umriss: Ein Schrittmotor (eher DC-Getriebemotor) wird über eine Steuerung per Winde eine Klappe hoch und runterbewegen.
Hi,
Klingt für mich nach einem einfachen Rollo Aktor...  ;D

PS: Wäre das nicht besser ein eigener Thread im Homematic Forum oder der Bastelecke?  ::)

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holle75 am 13 Juni 2018, 21:09:54
Hallo Thomas, du wirst lachen, jetzt die letzten Stunden dank eines Foren-Kollegen auch auf die Idee eines Rolladens gekommen :)

Trotzdem, wenn man die Sache weiterdenkt (Beleuchtung, Temperatur, Belüftung, Kosten) wäre ein "Kleincomputer" der über HomematicWired kommuniziert dann schon die elegante Lösung.

Und genau da liegt mein aktuelles Problem. Was Thorsten da geschrieben hat ist soooo viel, dass ich noch nicht ganz verstehe, was eigentlich geht und was nicht.... und vielleicht wäre es dann was für die Bastelecke.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 17 Juni 2018, 20:28:44
Zitat von: holle75 am 13 Juni 2018, 13:18:20Da ich aber von der Natur gerade arbeitstechnisch erschlagen werde, muß ich zeitlich sorgsam haushalten.
...und deshalb fragst Du andere, Dir das hier abzunehmen? Sorry, aber das hast Du mindestens sehr ungeschickt formuliert. Wenn Du dafür keine Zeit hast, dann lass es lieber.

Zitat
Kurzer Umriss: Ein Schrittmotor (eher DC-Getriebemotor)
Ja watt denn nu?

Zitat
wird über eine Steuerung per Winde eine Klappe hoch und runterbewegen. Türzustand offen/zu stelle ich mir über Reedkontake vor.
Wichtig ist dabei, dass die Endabschaltung jeweils unabhängig von allem anderen passieren muss.
Ansonsten ist das im Prinzip tatsächlich ein Rolloaktor. Ich denke, dafür gibt es schon HBW-Lösungen.

Zitat
ps: und ein Thermometer mit Steuerung für einen Ventilator auch mit auf dem Arduino wär dann natürlich noch eine zukünftige Idee ;)
Zum Thermometer gibt es auch schon was. Ich glaube, ich hatte dazu auch mal eine Channel-Klasse geschrieben. Das XML dazu gibt's ja schon lang.

Zitat von: holle75 am 13 Juni 2018, 21:09:54
Trotzdem, wenn man die Sache weiterdenkt (Beleuchtung, Temperatur, Belüftung, Kosten) wäre ein "Kleincomputer" der über HomematicWired kommuniziert dann schon die elegante Lösung.
Das geht nicht wirklich. HMW ist relativ starr. Man kann zwar einem Kanal beibringen, zwei verschiedene Sachen zu können (z.B. Ein-/Ausgang, Analog/Digital oder so), aber nicht mehr. Außerdem ist die Anzahl der Kanäle fest.
Meine Strategie ist die, dass ich so viel wie möglich als Original-Teile kaufe und nur dass, was gar nicht anders geht, selbst zusammenbaue. Alles andere kann ich mir nicht leisten.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holle75 am 17 Juni 2018, 22:17:43
Zitat von: Thorsten Pferdekaemper am 17 Juni 2018, 20:28:44
...und deshalb fragst Du andere, Dir das hier abzunehmen? Sorry, aber das hast Du mindestens sehr ungeschickt formuliert. Wenn Du dafür keine Zeit hast, dann lass es lieber.

Finde ich nicht sonderlich ungeschickt formuliert. Das war meine Erklärung warum ich gerade nicht 50 Stunden investieren kann (obwohl ich gerne wollte) um mir es selber zu erarbeiten, sondern stattdessen nette Menschen hier im Forum frage die 10 Minuten brauchen um mir zu sagen, ob ich falsch oder richtig liege (mit der Homebrew Idee) ... denke das ist ein Forums-Prinzip?

Zitat von: Thorsten Pferdekaemper am 17 Juni 2018, 20:28:44
Ja watt denn nu?
Ich bin kein Mechatroniker. Kennst du den dedizierten Unterschied zwischen einem Schrittmotor und einem DC-Getriebemotor? Da lass ich sowas lieber mal offen.

Zitat von: Thorsten Pferdekaemper am 17 Juni 2018, 20:28:44
Wichtig ist dabei, dass die Endabschaltung jeweils unabhängig von allem anderen passieren muss.
Ansonsten ist das im Prinzip tatsächlich ein Rolloaktor. Ich denke, dafür gibt es schon HBW-Lösungen.
Zum Thermometer gibt es auch schon was. Ich glaube, ich hatte dazu auch mal eine Channel-Klasse geschrieben. Das XML dazu gibt's ja schon lang.
Das geht nicht wirklich. HMW ist relativ starr. Man kann zwar einem Kanal beibringen, zwei verschiedene Sachen zu können (z.B. Ein-/Ausgang, Analog/Digital oder so), aber nicht mehr. Außerdem ist die Anzahl der Kanäle fest.
Meine Strategie ist die, dass ich so viel wie möglich als Original-Teile kaufe und nur dass, was gar nicht anders geht, selbst zusammenbaue. Alles andere kann ich mir nicht leisten.

Gruß,
   Thorsten

Danke Thorsten für deine Hilfe. Jetzt weiß ich, dass wahrscheinlich ein anderer Weg (Rolladen mit Jalousieaktor und separate Steuerung für Temperatur/Lüftung) richtiger sein wird. Nice, 50 Stunden gespart ;)

lieb Gruß
H.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: torsten8791 am 19 Juli 2018, 14:26:37
Hallo zusammen.

Thorsten, klasse Tutorial und eine sehr schöne Library!

Ich möchte mir eine S0->Homematic Device bauen. Dafür setze ich auf HBW-SEN-EP auf. Im derzeitigen Design ist es (soweit ich das sehe) nicht möglich die Zählerwerte über Fhem zu setzen. Da die S0-Pulse aber nur relative Änderungen pro Zeit angeben, müsste nach der Initalisierung des Gerätes der aktuelle Zählerstand vermerkt werden können. Zwischenspeichern nach Stromausfall könnte man z. B. über FRam machen.

Nun habe ich versucht dies über die XML-Datei zu realisieren. Das war soweit auch ganz einfach.
<parameter id="GESAMT" operations="read,event,write" control="NONE">
<logical type="float" min="0" max="4294967295"/>
<physical type="integer" interface="command" value_id="COUNTER">
<set request="LEVEL_SET"/>
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="float_integer_scale" factor="1"/>
</parameter>

Nur kann ich in Fhem den Zählerwert nicht setzen, weil kein entsprechendes Control rechts neben dem Wert angezeit wird.

Und soweit ich das bis jetzt gesehen habe, gibt es auch gar kein Control, welche die Eingabe einer ganzen beliebigen Zahl ermöglicht.

Gefunden habe ich in device.pm

'switch.state' => "on:noArg off:noArg toggle:noArg"
  'blind.level' => "slider,0,1,100 on:noArg off:noArg up:noArg down:noArg",
    'blind.stop' => "noArg",
    'dimmer.level' => "slider,0,1,100 on:noArg off:noArg",
    'valve.level' => "slider,0,1,100 on:noArg off:noArg",
    'button.long' => "noArg",
    'button.short' => "noArg",
    'digital_analog_output.frequency' => "slider,0,1,50000",

Und das passt alles nicht so richtig auf die Anforderung.

Vielleicht hat jemand eine Idee, wie das zu realisieren ist.

Viele Grüße und herzlichen Dank für Eure Antwort,
Torsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 19 Juli 2018, 15:13:05
Hi,
gibt es auch bei den <frames> einen Eintrag mit LEVEL_SET mit param = counter ?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: torsten8791 am 19 Juli 2018, 15:16:16
Hi Thorsten.
Ja:

<frames>
<frame id="LEVEL_SET" type="#x" channel_field="10" direction="to_device">
<parameter type="integer" signed="true" index="11.0" size="4.0" param="COUNTER"/>
</frame>
<frame id="LEVEL_GET" type="#S" channel_field="10" direction="to_device"/>
<frame id="INFO_LEVEL" type="#i" channel_field="10" direction="from_device" event="true">
<parameter type="integer" signed="true" index="11.0" size="4.0" param="COUNTER"/>
<parameter type="integer" signed="true" index="15.0" size="4.0" param="UNITVALUE"/>
</frame>
</frames>


Wenn ich als Control z. B. dimmer.level einsetze, dann kommen die Setzbefehle an. Ich kann allerdings dann nur Werte zwischen 0 und 100 setzen.

Viele Grüße,
Torsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 19 Juli 2018, 15:23:09
Hi,
lass man das control="NONE" ganz weg.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: torsten8791 am 19 Juli 2018, 15:36:56
Das funktioniert.

Vielen Dank für den schnellen Support!

Viele Grüße,
Torsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 14 August 2018, 20:48:34
Hallo Thorsten,

leider habe ich noch das Problem, dass lange Tasterdrücke nicht erkannt werden, nur kurze.

Habe dann wie im Tutorial erwähnt die HBWSwitch.h neu heruntergeladen und aktualisiert. (Eigentlich stehen doch für die Eingänge alles in der HBWKEY.h oder?)

Leider klappt der lange Tasterdruck immer noch nicht :(

Hast du noch eine Idee oder einen Tipp?

Gruß,
Grogo
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 14 August 2018, 21:23:25
Zitat von: grogo am 14 August 2018, 20:48:34
Habe dann wie im Tutorial erwähnt die HBWSwitch.h neu heruntergeladen und aktualisiert. (Eigentlich stehen doch für die Eingänge alles in der HBWKEY.h oder?)
Das mit dem HBWSwitch.h war ein Problem mit dem Layout des Geräte-EEPROMs im Vergleich zur Repräsentation im RAM. Dadurch wurde in den Nachfolgenden HBWKey-Instanzen was verschoben. Wenn man HBWSwitch nicht benutzt, dann sollte das auch kein Problem sein.

Zitat
Leider klappt der lange Tasterdruck immer noch nicht :(
Hast du noch eine Idee oder einen Tipp?
Naja, ich habe keine Glaskugel. Gib mal ein list von dem Device bzw. dem Kanal und stelle mal Deinen Sketch hier rein, zusammen mit der Gerätebeschreibungsdatei.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 15 August 2018, 17:46:17
Stimmt.

Hier mal in die RS485 reingehörcht mit unterschiedlichen Druckzeiten:
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:26:0B:86
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:2A:CB:9E
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:2E:8B:96
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:32:5B:AC
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:36:1B:A4
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:3A:DB:BC
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:3E:9B:B4
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:42:2B:42
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:46:6B:4A
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:4A:AB:52
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:4E:EB:5A

und hier mein Sketch:
//*******************************************************************

// Gibt den Typen des HBWired Moduls an
// 0x81 Device HBW-1W-T10 Temperaturmodul 1 wired für 10 Temperatursensoren
// 0xAB Device HBW-TER-MOD42 Modul für 4 Relais und 2 Taster (TEST)
// 0xAC Device HBW-TER-MOD1616
#define HMW_DEVICETYPE 0xAC

// Gibt GeräteAdresse des HBWired Moduls an
// #define HMW_ADDRESS 0x42FFFF01

#define HARDWARE_VERSION 0x01
#define FIRMWARE_VERSION 0x0100

#include "HBWired.h"
#include "HBWSwitch.h" 
#include "HBWKey.h"
#include "EEPROM.h"

#define RS485_TXEN 3  // Transmit-Enable

bool code1;
bool code2;
bool code3;
bool code4;

struct hbw_config {
  uint8_t  logging_time;     // 0x0001
  uint32_t central_address;  // 0x0002 - 0x0005
  // vier relais (switches) je 2 Byte
  hbw_config_switch switchcfg[15];  // 0x0006 - 0x0026
  // zwei Taster (keys)  je 2 Byte
  hbw_config_key keycfg[15];        // 0x0027 - 0x0046
} config;

// uint32_t ownaddress = HMW_ADDRESS;

HBWDevice* device = NULL;

//NEU (32 Kanaele = 16 SWITCH (RELAIS) 16 KEY (TASTER))
HBWChannel* channels[32];

void setup()
{
  Serial.begin(19200);
  Serial3.begin(19200,SERIAL_8E1);

  // Port Konfig für SLOT Kennung
  pinMode(11, INPUT);
  pinMode(10, INPUT);
  pinMode(9, INPUT);
  pinMode(5, INPUT);
 
  //rs485.begin();

  // Definition mehrerer Kanaele pro Typ
  // Relais Port A
  channels[0] = new HBWSwitch(36,&(config.switchcfg[0]));
  channels[1] = new HBWSwitch(37,&(config.switchcfg[1]));
  channels[2] = new HBWSwitch(34,&(config.switchcfg[2]));
  channels[3] = new HBWSwitch(35,&(config.switchcfg[3]));
  channels[4] = new HBWSwitch(32,&(config.switchcfg[4]));
  channels[5] = new HBWSwitch(33,&(config.switchcfg[5]));
  channels[6] = new HBWSwitch(30,&(config.switchcfg[6]));
  channels[7] = new HBWSwitch(31,&(config.switchcfg[7]));
  // Relais Port B
  channels[8] = new HBWSwitch(28,&(config.switchcfg[8]));
  channels[9] = new HBWSwitch(26,&(config.switchcfg[9]));
  channels[10] = new HBWSwitch(27,&(config.switchcfg[10]));
  channels[11] = new HBWSwitch(29,&(config.switchcfg[11]));
  channels[12] = new HBWSwitch(24,&(config.switchcfg[12]));
  channels[13] = new HBWSwitch(22,&(config.switchcfg[13]));
  channels[14] = new HBWSwitch(23,&(config.switchcfg[14]));
  channels[15] = new HBWSwitch(25,&(config.switchcfg[15]));
  // Taster Port A
  channels[16] = new HBWKey(43,&(config.keycfg[0]));
  channels[17] = new HBWKey(48,&(config.keycfg[1]));
  channels[18] = new HBWKey(51,&(config.keycfg[2]));
  channels[19] = new HBWKey(47,&(config.keycfg[3]));
  channels[20] = new HBWKey(39,&(config.keycfg[4]));
  channels[21] = new HBWKey(49,&(config.keycfg[5]));
  channels[22] = new HBWKey(53,&(config.keycfg[6]));
  channels[23] = new HBWKey(52,&(config.keycfg[7]));
  // Taster Port B
  channels[24] = new HBWKey(46,&(config.keycfg[8]));
  channels[25] = new HBWKey(50,&(config.keycfg[9]));
  channels[26] = new HBWKey(45,&(config.keycfg[10]));
  channels[27] = new HBWKey(42,&(config.keycfg[11]));
  channels[28] = new HBWKey(44,&(config.keycfg[12]));
  channels[29] = new HBWKey(41,&(config.keycfg[13]));
  channels[30] = new HBWKey(38,&(config.keycfg[14]));
  channels[31] = new HBWKey(40,&(config.keycfg[15]));


  //Eigene Adresse in die obersten Bytes vom EEPROM schreiben
  //setOwnAddress(ownaddress);

  EEPROM.write(E2END - 3, 0x42);
  EEPROM.write(E2END - 2, 0xDA);
  EEPROM.write(E2END - 1, 0x80);
  // SLOT1 = 81, SLOT2=82, SLOT3=83, SLOT4=84, SLOT5=85, SLOT6=86, SLOT7=87, SLOT8=88, SLOT9=89
  code1 = !(digitalRead(11));
  code2 = !(digitalRead(10));
  code3 = !(digitalRead(9));
  code4 = !(digitalRead(5));
   
  if(code1==HIGH && code2==LOW && code3==LOW && code4==LOW) {
    EEPROM.write(E2END, 0x81);
    hbwdebug(F("A: Modul Slot 1\n"));
  }
  if(code1==LOW && code2==HIGH && code3==LOW && code4==LOW) {
    EEPROM.write(E2END, 0x82);
    hbwdebug(F("A: Modul Slot 2\n"));
  }
  if(code1==HIGH && code2==HIGH && code3==LOW && code4==LOW) {
    EEPROM.write(E2END, 0x83);
    hbwdebug(F("A: Modul Slot 3\n"));
  }
  if(code1==LOW && code2==LOW && code3==HIGH && code4==LOW) {
    EEPROM.write(E2END, 0x84);
    hbwdebug(F("A: Modul Slot 4\n"));
  }
  if(code1==HIGH && code2==LOW && code3==HIGH && code4==LOW) {
    EEPROM.write(E2END, 0x85);
    hbwdebug(F("A: Modul Slot 5\n"));
  }
  if(code1==LOW && code2==HIGH && code3==HIGH && code4==LOW) {
    EEPROM.write(E2END, 0x86);
    hbwdebug(F("A: Modul Slot 6\n"));
  }
  if(code1==HIGH && code2==HIGH && code3==HIGH && code4==LOW) {
    EEPROM.write(E2END, 0x87);
    hbwdebug(F("A: Modul Slot 7\n"));
  }
  if(code1==LOW && code2==LOW && code3==LOW && code4==HIGH) {
    EEPROM.write(E2END, 0x88);
    hbwdebug(F("A: Modul Slot 8\n"));
  }
  if(code1==HIGH && code2==LOW && code3==LOW && code4==HIGH) {
    EEPROM.write(E2END, 0x89);
    hbwdebug(F("A: Modul Slot 9\n"));
  }
 
  device = new HBWDevice(HMW_DEVICETYPE, HARDWARE_VERSION, FIRMWARE_VERSION,
                         &Serial3,RS485_TXEN,sizeof(config),&config,
                         // NEU (32 Kanaele)
                         32,channels,
                         &Serial,
                         NULL, NULL);
  hbwdebug(F("B: HBW-TER-MOD1616 Version 2A\n"));
}


void loop()
{
  // call the HBW loop
  device->loop();
};

Brauchst du noch die .h und/oder .cpp Sketchs?

Besten Dank
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 16 August 2018, 14:42:27
Hi,
Du solltest Dir mal code-Tags angewöhnen für's Forum. So ist das etwas grausam.
...außerdem wäre ein eigener Thread für sowas auch besser.
Ich erkenne auf den ersten Blick erstmal nichts böses. Ich vermute aber mal trotzdem, dass die long_press_time in der Key-Config nicht richtig sitzt. Meistens ist da was an der Gerätebeschreibungsdatei faul (dem XML). Deswegen habe ich nach all den Sachen gefragt. Ansonsten solltest Du vielleicht erst einmal ein Gerät mit genau einem Eingang machen und es damit probieren. Wenn das geht, dann nach und nach erweitern.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: grogo am 17 August 2018, 08:17:39
Hallo,

dann versuche ich es später mal mit einem einfachen Device (1 Augang / 1 Eingang).

Aber noch mal zum Verständnis.

Wann dies mein Telegramm auf dem RS485 Bus ist:
R: FD:FF:FF:FF:FF:F8:42:DA:80:82:06:4B:13:00:26:0B:86

R:                           von einem anderen Device empfangen
FD:FF:FF:FF:FF:F8:   Startbedingung
42:DA:80:82:           Deviceadresse
06:   ?
4B:   Direction (Kanal 10 + 2) (4B = #K = key event)
13:   Kanal ( gedrückt wurde Kanal 4, wenn man von 0 anfängt, passt dann auch mit 3 / die führende 1 "keine Ahnung")
00:   00 press.short / 01 press.long   
26:0B:86 Zeitstempel?

Oder in welchem Bit wird die Information verschlüsselt? Diese Variable ändert sich doch nicht, also muß der Fehler doch in der Adruino Programmierung liegen, oder?

Oder liegt es daran, dass meine Kanalnummer nicht mehr einstellig (16 Ausgänge / 16 Eingänge) sind?

Hier mal das XML File.


<?xml version="1.0"?>
<device eep_size="1024" version="01">
<supported_types>
<type priority="2" id="HBW-TER-MOD1616" name="HBWired_Gerät_16_Relais_16_Taster">
<parameter const_value="0xAC" size="1" index="0"/>
<parameter const_value="0" size="1" index="1"/>
</type>
</supported_types>

<paramset id="HBW-TER-MOD1616_dev_master" type="MASTER">
<parameter id="LOGGING_TIME">
<logical type="float" unit="s" default="5.0" max="25.5" min="0.1"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="0x0001"/>
</physical>
<conversion type="float_integer_scale" offset="0.0" factor="10"/>
</parameter>
<parameter id="CENTRAL_ADDRESS" hidden="true">
<logical type="integer"/>
<physical size="4" type="integer" interface="eeprom">
<address index="0x0002"/>
</physical>
</parameter>
<enforce id="CENTRAL_ADDRESS" value="1"/>
</paramset>

<frames>
<frame id="LEVEL_SET" type="#x" channel_field="10" direction="to_device">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>
<frame id="LEVEL_GET" type="#S" channel_field="10" direction="to_device"/>
<frame id="INFO_LEVEL" type="#i" channel_field="10" direction="from_device" event="true">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>
<frame id="KEY_EVENT_SHORT" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="0" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>
<frame id="KEY_EVENT_LONG" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="1" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>
</frames>

<channels>
<channel index="0" type="MAINTENANCE" count="1" class="maintenance" ui_flags="internal">
</channel>
   

<!-- NEU: 16 Switches -->
<channel index="1" type="SWITCH" count="16" 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>
</paramset>
<paramset id="hmw_switch_ch_values" type="VALUES">
<parameter id="STATE" operations="read,write,event" control="SWITCH.STATE">
<logical type="boolean" default="false"/>
<physical type="integer" interface="command" value_id="LEVEL">
<set request="LEVEL_SET"/>
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="boolean_integer" true="200" false="0" threshold="1"/>
</parameter>
</paramset>
</channel>

   
<!-- NEU: 16 Keys statt 1, Kanal 5-6, Adresse groesser, address_step korrigiert -->

<channel index="5" type="KEY" count="16" physical_index_offset="-1">
<paramset id="hmw_input_ch_master" type="MASTER" address_step="2" address_start="0x26">
<parameter id="LONG_PRESS_TIME">
<logical type="float" unit="s" default="1.0" max="5.0" min="0.4"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="+1"/>
</physical>
<conversion type="float_integer_scale" factor="10"/>
<conversion type="integer_integer_map">
<value_map to_device="false" from_device="true" parameter_value="10" device_value="0xff"/>
</conversion>
</parameter>
</paramset>

<paramset id="hmw_input_ch_values" type="VALUES">
<parameter id="PRESS_SHORT" operations="event,write" loopback="true" control="BUTTON.SHORT">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_SHORT"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
<parameter id="PRESS_LONG" operations="event,write" loopback="true" control="BUTTON.LONG">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_LONG"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
</paramset>
</channel>

</channels>

</device>


Oder soll ich lieber einen eigenen Thread aufmachen?   
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 17 August 2018, 08:23:21
Hi,
ich glaube, dass da einiges falsch ist. Mach mal bitte einen neuen Thread auf. Außerdem solltest Du mal mit einem Device mit genau einem Eingang anfangen und sonst nichts.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Torrianer am 17 November 2018, 17:28:36
Hallo,

nachdem meine alten HS485 Module von ELV langsam den Geist aufgaben, bin ich begeistert in diesen Thread eingestiegen.

Nun hänge ich aber beim peering.

Ausgehend vom Tutorial und den Modulen im Git habe ich ein Modul mit 6 Ein- und Ausgängen gebaut.
Das funktioniert prima. Taster Drücke kommen in FHEM an und von dort kann ich Ausgänge schalten.
Jetzt wollte ich einen Taster mit einem Ausgang peeren. Also einfach mit dem Taster den Ausgang schalten.
Und da hänge ich.

Hier mein Programm
//*******************************************************************
//
// HBW-LC-Sw-8
//
// Homematic Wired Hombrew Hardware
// Arduino NANO als Homematic-Device
// - Active HIGH oder LOW kann konfiguriert werden
//
// http://loetmeister.de/Elektronik/homematic/index.htm#modules
//
//*******************************************************************
// Changes
// v1.01
// - Switch code in "HBWSwitch.h" channel library übertragen. neu: initConfigPins()
// v1.02
// - channel invert angepasst um nach einem Device reset (EEPROM 'gelöscht') keine Invertierung zu haben
// - fix: initConfigPins() in afterReadConfig() geändert.
// v1.03
// - erweitertes peering hinzugefügt (HBWLinkSwitchAdvanced.h, HBWSwitchAdvanced.h) - Benötigt passende XML!


#define HMW_DEVICETYPE 0xE3
#define HARDWARE_VERSION 0x01
#define FIRMWARE_VERSION 0x001

#define NUM_S_CHANNELS 6
#define NUM_I_CHANNELS 6   // input channel - pushbutton, key
#define NUM_LINKS 30
#define LINKADDRESSSTART_SW   0x001F  //step 20
#define LINKADDRESSSTART_IN   0x0277  //step 6


//#define NO_DEBUG_OUTPUT   // disable debug output on serial/USB

#include "HBWSoftwareSerial.h"
#include "FreeRam.h"   
#define LED LED_BUILTIN        // Signal-LED

// HB Wired protocol and module

#include <HBWired.h>
#include <HBWLinkSwitchAdvanced.h>
#include <HBWSwitchAdvanced.h>
#include <HBWLinkKey.h>
#include <HBWKey.h>

#define RS485_RXD 4
#define RS485_TXD 2
#define RS485_TXEN 3  // Transmit-Enable

// HBWSoftwareSerial can only do 19200 baud
HBWSoftwareSerial rs485(RS485_RXD, RS485_TXD); // RX, TX


// Pins
#define BUTTON 11  // Button fuer Factory-Reset etc.  eig 8
#define LED LED_BUILTIN      // Signal-LED
#define SWITCH1_PIN A0  // Ausgangpins fuer die Relais
#define SWITCH2_PIN A1
#define SWITCH3_PIN A2
#define SWITCH4_PIN A3
#define SWITCH5_PIN A4
#define SWITCH6_PIN A5
#define INPUT1_PIN 5
#define INPUT2_PIN 6
#define INPUT3_PIN 8
#define INPUT4_PIN 9
#define INPUT5_PIN 10
#define INPUT6_PIN 7


struct hbw_config {
  uint8_t logging_time;     // 0x01
  uint32_t central_address;  // 0x02 - 0x05
  uint8_t direct_link_deactivate:1;   // 0x06:0
  uint8_t              :7;   // 0x06:1-7
  hbw_config_switch switchcfg[NUM_S_CHANNELS]; // 0x07-0x12 ?  step 2
  hbw_config_key keycfg[NUM_I_CHANNELS]; // 0x13 - 0x1E (address step 2)
} hbwconfig;


// create channel object for the switches
HBWChannel* channels[NUM_S_CHANNELS + NUM_I_CHANNELS];  // total number of channels for the device
                                                   
class HBSwDevice : public HBWDevice {
    public:
    HBSwDevice(uint8_t _devicetype, uint8_t _hardware_version, uint16_t _firmware_version,
               Stream* _rs485, uint8_t _txen,
               uint8_t _configSize, void* _config,
               uint8_t _numChannels, HBWChannel** _channels,
               Stream* _debugstream, HBWLinkSender* linksender = NULL, HBWLinkReceiver* linkreceiver = NULL) :
    HBWDevice(_devicetype, _hardware_version, _firmware_version,
              _rs485, _txen, _configSize, _config, _numChannels, ((HBWChannel**)(_channels)),
              _debugstream, linksender, linkreceiver) {
    };
    virtual void afterReadConfig();
};

// device specific defaults
void HBSwDevice::afterReadConfig() {
  if(hbwconfig.logging_time == 0xFF) hbwconfig.logging_time = 20;
};


HBSwDevice* device = NULL;



void setup()
{
#ifndef NO_DEBUG_OUTPUT
  Serial.begin(19200);
#endif
  rs485.begin();    // RS485 via SoftwareSerial

  // create channels
  uint8_t pins[NUM_S_CHANNELS] = {SWITCH1_PIN, SWITCH2_PIN, SWITCH3_PIN, SWITCH4_PIN, SWITCH5_PIN, SWITCH6_PIN};
 
  // assing switches (relay) pins to channels
  for(uint8_t i = 0; i < NUM_S_CHANNELS; i++){
     channels[i] = new HBWSwitchAdvanced(pins[i], &(hbwconfig.switchcfg[i]));
  };

   uint8_t inp[NUM_I_CHANNELS] = {INPUT1_PIN, INPUT2_PIN, INPUT3_PIN, INPUT4_PIN, INPUT5_PIN, INPUT6_PIN};

    for(uint8_t i = 0; i < NUM_I_CHANNELS; i++){
     channels[i + NUM_S_CHANNELS] = new HBWKey(inp[i], &(hbwconfig.keycfg[i]));
  };

  device = new HBSwDevice(HMW_DEVICETYPE, HARDWARE_VERSION, FIRMWARE_VERSION,
                         &rs485,RS485_TXEN,sizeof(hbwconfig),&hbwconfig,
                         NUM_S_CHANNELS + NUM_I_CHANNELS,(HBWChannel**)channels,
                         &Serial,
                         new HBWLinkKey(NUM_LINKS, LINKADDRESSSTART_IN), new HBWLinkSwitchAdvanced(NUM_LINKS,LINKADDRESSSTART_SW));
   // LinkKey  1B KeyChannel 4B addr Rec 1 B Channel Rec                   

  device->setConfigPins(BUTTON, LED);  // 8 and 13 is the default
 
 
#ifndef NO_DEBUG_OUTPUT
  hbwdebug(F("B: 2A "));
  hbwdebug(freeRam());
  hbwdebug(F("\n"));
#endif
}


void loop()
{
  device->loop();
};


und die xml Datei
<?xml version="1.0"?>
<device eep_size="1024" version="01">
<supported_types>
<type priority="2" id="HBW-6E6A" name="Das Geraet zum HBWired-Tutorial">
<parameter const_value="0xAD" size="1" index="0"/>
<parameter const_value="0" size="1" index="1"/>
</type>
</supported_types>

<paramset id="HBW-TUTORIAL_dev_master" type="MASTER">
<parameter id="LOGGING_TIME">
<logical type="float" unit="s" default="5.0" max="25.5" min="0.1"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="0x0001"/>
</physical>
<conversion type="float_integer_scale" offset="0.0" factor="10"/>
</parameter>
<parameter id="CENTRAL_ADDRESS" hidden="true">
<logical type="integer"/>
<physical size="4" type="integer" interface="eeprom">
<address index="0x0002"/>
</physical>
</parameter>
<enforce id="CENTRAL_ADDRESS" value="1"/>
<parameter id="DIRECT_LINK_DEACTIVATE" hidden="false">
<logical type="boolean" default="false"/>
<physical size="0.1" type="integer" interface="eeprom">
<address index="0x0006"/>
</physical>
</parameter>

</paramset>

<frames>
<frame id="LEVEL_SET" type="#x" channel_field="10" direction="to_device">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>
<frame id="LEVEL_GET" type="#S" channel_field="10" direction="to_device"/>
<frame id="INFO_LEVEL" type="#i" channel_field="10" direction="from_device" event="true">
<parameter size="1.0" index="11.0" type="integer" param="LEVEL"/>
</frame>
<frame id="KEY_EVENT_SHORT" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="0" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>
<frame id="KEY_EVENT_LONG" type="#K" channel_field="10" direction="from_device" event="true">
<parameter const_value="1" size="0.1" index="12.0" type="integer"/>
<parameter size="0.6" index="12.2" type="integer" param="COUNTER"/>
</frame>
</frames>

<channels>
<channel index="0" type="MAINTENANCE" count="1" class="maintenance" ui_flags="internal">
</channel>
    <!-- NEU: 4 Switches statt 1 -->
<channel index="1" type="SWITCH" count="6" physical_index_offset="-1">
      <paramset id="hmw_switch_ch_master" type="MASTER" address_step="2" address_start="0x07">
<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="OUTPUT_LOCKED">
<logical type="boolean" default="false"/>
<physical size="0.1" type="integer" interface="eeprom">
<address index="+0.1"/>
</physical>
<conversion type="boolean_integer" invert="true"/>
</parameter>
<parameter id="INVERTED">
<logical type="boolean" default="true"/>
<physical size="0.1" type="integer" interface="eeprom">
<address index="+0.2"/>
</physical>
<conversion type="boolean_integer" invert="true"/>
</parameter>
</paramset>
<paramset type="LINK" id="hmw_switch_ch_link" peer_param="SENSOR" channel_param="CHANNEL" count="30" address_step="20" address_start="0x1F">
<parameter id="UI_HINT">
<logical type="string" default="" use_default_on_failure="true"/>
<physical type="string" interface="store" id="UI_HINT" save_on_change="true"/>
</parameter>
<parameter id="SENSOR" operations="none" hidden="true">
<logical type="address"/>
<physical type="array">
<physical type="integer" size="4.0" interface="eeprom">
<address index="+0"/>
</physical>
<physical type="integer" size="1.0" interface="eeprom">
<address index="+4"/>
</physical>
</physical>
</parameter>
<parameter id="CHANNEL" operations="none" hidden="true">
<logical type="integer" min="0" max="255" default="255"/>
<physical type="integer" size="1.0" interface="eeprom">
<address index="+5"/>
</physical>
</parameter>
<parameter id="SHORT_ON_TIME_MODE">
<logical type="option">
<option id="MINIMAL"/>
<option id="ABSOLUTE" default="true"/>
</logical>
<physical type="integer" size="0.1" interface="eeprom">
<address index="+6.7"/>
</physical>
</parameter>
<parameter id="SHORT_OFF_TIME_MODE">
<logical type="option">
<option id="MINIMAL"/>
<option id="ABSOLUTE" default="true"/>
</logical>
<physical type="integer" size="0.1" interface="eeprom">
<address index="+6.6"/>
</physical>
</parameter>
<parameter id="SHORT_ACTION_TYPE">
<logical type="option">
<option id="INACTIVE"/>
<option id="JUMP_TO_TARGET" default="true"/>
<option id="TOGGLE_TO_COUNTER"/>
<option id="TOGGLE_INVERS_TO_COUNTER"/>
<option id="TOGGLE"/>
</logical>
<physical type="integer" size="0.4" interface="eeprom">
<address index="+6.0"/>
</physical>
</parameter>
<parameter id="SHORT_ONDELAY_TIME">
<logical type="float" min="0.0" max="63000.0" default="0.0" unit="s"/>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+7"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="SHORT_ON_TIME">
<logical type="float" min="0.0" max="63000.0" default="378000" unit="s">
<special_value id="NOT_USED" value="378000"/>
</logical>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+8"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="SHORT_OFFDELAY_TIME">
<logical type="float" min="0.0" max="63000.0" default="0.0" unit="s"/>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+9"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="SHORT_OFF_TIME">
<logical type="float" min="0.0" max="63000.0" default="378000" unit="s">
<special_value id="NOT_USED" value="378000"/>
</logical>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+10"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="SHORT_JT_ONDELAY">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON" default="true"/>
<option id="OFFDELAY"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+11.0"/>
</physical>
</parameter>
<parameter id="SHORT_JT_ON">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON"/>
<option id="OFFDELAY" default="true"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+11.3"/>
</physical>
</parameter>
<parameter id="SHORT_JT_OFFDELAY">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON"/>
<option id="OFFDELAY"/>
<option id="OFF" default="true"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+11.6"/>
</physical>
</parameter>
<parameter id="SHORT_JT_OFF">
<logical type="option">
<option id="ONDELAY" default="true"/>
<option id="ON"/>
<option id="OFFDELAY"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+11.9"/>
</physical>
</parameter>

<parameter id="LONG_ON_TIME_MODE">
<logical type="option">
<option id="MINIMAL"/>
<option id="ABSOLUTE" default="true"/>
</logical>
<physical type="integer" size="0.1" interface="eeprom">
<address index="+13.7"/>
</physical>
</parameter>
<parameter id="LONG_OFF_TIME_MODE">
<logical type="option">
<option id="MINIMAL"/>
<option id="ABSOLUTE" default="true"/>
</logical>
<physical type="integer" size="0.1" interface="eeprom">
<address index="+13.6"/>
</physical>
</parameter>
<parameter id="LONG_MULTIEXECUTE">
<logical type="boolean" default="false"/>
<physical type="integer" size="0.1" interface="eeprom">
<address index="+13.5"/>
</physical>
</parameter>
<parameter id="LONG_ACTION_TYPE">
<logical type="option">
<option id="INACTIVE"/>
<option id="JUMP_TO_TARGET" default="true"/>
<option id="TOGGLE_TO_COUNTER"/>
<option id="TOGGLE_INVERS_TO_COUNTER"/>
<option id="TOGGLE"/>
</logical>
<physical type="integer" size="0.4" interface="eeprom">
<address index="+13.0"/>
</physical>
</parameter>
<parameter id="LONG_ONDELAY_TIME">
<logical type="float" min="0.0" max="63000.0" default="0.0" unit="s"/>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+14"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="LONG_ON_TIME">
<logical type="float" min="0.0" max="63000.0" default="378000" unit="s">
<special_value id="NOT_USED" value="378000"/>
</logical>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+15"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="LONG_OFFDELAY_TIME">
<logical type="float" min="0.0" max="63000.0" default="0.0" unit="s"/>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+16"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="LONG_OFF_TIME">
<logical type="float" min="0.0" max="63000.0" default="378000" unit="s">
<special_value id="NOT_USED" value="378000"/>
</logical>
<physical type="integer" size="1.0" interface="eeprom" endian="little">
<address index="+17"/>
</physical>
<conversion type="float_configtime" factors="1,60,1000,6000" value_size="0.8"/>
<conversion type="integer_integer_map">
<value_map device_value="0xc0" parameter_value="0xff" mask="0xc0"/>
</conversion>
</parameter>
<parameter id="LONG_JT_ONDELAY">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON" default="true"/>
<option id="OFFDELAY"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+18.0"/>
</physical>
</parameter>
<parameter id="LONG_JT_ON">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON"/>
<option id="OFFDELAY" default="true"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+18.3"/>
</physical>
</parameter>
<parameter id="LONG_JT_OFFDELAY">
<logical type="option">
<option id="ONDELAY"/>
<option id="ON"/>
<option id="OFFDELAY"/>
<option id="OFF" default="true"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+18.6"/>
</physical>
</parameter>
<parameter id="LONG_JT_OFF">
<logical type="option">
<option id="ONDELAY" default="true"/>
<option id="ON"/>
<option id="OFFDELAY"/>
<option id="OFF"/>
<option id="NO_JUMP_IGNORE_COMMAND"/>
</logical>
<physical type="integer" size="0.3" interface="eeprom" endian="little" read_size="2">
<address index="+18.9"/>
</physical>
</parameter>
</paramset>
<paramset id="hmw_switch_ch_values" type="VALUES">
<parameter id="STATE" operations="read,write,event" control="SWITCH.STATE">
<logical type="boolean" default="false"/>
<physical type="integer" interface="command" value_id="LEVEL">
<set request="LEVEL_SET"/>
<get request="LEVEL_GET" response="INFO_LEVEL"/>
<event frame="INFO_LEVEL"/>
</physical>
<conversion type="boolean_integer" true="200" false="0" threshold="1"/>
</parameter>
</paramset>
</channel>

    <!-- NEU: 2 Keys statt 1, Kanal 5-6, Adresse groesser, address_step korrigiert -->
<channel index="7" type="KEY" count="6" physical_index_offset="-1">
<link_roles>
<target name="SWITCH"/>
</link_roles>
<paramset id="hmw_input_ch_master" type="MASTER" address_step="2" address_start="0x13">
<parameter id="INPUT_LOCKED">
                <logical type="boolean" default="false"/>
                <physical size="0.1" type="integer" interface="eeprom">
                    <address index="0.0"/>
                </physical>
                <conversion type="boolean_integer" invert="true"/>
            </parameter>
<parameter id="INVERTED">
                <logical type="boolean" default="false"/>
                <physical size="0.1" type="integer" interface="eeprom">
                    <address index="+0.1"/>
                </physical>
                <conversion type="boolean_integer" invert="false"/>
            </parameter>
<parameter id="PULLUP">
                <logical type="boolean" default="true"/>
                <physical size="0.1" type="integer" interface="eeprom">
                    <address index="+0.2"/>
                </physical>
                <conversion type="boolean_integer" invert="false"/>
            </parameter>
<parameter id="INPUT_TYPE">
<logical type="option">
<option id="DOORSENSOR"/>
<option id="MOTIONSENSOR"/>
<option id="SWITCH"/>
<option id="PUSHBUTTON" default="true"/>
</logical>
<physical size="0.2" type="integer" interface="eeprom">
<address index="+0.3"/>
</physical>
</parameter>
<parameter id="LONG_PRESS_TIME">
<logical type="float" unit="s" default="0.5" max="5.0" min="0.4"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="+1"/>
</physical>
<conversion type="float_integer_scale" factor="10"/>
<conversion type="integer_integer_map">
<value_map to_device="false" from_device="true" parameter_value="10" device_value="0xff"/>
</conversion>
</parameter>
</paramset>
<paramset id="hmw_input_ch_link" type="LINK" channel_param="CHANNEL" peer_param="ACTUATOR" count="30" address_start="0x276" address_step="6">
<parameter hidden="true" id="CHANNEL" operations="none">
<logical type="integer" default="255" max="255" min="0"/>
<physical size="1.0" type="integer" interface="eeprom">
<address index="+0"/>
</physical>
</parameter>
<parameter hidden="true" id="ACTUATOR" operations="none">
<logical type="address"/>
<physical type="array">
<physical size="4.0" type="integer" interface="eeprom">
<address index="+1"/>
</physical>
<physical size="1.0" type="integer" interface="eeprom">
<address index="+5"/>
</physical>
</physical>
</parameter>
</paramset>

<paramset id="hmw_input_ch_values" type="VALUES">
<parameter id="PRESS_SHORT" operations="event,write" loopback="true" control="BUTTON.SHORT">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_SHORT"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
<parameter id="PRESS_LONG" operations="event,write" loopback="true" control="BUTTON.LONG">
<logical type="action"/>
<physical type="integer" interface="command" value_id="COUNTER">
<event frame="KEY_EVENT_LONG"/>
</physical>
<conversion type="action_key_counter" counter_size="6" sim_counter="SIM_COUNTER"/>
</parameter>
</paramset>
</channel>

</channels>

</device>


Ich habe dann einige Debug punkte in den Code gesetzt und hänge in der HBWLinkKey.cpp.
Nach Tastendruck landet er in der Routine "HBWLinkKey::sendKeyEvent"

Dort sucht er zunächst nach dem eigenen Channel.  Und da hänge ich:

Mein Taster hat Channel 8,  im Eeprom wird ausgelesen Channel 2. 
Und damit geht der Link is Leere.  Channel 2 ist die Nummer für den assoziierten Switch.

Ich denke, meine xml ist falsch.  Blicke aber nicht genug durch.

Kann mich jemand in die richtige Richtung stubsen?

Axel
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 17 November 2018, 20:41:22
Hi,
für den Anfang der Key-Peerings hast Du im Sketch 0x277 stehen, aber im XML 0x276.
Das könnte das Problem erklären.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Torrianer am 18 November 2018, 14:53:46
Hallo Thorsten,

die Richtung war korrekt. Nach einigen Versuchen mit Hexdumps vom EEPROM funzt es jetzt.
Aber es gibt einen Versatz zwischen xml und programm.
Meine Parameter: LINKADDRESSSTART_SWitch   0x0020  korrespondiert mit "address_start="0x001F""
und LINKADDRESSSTART_KEY   0x0278  braucht address_start="0x277"
also immer eins weniger im xml..

Das hat mich einige graue Haare gekostet.....
Aber jetzt klappt es.

Danke für dein tolles Programm
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 18 November 2018, 20:45:17
Hallo,

das Problem ist mir bisher nicht begegnet...
Was mir schon mal passiert ist, dass ich versehentlich EEPROM Adressen überlappended konfiguriert hatte. Das funktioniert natürlich nicht so gut..   ;)

ZitatLINKADDRESSSTART_KEY   0x0278  braucht address_start="0x277"
Das sollte eigentlich im Sketch und XML übereinstimmen.
z.B.
#define NUM_LINKS_INPUT 20    // address step 6
#define LINKADDRESSSTART_INPUT 0x380   // ends @0x3F7

Es geht bei 0x380 los. Die nächste freie Adresse ist 0x3F8. (wenn ich nicht komplett daneben liege)



hbw_config_key keycfg[NUM_I_CHANNELS]; // 0x13 - 0x1E (address step 2)
0x1F sollte die nächste freie Adresse sein...
Ich lasse auch etwas Platz zwischen channel Konfig und dem start der links (wenn möglich). So kann man die Anzahl der Kanäle erhöhen, ohne die Startadresse der peerings ändern zu müssen.


Kind regards,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Torrianer am 20 November 2018, 17:07:00
So, beim Aufräumen des Projektes habe ich die einfache Lösung des Rätsels gefunden.
Vom Nachvollziehen des Tutorials waren noch diverse xml Dateien im Ordner. Eine davon hatte zwar einen anderen Namen als mein Projekt aber dieselbe Device ID!
Von der zog FHEM seine Infos. Daher die falschen Adressen ! >:(

Jetzt läuft alles wie geschmiert.   Vielen Dank nochmal.
Der Tip mit der Luft zwischen den Speicherbereichen ist gut. Das setze ich gern um.

Axel
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 10 Februar 2019, 20:41:00
Hallo,

Also ich steige gerade in die Welt der Homebrew Wired Technik ein.

Hab mal das minimal Sketch auf meinen Nano V3 geladen, die Max487 Beschaltung auf einem Breakoutboard aufgebaut, und siehe da - die ersten Telegramme sehe ich am Serial Monitor. Dann ist aber Schluss - ich kann keinen neuen Sketch raufladen, ein Loopback Test geht nicht mehr - aus Ende. Neuen Nano v3 aus der Kiste genommen. Exakt gleiches Spiel - insgesamt 3 Nanos gebrickt... 

Irgendwer eine Idee ?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 10 Februar 2019, 21:42:14
Hi,
passiert das auch, wenn Du den Max487 komplett vom Arduino nimmst? Ansonsten gibt es natürlich Probleme, wenn beides, also der Bus und die "Hochladeverbindung" denselben seriellen Port nehmen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 10 Februar 2019, 21:46:17
Hi,

Oder ein Problem mit der Arduino IDE? Welche Version nutzt du?
Ich bekomme nix vernünftig kompiliert, ausser ich nutze die alte IDE oder eine ältere Version des Boards. Siehe :
https://forum.fhem.de/index.php/topic,22952.msg876113.html#msg876113

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 11 Februar 2019, 09:00:05
Zitat von: Thorsten Pferdekaemper am 10 Februar 2019, 21:42:14
Hi,
passiert das auch, wenn Du den Max487 komplett vom Arduino nimmst? Ansonsten gibt es natürlich Probleme, wenn beides, also der Bus und die "Hochladeverbindung" denselben seriellen Port nehmen.
Gruß,
   Thorsten

Auch wenn ich den Nano alleine per USB an meinen Rechner (Windows 7, IDE 1.8.5) stecke - sonst keine Teile dran, kann ich nicht mal einen "leeren" Sketch (also nur setup() und loop() ohne Inhalt - oder ein simples LED Blink) hochladen. kein RX/TX Ledblinken, nur die PowerLEd leuchtet (wenn ich Reset drücke blinkt die Led kurz auf), sonst alles dunkel. Habe das nun bereits bei 3 Nanos versucht. Heute kommen 2 neue, dann mal versuchen, wenn ich nur den Sketch (minimal Sketch) hochlade ohne externen Beschaltungen - vll hat die externe Beschaltung ja den Nano zerstört - wer weis...

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 11 Februar 2019, 09:03:53
Zitat von: loetmeister am 10 Februar 2019, 21:46:17
Hi,

Oder ein Problem mit der Arduino IDE? Welche Version nutzt du?
Ich bekomme nix vernünftig kompiliert, ausser ich nutze die alte IDE oder eine ältere Version des Boards. Siehe :
https://forum.fhem.de/index.php/topic,22952.msg876113.html#msg876113

Gruß,
Thomas

Naja - ich verwende die 1.8.5 mit BoardManager 1.6.20 - das erste Mal geht es auch, dann nicht mehr....

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 11 Februar 2019, 09:05:22
Zitat von: Sandomor am 11 Februar 2019, 09:00:05vll hat die externe Beschaltung ja den Nano zerstört - wer weis...
Kannst Du mal ein Bild von der ganzen Sache machen? Vielleicht fällt da was auf.
Es ist meiner Meinung nach ziemlich unwahrscheinlich, dass das ein prinzipieller Fehler ist. Es haben schon einige das ganze durchgespielt und es ging dabei nichts kaputt.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 12 Februar 2019, 10:28:28
Hallo Thorsten,

habe die externe Beschaltung schon wieder abgebaut - heute kommen 5 neue Nano - dann neuer Anlauf - zumindest einen opfere ich sicher noch ;)

ausserdem werde ich versuchen, mal einen neuen Bootloader auf die defekten zu spielen - dafür brauch ich halt auch einen funktionierenden Nano...

ich werde berichten - danke mal soweit für Deine Hilfe...

lg
Andi
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 27 März 2019, 13:25:38
Ich habe ein Problem mit der Adresse, vielleicht hat jemand eine Lösung.

Und zwar wurde mein neues Gerät in Fhem erkannt und ich wollte die Adresse ändern.
Anstatt 406142000010 habe ich die raw Message 406100000010 an den Arduino gesendet.
Nach einem Neustart wurde es dann nicht mehr gefunden.

Auch wenn ich den sketch neu draufspiele wird es nicht mehr erkannt.
Was muss ich denn tun damit ich die Adresse wieder auf die Ursprungsadresse bekomme?

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 27 März 2019, 22:32:34
Hi,

damit müsste die Adresse 0x00000010 (dezimal 16) sein. Sollte eigentlich kein Problem sein, außer es gibt schon ein Gerät mit der Adresse?
Steht was im FHEM log?

EEPROM löschen ginge per ISP. Sonst mal temporär in HBWired.cpp, factoryReset() zulassen den kompletten Bereich, inkl. der letzen 4 byte - da steht die eigene Adresse - zu löschen: "i <= E2END - 4" in "i <= E2END" ändern... Sketch neu aufspielen und mit dem Config Taster ein Reset machen.

void HBWDevice::factoryReset() {
  // writes FF into EEPROM, without upper 4 Bytes
  for(uint16_t i = 0; i <= E2END - 4; i++) {
    writeEEPROM(i, 0xFF, false);
  };


Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 01 April 2019, 09:55:27
Hi,
in der Arduino-Umgebung gibt es ein Beispielprogramm "eeprom_clear". Allerdings schreibt das Nullen ins EEPROM. Das muss auf 255 geändert werden, dann kann man damit auch das EEPROM wieder auf "leer" setzen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 01 April 2019, 20:26:17
Hi,

@Thomas: Es gab noch kein Gerät mit der Adresse aber im Fhemlog ist auch nichts erschienen.
@Thorsten: Das mit dem eeprom_clear hatte ich schon getestet allerdings mit 0.
   Als ich es jetzt mit 255 zurückgesetzt habe, hat es nach dem neu drauf laden auch wieder funktioniert.

Vielen Dank euch beiden.

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 01 April 2019, 20:44:18
Zitat von: Fhemmichl am 01 April 2019, 20:26:17
@Thomas: Es gab noch kein Gerät mit der Adresse aber im Fhemlog ist auch nichts erschienen.
Adressen bis einschließlich 255 (000000FF) werden kommentarlos ignoriert, da diese für die Zentrale(n) reserviert sind.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 24 Juni 2019, 08:05:16
Hallo Thorsten,

danke für dein Tutorial, sehr anschaulich beschrieben und nachvollziehbar. Ich habe es jetzt bis Folge 7 durchgearbeitet und es funktioniert alles soweit gut. Ich habe nur ein Problem, dass das Gerät nach dem 1. oder 2. RAW Befehl auf "RESPONSE TIMOUT"  geht. Aber die Befehle werden weiterhin ohne Problem ausgeführt. Ich habe mal den Arduino mit dem HBW_LC_Bl_4 Sketch geflasht und es ist das gleiche Verhalten zu beobachten. Die Relais schalten ohne Probleme, aber das Gerät steht auf "RESPONSE TIMOUT".
Woran kann das liegen?

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 24 Juni 2019, 09:55:45
Hi,
steht irgendwas im FHEM-Log? Wenn nicht, dann mal den log-Level für HM485 (also am besten für das HM485_LAN-Device) hochsetzen und nochmal probieren. ...und dann mal im Log nachsehen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 24 Juni 2019, 14:28:18
ich habe den Loglevel auf 5 gesetzt und es kommt folgendes:

2019.06.24 14:23:59 5: HM_485: HM485_LAN_Write TX: 33
2019.06.24 14:23:59 5: SW: fd02214b
2019.06.24 14:23:59 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 33 Cmd: 97
2019.06.24 14:23:59 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (33) 00 AliveStatus: 00
2019.06.24 14:24:19 5: HM_485: HM485_LAN_Write TX: 34
2019.06.24 14:24:19 5: SW: fd02224b
2019.06.24 14:24:19 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 34 Cmd: 97
2019.06.24 14:24:19 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (34) 00 AliveStatus: 00
2019.06.24 14:24:39 5: HM_485: HM485_LAN_Write TX: 35
2019.06.24 14:24:39 5: SW: fd02234b
2019.06.24 14:24:39 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 35 Cmd: 97
2019.06.24 14:24:39 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (35) 00 AliveStatus: 00
2019.06.24 14:24:59 5: HM_485: HM485_LAN_Write TX: 36
2019.06.24 14:24:59 5: SW: fd02244b
2019.06.24 14:24:59 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 36 Cmd: 97
2019.06.24 14:24:59 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (36) 00 AliveStatus: 00
2019.06.24 14:25:04 5: HM_485: HM485_LAN_Write TX: 37
2019.06.24 14:25:04 5: HM_485: HM485_LAN_SendQueueNextItem: QID: 00000020
2019.06.24 14:25:04 5: SW: fd0f2553c8420000171e00000001780000
2019.06.24 14:25:04 4: HM_485: HM_485: TX: (37) I[3](0,F,B)(1E) 00000001 -> 42000017 [5] 78(x) 0000
2019.06.24 14:25:05 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 37 Cmd: 97
2019.06.24 14:25:05 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (37) 3439 AliveStatus: 34
2019.06.24 14:25:05 5: HM_485: HM485_LAN_DispatchNack: Start
2019.06.24 14:25:05 5: HM_485: HM485_LAN_DispatchNack: Message: �%aB
2019.06.24 14:25:05 5: HM_485: dispatch �\003%a\001B\000\000\027
2019.06.24 14:25:05 5: HM_485: HM485_Parse: MsgId: 37
2019.06.24 14:25:05 5: HM_485: HM485_QueueStepFailed Request ID: 37
2019.06.24 14:25:05 3: HBW_LC_Bl_4_HBW7296279: RESPONSE TIMEOUT for 42000017
2019.06.24 14:25:05 5: HM_485: HM485_LAN_CheckResendQueueItems: QID: 00000020
2019.06.24 14:25:05 5: HM_485: HM485_LAN_CheckResendQueueItems: DispatchNack
2019.06.24 14:25:05 5: HM_485: HM485_LAN_DispatchNack: Start
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 24 Juni 2019, 22:09:16
Hi,
das sieht auf den ersten Blick tatsächlich etwas seltsam aus. Was hast Du denn für ein Interface? D.h. was ist das HM485_LAN physikalisch?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 25 Juni 2019, 09:50:38
Hi,

einen Standard USB 2.0 to TTL RS485 Serial Converter, von Ali.
Den habe ich auch an meinem Hauptserver und er funktioniert mit Homematic Geräten gut. Hast du eine Empfehlung für mich?

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 25 Juni 2019, 10:01:03
Hi,
ok, das sieht prinzipiell mal gut aus. Also wenn ich das richtig verstehe, dann hast Du sozusagen Dein Hauptsystem mit "echten" HMW-Geräten und ein Entwicklungssystem mit dem HBW-Teil. Hast Du schon einmal versucht, ein "echtes" HMW-Gerät an das Entwicklungssystem zu hängen?
Könntest Du außerdem auch nochmal den Sketch aus dem Tutorial auf den Arduino laden und damit ein Level-5-Log zeigen?
...außerdem wäre ein Log vom Daemon interessant.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 25 Juni 2019, 10:56:40
Ja, das ist richtig. Ich habe kein HMW Gerät mehr rumliegen - muss ich erst ausbauen und zurücksetzen. Ich packe heute Nachmittag nochmal den Sketch aus dem Tutorial drauf und schaue mal im Daemon Log.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 25 Juni 2019, 17:10:12
Hi,

so sieht der Log Auszug mit dem Tutorial Sketch aus:

2019.06.25 16:56:33 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 14 Cmd: 97
2019.06.25 16:56:33 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (14) 00 AliveStatus: 00
2019.06.25 16:56:53 5: HM_485: HM485_LAN_Write TX: 15
2019.06.25 16:56:53 5: SW: fd020f4b
2019.06.25 16:56:53 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 15 Cmd: 97
2019.06.25 16:56:53 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (15) 00 AliveStatus: 00
2019.06.25 16:57:13 5: HM_485: HM485_LAN_Write TX: 16
2019.06.25 16:57:13 5: SW: fd02104b
2019.06.25 16:57:13 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 16 Cmd: 97
2019.06.25 16:57:13 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (16) 00 AliveStatus: 00
2019.06.25 16:57:33 5: HM_485: HM485_LAN_Write TX: 17
2019.06.25 16:57:33 5: SW: fd02114b
2019.06.25 16:57:33 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 17 Cmd: 97
2019.06.25 16:57:33 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (17) 00 AliveStatus: 00
2019.06.25 16:57:57 5: HM_485: HM485_LAN_Write TX: 18
2019.06.25 16:57:57 5: SW: fd02124b
2019.06.25 16:57:57 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 18 Cmd: 97
2019.06.25 16:57:57 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (18) 00 AliveStatus: 00
2019.06.25 16:58:09 5: HM_485: HM485_LAN_Write TX: 19
2019.06.25 16:58:09 5: HM_485: HM485_LAN_SendQueueNextItem: QID: 00000009
2019.06.25 16:58:09 5: SW: fd0f1353c84200001718000000017300c8
2019.06.25 16:58:09 4: HM_485: HM_485: TX: (19) I[0](0,F,B)(18) 00000001 -> 42000017 [5] 73(s) 00C8
2019.06.25 16:58:10 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 19 Cmd: 97
2019.06.25 16:58:10 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (19) 3439 AliveStatus: 34
2019.06.25 16:58:10 5: HM_485: HM485_LAN_DispatchNack: Start
2019.06.25 16:58:10 5: HM_485: HM485_LAN_DispatchNack: Message: �aB
2019.06.25 16:58:10 5: HM_485: dispatch �\003\023a\001B\000\000\027
2019.06.25 16:58:10 5: HM_485: HM485_Parse: MsgId: 19
2019.06.25 16:58:10 5: HM_485: HM485_QueueStepFailed Request ID: 19
2019.06.25 16:58:10 3: HBW_TUTORIAL_HBW7296279: RESPONSE TIMEOUT for 42000017
2019.06.25 16:58:10 5: HM_485: HM485_LAN_CheckResendQueueItems: QID: 00000009
2019.06.25 16:58:10 5: HM_485: HM485_LAN_CheckResendQueueItems: DispatchNack
2019.06.25 16:58:10 5: HM_485: HM485_LAN_DispatchNack: Start
2019.06.25 16:58:30 5: HM_485: HM485_LAN_Write TX: 20
2019.06.25 16:58:30 5: SW: fd02144b
2019.06.25 16:58:30 5: HM_485: HM485_LAN_parseIncommingCommand: MsgId: 20 Cmd: 97
2019.06.25 16:58:30 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (20) 00 AliveStatus: 00


Im Deamon Log gibt es dazu keine Einträge.

Ich habe mir noch ein HMW Device bestellt.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 08:30:16
Hi,
was mich momentan wundert ist vor Allem diese Zeile:

2019.06.25 16:58:10 5: HM_485: HM485_LAN_parseIncommingCommand: Alive: (19) 3439 AliveStatus: 34

Normalerweise sollte da nur 00 oder 01 ankommen, aber nicht 3439 oder sowas.
Wahrscheinlich hast Du das Logging vom Daemon nicht eingeschaltet. Könntest Du mal folgendes versuchen:
1. Das Loglevel für den HM485_LAN und HM485 wieder auf was normales stellen.
2. Für den HM485_LAN: attr <hm485_lan> HM485d_logVerbose 5
3. set <hm485_lan> restart

...und dann mal nachsehen, was so alles im Log landet.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 10:06:29
Hi,

habe ich gemacht und sieht folgendermaßen aus. Ist was auffällig?

2019.06.26 09:36:27.981 0: HM485d: Server stopped ...
2019.06.26 09:36:27 3: HM_485: HM485d with PID 16573 was terminated.
2019.06.26 09:36:28 3: HM_485: Start HM485d with command line: ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/ttyUSB0 --localPort 2000 --verbose 5
2019.06.26 09:36:28 3: HM_485: HM485d was started with PID: 27178
2019.06.26 09:36:28 3: HM_485: Connect to HM485d delayed for 5 seconds
2019.06.26 09:36:29.439 3: HM485d: port 2000 opened
2019.06.26 09:36:29.439 3: HM485d: server waiting for client connection on port 2000
2019.06.26 09:36:29.440 3: Opening SERIAL device /dev/ttyUSB0
2019.06.26 09:36:29.588 3: SERIAL device opened
2019.06.26 09:36:29.593 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2019.06.26 09:36:29.595 2: HM485d: SERIAL connected to device /dev/ttyUSB0
2019.06.26 09:36:29.595 1: HM485d: Server started ...
2019.06.26 09:36:33 3: Opening HM_485 device localhost:2000
2019.06.26 09:36:33 3: HM_485: connected to device localhost:2000
2019.06.26 09:36:33 3: HM_485 device opened
2019.06.26 09:36:33.303 4: Connection accepted from HM485d_127.0.0.1_54218
2019.06.26 09:36:33.304 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.06.26 09:36:33 3: HM_485: Lan Device Information
2019.06.26 09:36:33 3: HM_485: Protocol-Version: 01
2019.06.26 09:36:33 3: HM_485: Interface-Type: HMW-SOFT-GW
2019.06.26 09:36:33 3: HM_485: Firmware-Version: 0.2.2
2019.06.26 09:36:33 3: HM_485: Serial-Number: SGW0123456
2019.06.26 09:36:33 3: HM_485: Initialize the interface
2019.06.26 09:36:33.311 4: HM485d: Rx: FD3E30312C303030300D0A
2019.06.26 09:36:53.320 4: HM485d: Rx: FD02024B
2019.06.26 09:36:53.322 4: HM485d: Tx: FD03026100
2019.06.26 09:37:13.332 4: HM485d: Rx: FD02034B
2019.06.26 09:37:13.333 4: HM485d: Tx: FD03036100
2019.06.26 09:37:33.340 4: HM485d: Rx: FD02044B
2019.06.26 09:37:33.341 4: HM485d: Tx: FD03046100
2019.06.26 09:37:53.352 4: HM485d: Rx: FD02054B
2019.06.26 09:37:55.105 4: HM485d: Tx: FD03056100
2019.06.26 09:38:15.112 4: HM485d: Rx: FD02064B
2019.06.26 09:38:15.113 4: HM485d: Tx: FD03066100



VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 10:17:01
Hi,
das sind nur Keepalive-Messages, also da wird weder was zum Device gesendet noch kommt was vom Device.
Kannst Du mal so ein Log machen während Du ein Kommando zum Device schickst?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 10:33:39
Hier der Log mit einem Kommando:

10:27:58 3: HM_485: Serial-Number: SGW0123456
2019.06.26 10:27:58 3: HM_485: Initialize the interface
2019.06.26 10:27:58.597 4: HM485d: Rx: FD3E30312C303030300D0A
2019.06.26 10:28:18.601 4: HM485d: Rx: FD02024B
2019.06.26 10:28:18.602 4: HM485d: Tx: FD03026100
2019.06.26 10:28:21.949 4: HM485d: Rx: FD0F0353C8420000171C000000017800C8
2019.06.26 10:28:21.952 5: SW: fd420000171c00000001057800c82f6e
2019.06.26 10:28:21.954 3: HM485d: Tx: (3:1) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 78(x) 00C8 {2F6E}
2019.06.26 10:28:22.157 5: SW: fd420000171c00000001057800c82f6e
2019.06.26 10:28:22.160 3: HM485d: Tx: (3:2) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 78(x) 00C8 {2F6E}
2019.06.26 10:28:22.363 5: SW: fd420000171c00000001057800c82f6e
2019.06.26 10:28:22.365 3: HM485d: Tx: (3:3) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 78(x) 00C8 {2F6E}
2019.06.26 10:28:22.566 4: HM485d: Tx: FD0403613439
2019.06.26 10:28:22 3: HBW_TUTORIAL_HBW7296279: RESPONSE TIMEOUT for 42000017
2019.06.26 10:28:34.293 4: HM485d: Rx: FD0F0453C8420000171E00000001780000
2019.06.26 10:28:34.296 5: SW: fd420000171e0000000105780000e2de
2019.06.26 10:28:34.298 3: HM485d: Tx: (4:1) I[3](0,F,B)(1E) 00000001 -> 42000017 [5] 78(x) 0000 {E2DE}
2019.06.26 10:28:34.501 5: SW: fd420000171e0000000105780000e2de
2019.06.26 10:28:34.504 3: HM485d: Tx: (4:2) I[3](0,F,B)(1E) 00000001 -> 42000017 [5] 78(x) 0000 {E2DE}
2019.06.26 10:28:34.707 5: SW: fd420000171e0000000105780000e2de
2019.06.26 10:28:34.709 3: HM485d: Tx: (4:3) I[3](0,F,B)(1E) 00000001 -> 42000017 [5] 78(x) 0000 {E2DE}
2019.06.26 10:28:34.910 4: HM485d: Tx: FD0404613439
2019.06.26 10:28:34 3: HBW_TUTORIAL_HBW7296279: RESPONSE TIMEOUT for 42000017



VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 10:45:47
Hi,
also das ist jetzt ziemlich eindeutig. Der Daemon schickt das Kommando raus, aber es kommt keine Antwort vom Device zurück. (Das mit dem 3439, was mich vorher gewundert hat, ist ein kleiner Bug, der aber für das hier keine Rolle spielt.)
Jetzt müssen wir mal sehen, wie wir herausfinden, wo die Kommunikation unterbrochen ist.
Da Du gesagt hast, dass das Kommando beim Arduino ankommt (also da schaltet was), muss es bis zum Arduino schon mal klappen. Kannst Du bestätigen, dass da was schaltet?

Falls ja, dann muss es auf dem Weg zurück liegen. Kannst Du mal ein Bild von Deiner Schaltung machen? Ist das wirklich genau so, wie im Tutorial angegeben?

Gruß,
   Thorsten 
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 11:09:44
Ja, die Befehle kommen beim Arduino an - die Schaltbefehle werden ausgeführt. Aber vom Arduino müsste die Kommunikation eigentlich auch funktionieren, ansonsten würden sich die Geräte doch gar nicht anlegen. Oder?
Die Schaltung ist genau wie im Tutorial, bis auf den 485 Treiber, da habe ich folgenden eingesetzt.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 11:17:49
Hi,
naja, wenn das Gerät mal angelegt ist und Du nur raw-Befehle verwendest, dann tut's auch so...
Funktioniert denn ein "set ... getConfig"?
Was passiert, wenn Du das Gerät in FHEM löschst und danach einmal den Arduino "durchstartest"?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 18:07:05
Also, bei getConfig kommt nichts,
aber wenn ich das Device lösche, den HM485_Lan restarte und dann den Arduino resete, dann wird das Gerät neu angelegt.

VG Andreas

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 18:20:15
Hi,
ok, da wär dann vielleicht mal ein Log von diesem Vorgang interessant.
Allerdings habe ich inzwischen noch einen anderen Tipp bekommen zu Deinem Transceiver-Baustein. Kann es sein, dass das Ding Abschlusswiderstände drauf hat? Könntest Du mal alle Widerstände jeweils zwischen A,B und GND (und ggf. +5V) messen? Möglicherweise ist das Ding nur für Standard-RS485 geeignet, aber nicht wirklich für HMW/HBW. Bitte mal für beide Transceiver, also den am Arduino und den auf der FHEM-Seite, messen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 21:11:44
Hi,

ich habe zwischen A und B 120 ohm und zwischen A bzw. B zu GND 10,7 kohm und zwischen A bzw B zu Vcc ca 20 kohm.

Ich habe auch mal das RS485 Modul durch einen Max 487 CPA ersetzt, mit dem gleichen Ergebnis, außer das sich die Geräte nach dem löschen nicht mehr anlegen lassen.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 Juni 2019, 21:51:11
Zitat von: a_quadrat am 26 Juni 2019, 21:11:44
ich habe zwischen A und B 120 ohm
Das ist schlecht, der muss weg. Du hast Glück, wenn noch nichts wirklich kaputt gegangen ist. (Siehe hier: https://wiki.fhem.de/wiki/HomeMatic_Wired#Der_sogenannte_Busabschluss)
0 kohm.

Zitat
Ich habe auch mal das RS485 Modul durch einen Max 487 CPA ersetzt, mit dem gleichen Ergebnis, außer das sich die Geräte nach dem löschen nicht mehr anlegen lassen.
...und wie sehen die Widerstände bei dem Teil aus, das an der FHEM-Seite hängt?

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 26 Juni 2019, 22:39:22
Am Interface messe ich 2,2 kOhm, den 120 Ohm Widerstand habe ich entfernt, leider immer noch keine Verbesserung.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 27 Juni 2019, 08:54:09
Hi,
jetzt kann es natürlich sein, dass tatsächlich was kaputt gegangen ist...
Könntest Du nochmal ein Log vom Daemon machen, und zwar beim "Hochfahren" des Arduino? ...also ich will sehen, ob da irgendwas auf der FHEM-Seite ankommt.
...und dann vielleicht tatsächlich mal ein Bild der Schaltung (auf beiden Seiten). Vielleicht ist da doch was falsch gelaufen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 27 Juni 2019, 09:42:36
Hi,

was mich nur wundert, dass der Arduino, zum Anlegen der Geräte, was sendet. Oder? Vielleicht kommt heute Nachmittag das HMW Gerät, dann probiere ich damit nochmal.

Muss ich für den Deamon Log noch was aktivieren? Es ist doch die Datei var/log/deamon.log?

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 27 Juni 2019, 09:59:30
Zitat von: a_quadrat am 27 Juni 2019, 09:42:36
was mich nur wundert, dass der Arduino, zum Anlegen der Geräte, was sendet. Oder?
Naja, er sendet halt irgendwas, je nachdem wie der Sketch genau aussieht. Egal was das Teil sendet, sollte FHEM bemerken, dass das Ding neu ist und es per Autocreate anlegen.

Zitat
Muss ich für den Deamon Log noch was aktivieren? Es ist doch die Datei var/log/deamon.log?
Nochmal so wie hier schon beschrieben: https://forum.fhem.de/index.php/topic,61781.msg952698.html#msg952698
...das, was Du dann gemacht hast, war schon richtig.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 27 Juni 2019, 13:10:14
Ich habe den HM485_Lan neu gestartet und das Gerät meldet sich korrekt an, dann einen Befehl abgeschickt und es geht auf Response Timeout. Hier der Log dazu, den Rest muss ich heute Abend machen. Ich habe Momentan physisch keinen Zugriff.

2019.06.27 13:02:50.924 2: HM485d: SERIAL connected to device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2019.06.27 13:02:50.925 1: HM485d: Server started ...
2019.06.27 13:02:51 3: HM_485: Warte auf Initialisierung Gateway
2019.06.27 13:02:54 3: Opening HM_485 device localhost:2000
2019.06.27 13:02:54.589 4: Connection accepted from HM485d_127.0.0.1_36082
2019.06.27 13:02:54 3: HM_485: connected to device localhost:2000
2019.06.27 13:02:54.590 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.06.27 13:02:54 3: HM_485 device opened
2019.06.27 13:02:54 3: HM_485: Lan Device Information
2019.06.27 13:02:54 3: HM_485: Protocol-Version: 01
2019.06.27 13:02:54 3: HM_485: Interface-Type: HMW-SOFT-GW
2019.06.27 13:02:54 3: HM_485: Firmware-Version: 0.2.2
2019.06.27 13:02:54 3: HM_485: Serial-Number: SGW0123456
2019.06.27 13:02:54 3: HM_485: Initialize the interface
2019.06.27 13:02:54.603 4: HM485d: Rx: FD3E30312C303030300D0A
2019.06.27 13:02:56 3: HM_485: Initialisierung von Modul 42000017
2019.06.27 13:02:56.717 4: HM485d: Rx: FD0D0253C8420000171A0000000168
2019.06.27 13:02:56.720 5: SW: fd420000171a000000010368b5ec
2019.06.27 13:02:56.722 3: HM485d: Tx: (2:1) I[1](0,F,B)(1A) 00000001 -> 42000017 [3] 68(h)  {B5EC}
2019.06.27 13:02:56.785 3: HM485d: Rx: Response: (2) I[0](1,F,B)(38) 42000017 -> 00000001 [4] AB(�) 01 {0176}
2019.06.27 13:02:56.787 5: SW: fd42000017190000000102a23c
2019.06.27 13:02:56.790 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000017 [2] {A23C}
2019.06.27 13:02:56.790 4: HM485d: Tx: FD05027238AB01
2019.06.27 13:02:56.798 4: HM485d: Rx: FD0D0353C8420000171C000000016E
2019.06.27 13:02:56.801 5: SW: fd420000171c00000001036e3166
2019.06.27 13:02:56.808 3: HM485d: Tx: (3:1) I[2](0,F,B)(1C) 00000001 -> 42000017 [3] 6E(n)  {3166}
2019.06.27 13:02:56.858 3: HM485d: Rx: Response: (3) I[0](2,F,B)(58) 42000017 -> 00000001 [12] 48(H) 425737323936323739 {CB26}
2019.06.27 13:02:56.860 5: SW: fd42000017190000000102a23c
2019.06.27 13:02:56.862 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000017 [2] {A23C}
2019.06.27 13:02:56.863 4: HM485d: Tx: FD0D03725848425737323936323739
2019.06.27 13:02:56.871 4: HM485d: Rx: FD0D0453C8420000171E0000000176
2019.06.27 13:02:56.874 5: SW: fd420000171e0000000103760d28
2019.06.27 13:02:56.878 3: HM485d: Tx: (4:1) I[3](0,F,B)(1E) 00000001 -> 42000017 [3] 76(v)  {0D28}
2019.06.27 13:02:56.951 3: HM485d: Rx: Response: (4) I[0](3,F,B)(78) 42000017 -> 00000001 [4] 01() 00 {D8F0}
2019.06.27 13:02:56.953 5: SW: fd42000017190000000102a23c
2019.06.27 13:02:56.955 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000017 [2] {A23C}
2019.06.27 13:02:56.956 4: HM485d: Tx: FD050472780100
2019.06.27 13:02:56 3: HBW_TUTORIAL_HBW7296279: Request config for device 42000017
2019.06.27 13:02:56 3: HBW_TUTORIAL_HBW7296279: Lese Eeprom 42000017
2019.06.27 13:02:56.971 4: HM485d: Rx: FD100553C842000017180000000152000010
2019.06.27 13:02:56.974 5: SW: fd42000017180000000106520000100728
2019.06.27 13:02:56.976 3: HM485d: Tx: (5:1) I[0](0,F,B)(18) 00000001 -> 42000017 [6] 52(R) 000010 {0728}
2019.06.27 13:02:57.074 3: HM485d: Rx: Response: (5) I[0](0,F,B)(18) 42000017 -> 00000001 [18] FF(�) FF00000001FFFF0500C800C800FFFF {7AE8}
2019.06.27 13:02:57.076 5: SW: fd42000017190000000102a23c
2019.06.27 13:02:57.078 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000017 [2] {A23C}
2019.06.27 13:02:57.079 4: HM485d: Tx: FD13057218FFFF00000001FFFF0500C800C800FFFF
2019.06.27 13:02:57.101 4: HM485d: Rx: FD0E0653C8420000171A000000015300
2019.06.27 13:02:57.104 5: SW: fd420000171a00000001045300829e
2019.06.27 13:02:57.106 3: HM485d: Tx: (6:1) I[1](0,F,B)(1A) 00000001 -> 42000017 [4] 53(S) 00 {829E}
2019.06.27 13:02:57.165 3: HM485d: Rx: Response: (6) I[0](1,F,B)(38) 42000017 -> 00000001 [5] 69(i) 0000 {0CD0}
2019.06.27 13:02:57.167 5: SW: fd42000017190000000102a23c
2019.06.27 13:02:57.169 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000017 [2] {A23C}
2019.06.27 13:02:57.170 4: HM485d: Tx: FD06067238690000
2019.06.27 13:03:15.164 4: HM485d: Rx: FD0F0753C8420000171C00000001730000
2019.06.27 13:03:15.167 5: SW: fd420000171c0000000105730000c9bc
2019.06.27 13:03:15.169 3: HM485d: Tx: (7:1) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 73(s) 0000 {C9BC}
2019.06.27 13:03:15.372 5: SW: fd420000171c0000000105730000c9bc
2019.06.27 13:03:15.374 3: HM485d: Tx: (7:2) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 73(s) 0000 {C9BC}
2019.06.27 13:03:15.577 5: SW: fd420000171c0000000105730000c9bc
2019.06.27 13:03:15.580 3: HM485d: Tx: (7:3) I[2](0,F,B)(1C) 00000001 -> 42000017 [5] 73(s) 0000 {C9BC}
2019.06.27 13:03:15.781 4: HM485d: Tx: FD0407613439
2019.06.27 13:03:15 3: HBW_TUTORIAL_HBW7296279: RESPONSE TIMEOUT for 42000017


VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 29 Juni 2019, 12:03:23
Hi,

ich habe jetzt das HMW Gerät angeschlossen und es kommt zu den gleichen Fehlern. Es kann eigentlich nur noch am Interface oder Raspi liegen. Kann es sein, dass eventuell noch eine Bibliothek fehlt?

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 30 Juni 2019, 11:15:18
Hi,
ich wüsste nicht, was das für eine Bibliothek sein soll. Es ist auch etwas seltsam, dass es beim HBW-Device erst beim set-Befehl passiert. Da ist eher meine Vermutung, dass mit dem Sketch was nicht stimmt. Von der Kommunikation her ist eher der config-Teil fehleranfällig, da dabei viel mehr passiert.
Was genau passiert bei dem HMW-Gerät. Wird das auch ordentlich angelegt und dann passiert erst das Problem? Könntest Du hier auch mal dasselbe Log machen?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 30 Juni 2019, 14:47:42
Hi,

ja, das Gerät wurde angelegt, und wenn man dann einen Set Befehl ausführt, geht das Gerät auf Timeout. Diesmal erst beim zweiten Set Befehl. Hier ist mal der Log dazu.


2019.06.30 14:38:03.032 3: HM485d: port 2000 opened
2019.06.30 14:38:03.033 3: HM485d: server waiting for client connection on port 2000
2019.06.30 14:38:03.034 3: Opening SERIAL device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2019.06.30 14:38:03.182 3: SERIAL device opened
2019.06.30 14:38:03.187 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2019.06.30 14:38:03.188 2: HM485d: SERIAL connected to device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0
2019.06.30 14:38:03.188 1: HM485d: Server started ...
2019.06.30 14:38:06.877 4: Connection accepted from HM485d_127.0.0.1_48560
2019.06.30 14:38:06.878 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.06.30 14:38:06.905 4: HM485d: Rx: FD3E30312C303030300D0A
2019.06.30 14:38:11.813 4: HM485d: Rx: FD0D0253C8000096F3980000000168
2019.06.30 14:38:11.817 5: SW: fd000096f3980000000103685e94
2019.06.30 14:38:11.819 3: HM485d: Tx: (2:1) I[0](0,Y,F,B)(98) 00000001 -> 000096F3 [3] 68(h)  {5E94}
2019.06.30 14:38:11.908 3: HM485d: Rx: Response: (2) I[3](0,F,B)(1E) 000096F3 -> 00000001 [4] 12() 00 {526E}
2019.06.30 14:38:11.911 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:11.913 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:11.914 4: HM485d: Tx: FD0502721E1200
2019.06.30 14:38:11.925 3: HM485d: Rx: dup frame:  I[3](0,F,B)(1E) 000096F3 -> 00000001 [4] 12() 00 {526E}
2019.06.30 14:38:12.036 4: HM485d: Rx: FD0D0353C8000096F31A000000016E
2019.06.30 14:38:12.039 5: SW: fd000096f31a00000001036e1db6
2019.06.30 14:38:12.041 3: HM485d: Tx: (3:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [3] 6E(n)  {1DB6}
2019.06.30 14:38:12.067 3: HM485d: Rx: Response: (3) I[1](1,F,B)(3A) 000096F3 -> 00000001 [12] 4A(J) 455130343937393330 {9FC6}
2019.06.30 14:38:12.070 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:12.072 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:12.073 4: HM485d: Tx: FD0D03723A4A455130343937393330
2019.06.30 14:38:12.080 4: HM485d: Rx: FD0D0453C8000096F31C0000000176
2019.06.30 14:38:12.083 5: SW: fd000096f31c0000000103766902
2019.06.30 14:38:12.085 3: HM485d: Tx: (4:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [3] 76(v)  {6902}
2019.06.30 14:38:12.108 3: HM485d: Rx: Response: (4) I[2](2,F,B)(5C) 000096F3 -> 00000001 [4] 03() 06 {96A8}
2019.06.30 14:38:12.110 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:12.112 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:12.113 4: HM485d: Tx: FD0504725C0306
2019.06.30 14:38:12 3: HMW_IO_12_Sw7_DR_JEQ0497930: Request config for device 000096F3
2019.06.30 14:38:12 3: HMW_IO_12_Sw7_DR_JEQ0497930: Lese Eeprom 000096F3
2019.06.30 14:38:12.149 4: HM485d: Rx: FD100553C8000096F31E0000000152000010
2019.06.30 14:38:12.152 5: SW: fd000096f31e000000010652000010c1fc7c
2019.06.30 14:38:12.155 3: HM485d: Tx: (5:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 000010C1 {FC7C}
2019.06.30 14:38:12.187 3: HM485d: Rx: Response: (5) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) 1400000001FFFFFFFFFFFFFFFFFFFF {B07C}
2019.06.30 14:38:12.189 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:12.191 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:12.192 4: HM485d: Tx: FD1305727EFF1400000001FFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.200 4: HM485d: Rx: FD100653C8000096F3180000000152001010
2019.06.30 14:38:12.203 5: SW: fd000096f31800000001065200101078c6
2019.06.30 14:38:12.205 3: HM485d: Tx: (6:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 001010 {78C6}
2019.06.30 14:38:12.237 3: HM485d: Rx: Response: (6) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE {E810}
2019.06.30 14:38:12.239 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:12.241 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:12.242 4: HM485d: Tx: FD13067218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
2019.06.30 14:38:12.250 4: HM485d: Rx: FD100753C8000096F31A0000000152002010
2019.06.30 14:38:12.254 5: SW: fd000096f31a00000001065200201057a8
2019.06.30 14:38:12.256 3: HM485d: Tx: (7:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 002010 {57A8}
2019.06.30 14:38:12.287 3: HM485d: Rx: Response: (7) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:12.290 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:12.292 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:12.293 4: HM485d: Tx: FD1307723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.304 4: HM485d: Rx: FD100853C8000096F31C0000000152003010
2019.06.30 14:38:12.307 5: SW: fd000096f31c000000010652003010ee92
2019.06.30 14:38:12.309 3: HM485d: Tx: (8:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 003010 {EE92}
2019.06.30 14:38:12.341 3: HM485d: Rx: Response: (8) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:12.343 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:12.345 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:12.346 4: HM485d: Tx: FD1308725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.357 4: HM485d: Rx: FD100953C8000096F31E0000000152004010
2019.06.30 14:38:12.360 5: SW: fd000096f31e0000000106520040100974
2019.06.30 14:38:12.363 3: HM485d: Tx: (9:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 004010 {0974}
2019.06.30 14:38:12.395 3: HM485d: Rx: Response: (9) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:12.398 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:12.400 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:12.400 4: HM485d: Tx: FD1309727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.412 4: HM485d: Rx: FD100A53C8000096F3180000000152005010
2019.06.30 14:38:12.415 5: SW: fd000096f318000000010652005010b04e
2019.06.30 14:38:12.417 3: HM485d: Tx: (10:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 005010 {B04E}
2019.06.30 14:38:12.450 3: HM485d: Rx: Response: (10) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:12.452 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:12.454 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:12.455 4: HM485d: Tx: FD130A7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.466 4: HM485d: Rx: FD100B53C8000096F31A0000000152006010
2019.06.30 14:38:12.469 5: SW: fd000096f31a0000000106520060109f20
2019.06.30 14:38:12.472 3: HM485d: Tx: (11:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 006010 {9F20}
2019.06.30 14:38:12.503 3: HM485d: Rx: Response: (11) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:12.506 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:12.508 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:12.508 4: HM485d: Tx: FD130B723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.519 4: HM485d: Rx: FD100C53C8000096F31C0000000152007010
2019.06.30 14:38:12.523 5: SW: fd000096f31c000000010652007010261a
2019.06.30 14:38:12.525 3: HM485d: Tx: (12:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 007010 {261A}
2019.06.30 14:38:12.557 3: HM485d: Rx: Response: (12) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:12.560 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:12.562 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:12.562 4: HM485d: Tx: FD130C725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.574 4: HM485d: Rx: FD100D53C8000096F31E0000000152008010
2019.06.30 14:38:12.577 5: SW: fd000096f31e00000001065200801040ee
2019.06.30 14:38:12.579 3: HM485d: Tx: (13:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 008010 {40EE}
2019.06.30 14:38:12.611 3: HM485d: Rx: Response: (13) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:12.613 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:12.615 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:12.616 4: HM485d: Tx: FD130D727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.627 4: HM485d: Rx: FD100E53C8000096F3180000000152009010
2019.06.30 14:38:12.630 5: SW: fd000096f318000000010652009010f9d4
2019.06.30 14:38:12.633 3: HM485d: Tx: (14:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 009010 {F9D4}
2019.06.30 14:38:12.665 3: HM485d: Rx: Response: (14) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:12.667 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:12.669 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:12.670 4: HM485d: Tx: FD130E7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.681 4: HM485d: Rx: FD100F53C8000096F31A000000015200A010
2019.06.30 14:38:12.684 5: SW: fd000096f31a00000001065200a010d6ba
2019.06.30 14:38:12.686 3: HM485d: Tx: (15:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 00A010 {D6BA}
2019.06.30 14:38:12.718 3: HM485d: Rx: Response: (15) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:12.721 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:12.723 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:12.724 4: HM485d: Tx: FD130F723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.733 4: HM485d: Rx: FD101053C8000096F31C000000015200B010
2019.06.30 14:38:12.736 5: SW: fd000096f31c00000001065200b0106f80
2019.06.30 14:38:12.738 3: HM485d: Tx: (16:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 00B010 {6F80}
2019.06.30 14:38:12.771 3: HM485d: Rx: Response: (16) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:12.773 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:12.775 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:12.776 4: HM485d: Tx: FD1310725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.785 4: HM485d: Rx: FD101153C8000096F31E000000015200C010
2019.06.30 14:38:12.788 5: SW: fd000096f31e00000001065200c0108866
2019.06.30 14:38:12.791 3: HM485d: Tx: (17:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 00C010 {8866}
2019.06.30 14:38:12.822 3: HM485d: Rx: Response: (17) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:12.824 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:12.826 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:12.827 4: HM485d: Tx: FD1311727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.839 4: HM485d: Rx: FD101253C8000096F318000000015200D010
2019.06.30 14:38:12.842 5: SW: fd000096f31800000001065200d010315c
2019.06.30 14:38:12.844 3: HM485d: Tx: (18:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 00D010 {315C}
2019.06.30 14:38:12.877 3: HM485d: Rx: Response: (18) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:12.879 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:12.881 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:12.882 4: HM485d: Tx: FD13127218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.893 4: HM485d: Rx: FD101353C8000096F31A000000015200E010
2019.06.30 14:38:12.897 5: SW: fd000096f31a00000001065200e0101e32
2019.06.30 14:38:12.899 3: HM485d: Tx: (19:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 00E010 {1E32}
2019.06.30 14:38:12.931 3: HM485d: Rx: Response: (19) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:12.933 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:12.935 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:12.936 4: HM485d: Tx: FD1313723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:12.947 4: HM485d: Rx: FD101453C8000096F31C000000015200F010
2019.06.30 14:38:12.950 5: SW: fd000096f31c00000001065200f010a708
2019.06.30 14:38:12.953 3: HM485d: Tx: (20:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 00F010 {A708}
2019.06.30 14:38:12.985 3: HM485d: Rx: Response: (20) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:12.987 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:12.989 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:12.990 4: HM485d: Tx: FD1314725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.001 4: HM485d: Rx: FD101553C8000096F31E0000000152010010
2019.06.30 14:38:13.004 5: SW: fd000096f31e000000010652010010d3da
2019.06.30 14:38:13.007 3: HM485d: Tx: (21:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 010010 {D3DA}
2019.06.30 14:38:13.039 3: HM485d: Rx: Response: (21) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:13.041 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:13.043 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:13.044 4: HM485d: Tx: FD1315727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.056 4: HM485d: Rx: FD101653C8000096F3180000000152011010
2019.06.30 14:38:13.059 5: SW: fd000096f3180000000106520110106ae0
2019.06.30 14:38:13.061 3: HM485d: Tx: (22:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 011010 {6AE0}
2019.06.30 14:38:13.093 3: HM485d: Rx: Response: (22) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:13.095 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:13.097 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:13.098 4: HM485d: Tx: FD13167218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.109 4: HM485d: Rx: FD101753C8000096F31A0000000152012010
2019.06.30 14:38:13.113 5: SW: fd000096f31a000000010652012010458e
2019.06.30 14:38:13.115 3: HM485d: Tx: (23:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 012010 {458E}
2019.06.30 14:38:13.147 3: HM485d: Rx: Response: (23) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:13.149 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:13.151 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:13.152 4: HM485d: Tx: FD1317723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.163 4: HM485d: Rx: FD101853C8000096F31C0000000152013010
2019.06.30 14:38:13.167 5: SW: fd000096f31c000000010652013010fc7cb4
2019.06.30 14:38:13.169 3: HM485d: Tx: (24:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 013010FC {7CB4}
2019.06.30 14:38:13.201 3: HM485d: Rx: Response: (24) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:13.203 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:13.205 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:13.206 4: HM485d: Tx: FD1318725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.217 4: HM485d: Rx: FD101953C8000096F31E0000000152014010
2019.06.30 14:38:13.220 5: SW: fd000096f31e0000000106520140101b52
2019.06.30 14:38:13.223 3: HM485d: Tx: (25:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 014010 {1B52}
2019.06.30 14:38:13.255 3: HM485d: Rx: Response: (25) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:13.257 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:13.259 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:13.260 4: HM485d: Tx: FD1319727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.272 4: HM485d: Rx: FD101A53C8000096F3180000000152015010
2019.06.30 14:38:13.275 5: SW: fd000096f318000000010652015010a268
2019.06.30 14:38:13.277 3: HM485d: Tx: (26:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 015010 {A268}
2019.06.30 14:38:13.310 3: HM485d: Rx: Response: (26) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:13.312 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:13.314 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:13.315 4: HM485d: Tx: FD131A7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.327 4: HM485d: Rx: FD101B53C8000096F31A0000000152016010
2019.06.30 14:38:13.330 5: SW: fd000096f31a0000000106520160108d06
2019.06.30 14:38:13.332 3: HM485d: Tx: (27:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 016010 {8D06}
2019.06.30 14:38:13.364 3: HM485d: Rx: Response: (27) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:13.366 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:13.368 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:13.369 4: HM485d: Tx: FD131B723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.381 4: HM485d: Rx: FD101C53C8000096F31C0000000152017010
2019.06.30 14:38:13.384 5: SW: fd000096f31c000000010652017010343c
2019.06.30 14:38:13.386 3: HM485d: Tx: (28:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 017010 {343C}
2019.06.30 14:38:13.418 3: HM485d: Rx: Response: (28) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:13.421 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:13.423 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:13.424 4: HM485d: Tx: FD131C725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.435 4: HM485d: Rx: FD101D53C8000096F31E0000000152018010
2019.06.30 14:38:13.438 5: SW: fd000096f31e00000001065201801052c8
2019.06.30 14:38:13.440 3: HM485d: Tx: (29:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 018010 {52C8}
2019.06.30 14:38:13.473 3: HM485d: Rx: Response: (29) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:13.475 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:13.477 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:13.478 4: HM485d: Tx: FD131D727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.489 4: HM485d: Rx: FD101E53C8000096F3180000000152019010
2019.06.30 14:38:13.492 5: SW: fd000096f318000000010652019010ebf2
2019.06.30 14:38:13.495 3: HM485d: Tx: (30:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 019010 {EBF2}
2019.06.30 14:38:13.526 3: HM485d: Rx: Response: (30) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:13.529 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:13.531 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:13.532 4: HM485d: Tx: FD131E7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13.543 4: HM485d: Rx: FD101F53C8000096F31A000000015201A010
2019.06.30 14:38:13.546 5: SW: fd000096f31a00000001065201a010c49c
2019.06.30 14:38:13.549 3: HM485d: Tx: (31:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 01A010 {C49C}
2019.06.30 14:38:13.594 3: HM485d: Rx: Response: (31) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:13.597 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:13.599 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:13.600 4: HM485d: Tx: FD131F723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:13 2: AttrTemplates: got 98 entries
2019.06.30 14:38:14.916 4: HM485d: Rx: FD102053C8000096F31C000000015201B010
2019.06.30 14:38:14.920 5: SW: fd000096f31c00000001065201b0107da6
2019.06.30 14:38:14.922 3: HM485d: Tx: (32:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 01B010 {7DA6}
2019.06.30 14:38:14.954 3: HM485d: Rx: Response: (32) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:14.956 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:14.958 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:14.959 4: HM485d: Tx: FD1320725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:14.967 4: HM485d: Rx: FD102153C8000096F31E000000015201C010
2019.06.30 14:38:14.970 5: SW: fd000096f31e00000001065201c0109a40
2019.06.30 14:38:14.973 3: HM485d: Tx: (33:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 01C010 {9A40}
2019.06.30 14:38:15.005 3: HM485d: Rx: Response: (33) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:15.007 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:15.009 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:15.010 4: HM485d: Tx: FD1321727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.018 4: HM485d: Rx: FD102253C8000096F318000000015201D010
2019.06.30 14:38:15.022 5: SW: fd000096f31800000001065201d010237a
2019.06.30 14:38:15.025 3: HM485d: Tx: (34:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 01D010 {237A}
2019.06.30 14:38:15.056 3: HM485d: Rx: Response: (34) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:15.058 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:15.060 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:15.061 4: HM485d: Tx: FD13227218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.068 4: HM485d: Rx: FD102353C8000096F31A000000015201E010
2019.06.30 14:38:15.071 5: SW: fd000096f31a00000001065201e0100c14
2019.06.30 14:38:15.073 3: HM485d: Tx: (35:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 01E010 {0C14}
2019.06.30 14:38:15.105 3: HM485d: Rx: Response: (35) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:15.107 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:15.109 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:15.110 4: HM485d: Tx: FD1323723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.120 4: HM485d: Rx: FD102453C8000096F31C000000015201F010
2019.06.30 14:38:15.123 5: SW: fd000096f31c00000001065201f010b52e
2019.06.30 14:38:15.125 3: HM485d: Tx: (36:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 01F010 {B52E}
2019.06.30 14:38:15.157 3: HM485d: Rx: Response: (36) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:15.159 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:15.161 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:15.162 4: HM485d: Tx: FD1324725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.170 4: HM485d: Rx: FD102553C8000096F31E0000000152020010
2019.06.30 14:38:15.174 5: SW: fd000096f31e000000010652020010e5b0
2019.06.30 14:38:15.176 3: HM485d: Tx: (37:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 020010 {E5B0}
2019.06.30 14:38:15.208 3: HM485d: Rx: Response: (37) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:15.209 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:15.212 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:15.212 4: HM485d: Tx: FD1325727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.222 4: HM485d: Rx: FD102653C8000096F3180000000152021010
2019.06.30 14:38:15.225 5: SW: fd000096f3180000000106520210105c8a
2019.06.30 14:38:15.227 3: HM485d: Tx: (38:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 021010 {5C8A}
2019.06.30 14:38:15.259 3: HM485d: Rx: Response: (38) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:15.262 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:15.264 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:15.265 4: HM485d: Tx: FD13267218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.317 4: HM485d: Rx: FD102753C8000096F31A0000000152022010
2019.06.30 14:38:15.320 5: SW: fd000096f31a00000001065202201073e4
2019.06.30 14:38:15.322 3: HM485d: Tx: (39:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 022010 {73E4}
2019.06.30 14:38:15.354 3: HM485d: Rx: Response: (39) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:15.356 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:15.358 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:15.359 4: HM485d: Tx: FD1327723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.369 4: HM485d: Rx: FD102853C8000096F31C0000000152023010
2019.06.30 14:38:15.372 5: SW: fd000096f31c000000010652023010cade
2019.06.30 14:38:15.374 3: HM485d: Tx: (40:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 023010 {CADE}
2019.06.30 14:38:15.407 3: HM485d: Rx: Response: (40) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:15.409 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:15.411 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:15.411 4: HM485d: Tx: FD1328725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.422 4: HM485d: Rx: FD102953C8000096F31E0000000152024010
2019.06.30 14:38:15.424 5: SW: fd000096f31e0000000106520240102d38
2019.06.30 14:38:15.427 3: HM485d: Tx: (41:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 024010 {2D38}
2019.06.30 14:38:15.458 3: HM485d: Rx: Response: (41) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:15.460 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:15.462 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:15.463 4: HM485d: Tx: FD1329727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.473 4: HM485d: Rx: FD102A53C8000096F3180000000152025010
2019.06.30 14:38:15.476 5: SW: fd000096f3180000000106520250109402
2019.06.30 14:38:15.478 3: HM485d: Tx: (42:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 025010 {9402}
2019.06.30 14:38:15.510 3: HM485d: Rx: Response: (42) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:15.512 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:15.514 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:15.515 4: HM485d: Tx: FD132A7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.525 4: HM485d: Rx: FD102B53C8000096F31A0000000152026010
2019.06.30 14:38:15.527 5: SW: fd000096f31a000000010652026010bb6c
2019.06.30 14:38:15.530 3: HM485d: Tx: (43:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 026010 {BB6C}
2019.06.30 14:38:15.561 3: HM485d: Rx: Response: (43) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:15.563 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:15.565 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:15.566 4: HM485d: Tx: FD132B723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.576 4: HM485d: Rx: FD102C53C8000096F31C0000000152027010
2019.06.30 14:38:15.579 5: SW: fd000096f31c0000000106520270100256
2019.06.30 14:38:15.581 3: HM485d: Tx: (44:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 027010 {0256}
2019.06.30 14:38:15.614 3: HM485d: Rx: Response: (44) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:15.616 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:15.618 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:15.619 4: HM485d: Tx: FD132C725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.629 4: HM485d: Rx: FD102D53C8000096F31E0000000152028010
2019.06.30 14:38:15.632 5: SW: fd000096f31e00000001065202801064a2
2019.06.30 14:38:15.634 3: HM485d: Tx: (45:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 028010 {64A2}
2019.06.30 14:38:15.666 3: HM485d: Rx: Response: (45) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:15.668 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:15.670 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:15.670 4: HM485d: Tx: FD132D727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.680 4: HM485d: Rx: FD102E53C8000096F3180000000152029010
2019.06.30 14:38:15.683 5: SW: fd000096f318000000010652029010dd98
2019.06.30 14:38:15.686 3: HM485d: Tx: (46:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 029010 {DD98}
2019.06.30 14:38:15.718 3: HM485d: Rx: Response: (46) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:15.720 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:15.722 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:15.723 4: HM485d: Tx: FD132E7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.731 4: HM485d: Rx: FD102F53C8000096F31A000000015202A010
2019.06.30 14:38:15.735 5: SW: fd000096f31a00000001065202a010f2f6
2019.06.30 14:38:15.737 3: HM485d: Tx: (47:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 02A010 {F2F6}
2019.06.30 14:38:15.770 3: HM485d: Rx: Response: (47) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:15.772 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:15.774 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:15.774 4: HM485d: Tx: FD132F723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.784 4: HM485d: Rx: FD103053C8000096F31C000000015202B010
2019.06.30 14:38:15.787 5: SW: fd000096f31c00000001065202b0104bcc
2019.06.30 14:38:15.789 3: HM485d: Tx: (48:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 02B010 {4BCC}
2019.06.30 14:38:15.822 3: HM485d: Rx: Response: (48) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:15.824 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:15.826 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:15.827 4: HM485d: Tx: FD1330725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.837 4: HM485d: Rx: FD103153C8000096F31E000000015202C010
2019.06.30 14:38:15.840 5: SW: fd000096f31e00000001065202c010ac2a
2019.06.30 14:38:15.842 3: HM485d: Tx: (49:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 02C010 {AC2A}
2019.06.30 14:38:15.875 3: HM485d: Rx: Response: (49) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:15.877 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:15.879 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:15.880 4: HM485d: Tx: FD1331727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.890 4: HM485d: Rx: FD103253C8000096F318000000015202D010
2019.06.30 14:38:15.892 5: SW: fd000096f31800000001065202d0101510
2019.06.30 14:38:15.895 3: HM485d: Tx: (50:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 02D010 {1510}
2019.06.30 14:38:15.927 3: HM485d: Rx: Response: (50) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:15.929 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:15.930 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:15.931 4: HM485d: Tx: FD13327218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.941 4: HM485d: Rx: FD103353C8000096F31A000000015202E010
2019.06.30 14:38:15.944 5: SW: fd000096f31a00000001065202e0103a7e
2019.06.30 14:38:15.946 3: HM485d: Tx: (51:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 02E010 {3A7E}
2019.06.30 14:38:15.978 3: HM485d: Rx: Response: (51) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:15.980 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:15.982 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:15.983 4: HM485d: Tx: FD1333723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:15.992 4: HM485d: Rx: FD103453C8000096F31C000000015202F010
2019.06.30 14:38:15.996 5: SW: fd000096f31c00000001065202f0108344
2019.06.30 14:38:15.998 3: HM485d: Tx: (52:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 02F010 {8344}
2019.06.30 14:38:16.030 3: HM485d: Rx: Response: (52) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:16.033 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:16.035 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:16.035 4: HM485d: Tx: FD1334725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.043 4: HM485d: Rx: FD103553C8000096F31E0000000152030010
2019.06.30 14:38:16.046 5: SW: fd000096f31e000000010652030010f796
2019.06.30 14:38:16.048 3: HM485d: Tx: (53:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 030010 {F796}
2019.06.30 14:38:16.080 3: HM485d: Rx: Response: (53) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:16.082 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:16.084 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:16.085 4: HM485d: Tx: FD1335727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.094 4: HM485d: Rx: FD103653C8000096F3180000000152031010
2019.06.30 14:38:16.097 5: SW: fd000096f3180000000106520310104eac
2019.06.30 14:38:16.099 3: HM485d: Tx: (54:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 031010 {4EAC}
2019.06.30 14:38:16.132 3: HM485d: Rx: Response: (54) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:16.134 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:16.136 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:16.137 4: HM485d: Tx: FD13367218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.145 4: HM485d: Rx: FD103753C8000096F31A0000000152032010
2019.06.30 14:38:16.148 5: SW: fd000096f31a00000001065203201061c2
2019.06.30 14:38:16.150 3: HM485d: Tx: (55:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 032010 {61C2}
2019.06.30 14:38:16.182 3: HM485d: Rx: Response: (55) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:16.184 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:16.186 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:16.187 4: HM485d: Tx: FD1337723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.197 4: HM485d: Rx: FD103853C8000096F31C0000000152033010
2019.06.30 14:38:16.199 5: SW: fd000096f31c000000010652033010d8f8
2019.06.30 14:38:16.202 3: HM485d: Tx: (56:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 033010 {D8F8}
2019.06.30 14:38:16.233 3: HM485d: Rx: Response: (56) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:16.235 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:16.237 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:16.238 4: HM485d: Tx: FD1338725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.248 4: HM485d: Rx: FD103953C8000096F31E0000000152034010
2019.06.30 14:38:16.251 5: SW: fd000096f31e0000000106520340103f1e
2019.06.30 14:38:16.253 3: HM485d: Tx: (57:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 034010 {3F1E}
2019.06.30 14:38:16.284 3: HM485d: Rx: Response: (57) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:16.286 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:16.288 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:16.289 4: HM485d: Tx: FD1339727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.299 4: HM485d: Rx: FD103A53C8000096F3180000000152035010
2019.06.30 14:38:16.302 5: SW: fd000096f3180000000106520350108624
2019.06.30 14:38:16.304 3: HM485d: Tx: (58:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 035010 {8624}
2019.06.30 14:38:16.336 3: HM485d: Rx: Response: (58) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:16.338 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:16.340 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:16.341 4: HM485d: Tx: FD133A7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.351 4: HM485d: Rx: FD103B53C8000096F31A0000000152036010
2019.06.30 14:38:16.354 5: SW: fd000096f31a000000010652036010a94a
2019.06.30 14:38:16.356 3: HM485d: Tx: (59:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 036010 {A94A}
2019.06.30 14:38:16.388 3: HM485d: Rx: Response: (59) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:16.390 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:16.392 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:16.392 4: HM485d: Tx: FD133B723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.402 4: HM485d: Rx: FD103C53C8000096F31C0000000152037010
2019.06.30 14:38:16.406 5: SW: fd000096f31c0000000106520370101070
2019.06.30 14:38:16.408 3: HM485d: Tx: (60:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 037010 {1070}
2019.06.30 14:38:16.440 3: HM485d: Rx: Response: (60) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:16.442 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:16.444 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:16.445 4: HM485d: Tx: FD133C725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.453 4: HM485d: Rx: FD103D53C8000096F31E0000000152038010
2019.06.30 14:38:16.456 5: SW: fd000096f31e0000000106520380107684
2019.06.30 14:38:16.458 3: HM485d: Tx: (61:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 038010 {7684}
2019.06.30 14:38:16.490 3: HM485d: Rx: Response: (61) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:16.492 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:16.494 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:16.495 4: HM485d: Tx: FD133D727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.503 4: HM485d: Rx: FD103E53C8000096F3180000000152039010
2019.06.30 14:38:16.507 5: SW: fd000096f318000000010652039010cfbe
2019.06.30 14:38:16.509 3: HM485d: Tx: (62:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 039010 {CFBE}
2019.06.30 14:38:16.541 3: HM485d: Rx: Response: (62) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:16.543 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:16.545 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:16.546 4: HM485d: Tx: FD133E7218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.553 4: HM485d: Rx: FD103F53C8000096F31A000000015203A010
2019.06.30 14:38:16.556 5: SW: fd000096f31a00000001065203a010e0d0
2019.06.30 14:38:16.559 3: HM485d: Tx: (63:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 03A010 {E0D0}
2019.06.30 14:38:16.591 3: HM485d: Rx: Response: (63) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:16.593 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:16.595 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:16.595 4: HM485d: Tx: FD133F723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.604 4: HM485d: Rx: FD104053C8000096F31C000000015203B010
2019.06.30 14:38:16.607 5: SW: fd000096f31c00000001065203b01059ea
2019.06.30 14:38:16.609 3: HM485d: Tx: (64:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 03B010 {59EA}
2019.06.30 14:38:16.641 3: HM485d: Rx: Response: (64) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:16.644 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:16.646 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:16.647 4: HM485d: Tx: FD1340725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.654 4: HM485d: Rx: FD104153C8000096F31E000000015203C010
2019.06.30 14:38:16.657 5: SW: fd000096f31e00000001065203c010be0c
2019.06.30 14:38:16.659 3: HM485d: Tx: (65:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [6] 52(R) 03C010 {BE0C}
2019.06.30 14:38:16.692 3: HM485d: Rx: Response: (65) I[3](3,F,B)(7E) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {CF9E}
2019.06.30 14:38:16.694 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:16.696 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:16.696 4: HM485d: Tx: FD1341727EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.706 4: HM485d: Rx: FD104253C8000096F318000000015203D010
2019.06.30 14:38:16.709 5: SW: fd000096f31800000001065203d0100736
2019.06.30 14:38:16.711 3: HM485d: Tx: (66:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [6] 52(R) 03D010 {0736}
2019.06.30 14:38:16.743 3: HM485d: Rx: Response: (66) I[0](0,F,B)(18) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {F812}
2019.06.30 14:38:16.745 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:16.747 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:16.748 4: HM485d: Tx: FD13427218FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.758 4: HM485d: Rx: FD104353C8000096F31A000000015203E010
2019.06.30 14:38:16.761 5: SW: fd000096f31a00000001065203e0102858
2019.06.30 14:38:16.763 3: HM485d: Tx: (67:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [6] 52(R) 03E010 {2858}
2019.06.30 14:38:16.795 3: HM485d: Rx: Response: (67) I[1](1,F,B)(3A) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {EA96}
2019.06.30 14:38:16.797 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:16.799 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:16.800 4: HM485d: Tx: FD1343723AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.808 4: HM485d: Rx: FD104453C8000096F31C000000015203F010
2019.06.30 14:38:16.812 5: SW: fd000096f31c00000001065203f0109162
2019.06.30 14:38:16.814 3: HM485d: Tx: (68:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [6] 52(R) 03F010 {9162}
2019.06.30 14:38:16.846 3: HM485d: Rx: Response: (68) I[2](2,F,B)(5C) 000096F3 -> 00000001 [18] FF(�) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF {DD1A}
2019.06.30 14:38:16.848 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:16.850 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:16.851 4: HM485d: Tx: FD1344725CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
2019.06.30 14:38:16.992 4: HM485d: Rx: FD0E4553C8000096F31E00000001530C
2019.06.30 14:38:16.994 5: SW: fd000096f31e0000000104530c6f96
2019.06.30 14:38:16.997 3: HM485d: Tx: (69:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [4] 53(S) 0C {6F96}
2019.06.30 14:38:17.020 3: HM485d: Rx: Response: (69) I[3](3,F,B)(7E) 000096F3 -> 00000001 [6] 69(i) 0C0000 {DE2C}
2019.06.30 14:38:17.023 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:17.025 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:17.026 4: HM485d: Tx: FD0745727E690C0000
2019.06.30 14:38:17.072 4: HM485d: Rx: FD0E4653C8000096F31800000001530D
2019.06.30 14:38:17.075 5: SW: fd000096f3180000000104530d5840
2019.06.30 14:38:17.082 3: HM485d: Tx: (70:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [4] 53(S) 0D {5840}
2019.06.30 14:38:17.102 3: HM485d: Rx: Response: (70) I[0](0,F,B)(18) 000096F3 -> 00000001 [6] 69(i) 0D0000 {7682}
2019.06.30 14:38:17.104 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:17.107 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:17.107 4: HM485d: Tx: FD07467218690D0000
2019.06.30 14:38:17.187 4: HM485d: Rx: FD0E4753C8000096F31A00000001530E
2019.06.30 14:38:17.189 5: SW: fd000096f31a0000000104530e750a
2019.06.30 14:38:17.192 3: HM485d: Tx: (71:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [4] 53(S) 0E {750A}
2019.06.30 14:38:17.217 3: HM485d: Rx: Response: (71) I[1](1,F,B)(3A) 000096F3 -> 00000001 [6] 69(i) 0E0000 {D96E}
2019.06.30 14:38:17.219 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:17.221 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:17.222 4: HM485d: Tx: FD0747723A690E0000
2019.06.30 14:38:17.279 4: HM485d: Rx: FD0E4853C8000096F31C00000001530F
2019.06.30 14:38:17.282 5: SW: fd000096f31c0000000104530f42dc
2019.06.30 14:38:17.284 3: HM485d: Tx: (72:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [4] 53(S) 0F {42DC}
2019.06.30 14:38:17.308 3: HM485d: Rx: Response: (72) I[2](2,F,B)(5C) 000096F3 -> 00000001 [6] 69(i) 0F0000 {71C0}
2019.06.30 14:38:17.311 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:17.313 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:17.314 4: HM485d: Tx: FD0748725C690F0000
2019.06.30 14:38:17.373 4: HM485d: Rx: FD0E4953C8000096F31E000000015310
2019.06.30 14:38:17.376 5: SW: fd000096f31e00000001045310bfac
2019.06.30 14:38:17.382 3: HM485d: Tx: (73:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [4] 53(S) 10 {BFAC}
2019.06.30 14:38:17.402 3: HM485d: Rx: Response: (73) I[3](3,F,B)(7E) 000096F3 -> 00000001 [6] 69(i) 100000 {35E6}
2019.06.30 14:38:17.405 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:17.407 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:17.407 4: HM485d: Tx: FD0749727E69100000
2019.06.30 14:38:17.454 4: HM485d: Rx: FD0E4A53C8000096F318000000015311
2019.06.30 14:38:17.456 5: SW: fd000096f31800000001045311887a
2019.06.30 14:38:17.462 3: HM485d: Tx: (74:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [4] 53(S) 11 {887A}
2019.06.30 14:38:17.482 3: HM485d: Rx: Response: (74) I[0](0,F,B)(18) 000096F3 -> 00000001 [6] 69(i) 110000 {9D48}
2019.06.30 14:38:17.484 5: SW: fd000096f31900000001028b44
2019.06.30 14:38:17.486 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 000096F3 [2] {8B44}
2019.06.30 14:38:17.487 4: HM485d: Tx: FD074A721869110000
2019.06.30 14:38:17.534 4: HM485d: Rx: FD0E4B53C8000096F31A000000015312
2019.06.30 14:38:17.536 5: SW: fd000096f31a00000001045312a530
2019.06.30 14:38:17.542 3: HM485d: Tx: (75:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [4] 53(S) 12 {A530}
2019.06.30 14:38:17.563 3: HM485d: Rx: Response: (75) I[1](1,F,B)(3A) 000096F3 -> 00000001 [6] 69(i) 120000 {32A4}
2019.06.30 14:38:17.565 5: SW: fd000096f33900000001026f82
2019.06.30 14:38:17.567 3: HM485d: Tx: ACK(1,B)(39) 00000001 -> 000096F3 [2] {6F82}
2019.06.30 14:38:17.568 4: HM485d: Tx: FD074B723A69120000
2019.06.30 14:38:30.044 4: HM485d: Rx: FD0F4C53C8000096F31C00000001780CC8
2019.06.30 14:38:30.047 5: SW: fd000096f31c0000000105780cc81eda
2019.06.30 14:38:30.052 3: HM485d: Tx: (76:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [5] 78(x) 0CC8 {1EDA}
2019.06.30 14:38:30.075 3: HM485d: Rx: Response: (76) I[2](2,F,B)(5C) 000096F3 -> 00000001 [6] 69(i) 0CC800 {9F20}
2019.06.30 14:38:30.077 5: SW: fd000096f359000000010252ca
2019.06.30 14:38:30.079 3: HM485d: Tx: ACK(2,B)(59) 00000001 -> 000096F3 [2] {52CA}
2019.06.30 14:38:30.080 4: HM485d: Tx: FD074C725C690CC800
2019.06.30 14:38:39.625 4: HM485d: Rx: FD0F4D53C8000096F31E00000001780C00
2019.06.30 14:38:39.628 5: SW: fd000096f31e0000000105780c00d36a
2019.06.30 14:38:39.632 3: HM485d: Tx: (77:1) I[3](0,F,B)(1E) 00000001 -> 000096F3 [5] 78(x) 0C00 {D36A}
2019.06.30 14:38:39.655 3: HM485d: Rx: Response: (77) I[3](3,F,B)(7E) 000096F3 -> 00000001 [6] 69(i) 0C0000 {DE2C}
2019.06.30 14:38:39.657 5: SW: fd000096f3790000000102b60c
2019.06.30 14:38:39.659 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 000096F3 [2] {B60C}
2019.06.30 14:38:39.660 4: HM485d: Tx: FD074D727E690C0000
2019.06.30 14:38:43.346 4: HM485d: Rx: FD0F4E53C8000096F31800000001780DC8
2019.06.30 14:38:43.349 5: SW: fd000096f3180000000105780dc8048a
2019.06.30 14:38:43.352 3: HM485d: Tx: (78:1) I[0](0,F,B)(18) 00000001 -> 000096F3 [5] 78(x) 0DC8 {048A}
2019.06.30 14:38:43.555 5: SW: fd000096f3180000000105780dc8048a
2019.06.30 14:38:43.557 3: HM485d: Tx: (78:2) I[0](0,F,B)(18) 00000001 -> 000096F3 [5] 78(x) 0DC8 {048A}
2019.06.30 14:38:43.760 5: SW: fd000096f3180000000105780dc8048a
2019.06.30 14:38:43.762 3: HM485d: Tx: (78:3) I[0](0,F,B)(18) 00000001 -> 000096F3 [5] 78(x) 0DC8 {048A}
2019.06.30 14:38:43.963 4: HM485d: Tx: FD044E613439
2019.06.30 14:38:43 3: HMW_IO_12_Sw7_DR_JEQ0497930: RESPONSE TIMEOUT for 000096F3
2019.06.30 14:38:48.107 4: HM485d: Rx: FD0F4F53C8000096F31A00000001780DC8
2019.06.30 14:38:48.110 5: SW: fd000096f31a0000000105780dc888b2
2019.06.30 14:38:48.112 3: HM485d: Tx: (79:1) I[1](0,F,B)(1A) 00000001 -> 000096F3 [5] 78(x) 0DC8 {88B2}
2019.06.30 14:38:48.315 5: SW: fd000096f31a0000000105780dc888b2
2019.06.30 14:38:48.317 3: HM485d: Tx: (79:2) I[1](0,F,B)(1A) 00000001 -> 000096F3 [5] 78(x) 0DC8 {88B2}
2019.06.30 14:38:48.520 5: SW: fd000096f31a0000000105780dc888b2
2019.06.30 14:38:48.522 3: HM485d: Tx: (79:3) I[1](0,F,B)(1A) 00000001 -> 000096F3 [5] 78(x) 0DC8 {88B2}
2019.06.30 14:38:48.723 4: HM485d: Tx: FD044F613439
2019.06.30 14:38:48 3: HMW_IO_12_Sw7_DR_JEQ0497930: RESPONSE TIMEOUT for 000096F3
2019.06.30 14:38:50.008 4: HM485d: Rx: FD0F5053C8000096F31C00000001780D00
2019.06.30 14:38:50.011 5: SW: fd000096f31c0000000105780d004d70
2019.06.30 14:38:50.014 3: HM485d: Tx: (80:1) I[2](0,F,B)(1C) 00000001 -> 000096F3 [5] 78(x) 0D00 {4D70}
2019.06.30 14:38:50.217 5: SW: fd000096f31c0000000105780d004d70
2019.06.30 14:38:50.219 3: HM485d: Tx: (80:2) I[2](0,F,B)(1C) 00000001 -> 000096F3 [5] 78(x) 0D00 {4D70}
2019.06.30 14:38:50.422 5: SW: fd000096f31c0000000105780d004d70
2019.06.30 14:38:50.424 3: HM485d: Tx: (80:3) I[2](0,F,B)(1C) 00000001 -> 000096F3 [5] 78(x) 0D00 {4D70}
2019.06.30 14:38:50.626 4: HM485d: Tx: FD0450613439
2019.06.30 14:38:50 3: HMW_IO_12_Sw7_DR_JEQ0497930: RESPONSE TIMEOUT for 000096F3
2019.06.30 14:39:10.635 4: HM485d: Rx: FD02514B
2019.06.30 14:39:10.636 4: HM485d: Tx: FD03516100
2019.06.30 14:39:30.647 4: HM485d: Rx: FD02524B
2019.06.30 14:39:30.648 4: HM485d: Tx: FD03526100
2019.06.30 14:39:50.659 4: HM485d: Rx: FD02534B
2019.06.30 14:39:50.659 4: HM485d: Tx: FD03536100
2019.06.30 14:40:10.667 4: HM485d: Rx: FD02544B
2019.06.30 14:40:10.668 4: HM485d: Tx: FD03546100
2019.06.30 14:40:30.679 4: HM485d: Rx: FD02554B
2019.06.30 14:40:30.680 4: HM485d: Tx: FD03556100
2019.06.30 14:40:50.691 4: HM485d: Rx: FD02564B
2019.06.30 14:40:50.692 4: HM485d: Tx: FD03566100
2019.06.30 14:41:10.699 4: HM485d: Rx: FD02574B
2019.06.30 14:41:10.700 4: HM485d: Tx: FD03576100
2019.06.30 14:41:30.711 4: HM485d: Rx: FD02584B
2019.06.30 14:41:30.712 4: HM485d: Tx: FD03586100
2019.06.30 14:41:50.723 4: HM485d: Rx: FD02594B
2019.06.30 14:41:50.724 4: HM485d: Tx: FD03596100
2019.06.30 14:42:10.732 4: HM485d: Rx: FD025A4B
2019.06.30 14:42:10.733 4: HM485d: Tx: FD035A6100
2019.06.30 14:42:30.744 4: HM485d: Rx: FD025B4B
2019.06.30 14:42:30.745 4: HM485d: Tx: FD035B6100
2019.06.30 14:42:50.755 4: HM485d: Rx: FD025C4B
2019.06.30 14:42:50.756 4: HM485d: Tx: FD035C6100
2019.06.30 14:43:10.768 4: HM485d: Rx: FD025D4B
2019.06.30 14:43:12.115 4: HM485d: Tx: FD035D6100


VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 30 Juni 2019, 17:24:51
Das ist wirklich sehr seltsam. Der ganze viele Konfig-Kram geht ohne Schluckauf durch und dann bei einem einfachen Befehl...
Hast Du da eigentlich so einen HMW-"Abschluss"-Widerstand drinhängen? Die Original-HMW-Teile brauchen das nämlich manchmal.
Ich bin irgendwie immer noch auf der Schiene, dass da irgendwas hardwaremäßig nicht ganz rund läuft. Hast Du es mal mit einem anderen Gateway versucht?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 30 Juni 2019, 22:27:21
Hi Andreas,

Kannst du mir mal die Raw Befehle und deren Reihenfolge geben? Dann kann ich das mal nachstellen.
Von welchem GitHub repository hast du das BL-4 Gerät erstellt? Damit ich die selbe Version teste...

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 01 Juli 2019, 00:38:37
Hallo Andreas,

hast Du auch GND mit dem Gateway verbunden?

Wenn Du an einem Eingang des HMW_IO_12_Sw7_DR ein Taster anschließt, wird dieser zuverlässig erkannt?
Davon dann bitte auch ein log.

Funktioniert der config Befehl, z.B. den input_type ändern?
Davon dann bitte auch ein log.

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 01 Juli 2019, 08:40:02
Hallo Zusammen,

ich konnte das Problem eingrenzen, wie von Thorsten vermutet, ein Hardwareproblem. Mit dem anderen Gateway, von meinem Hausserver, funktioniert es ohne Probleme. Also habe ich bei dem ersten Gateway mal das USB Kabel getauscht und die Verbindung hat schon deutlich besser funktioniert - Verbindungsabbrüche gab es erst nach ca. 10 Befehlen. Es scheint ein Kontaktproblem mit der USB Buchse zu sein, oder schlechte Qualität des Interfaces.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 03 Juli 2019, 13:02:36
Hi,
hat sich das damit dann erledigt?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: a_quadrat am 05 Juli 2019, 11:47:17
Hi,

ja, das Problem haben wir ja gefunden, jetzt kann ich mit meiner Testumgebung weiter arbeiten. Vielen Dank nochmal für deine engagierte Hilfe, es ist wirklich lobenswert, wie viel Energie du hier investiert hast - danke.

VG Andreas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 15 August 2019, 18:10:45
Hallo,

ich bin am verzweifeln...  :'(

Ich hab mir einige HBW-Geräte zusammengebaut, welche auch bis vor kurzem liefen, bis wann das genau war kann ich leider nicht sagen.
Mein Fhem habe ich in der zwischenzeit mehrmals geupdated.
Die Geräte habe ich noch nicht im Dauereinsatz, deshalb ist es mir nicht aufgefallen dass Sie nicht mehr gehen.

Ich habe schon alles mögliche getestet, jedoch ohne Erfolg, die Geräte werden nicht mehr erkannt.
Daraufhin habe ich alle mal gelöscht, damit diese wieder neu angelegt werden, aber es wird nichts mehr gefunden.
Einen neuen Digitus habe ich mir auch schon gekauft, daran liegt es anscheinend nicht.
Die Rechte passen alles und die pm-Dateien habe ich auch schon mal gelöscht.

Im log wird irgendwie garnichts angezeigt.

Was könnte ich denn noch testen?

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 15 August 2019, 18:22:54
Hi Michael,

kannst du denn Daten auf dem Bus sehen? Z.b. per USB an einem der HBW Geräte? Also announce Nachrichten wenn du den Config Button kurz drückst, Key events wenn du Taster Betätigst, o.ä.?

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 15 August 2019, 18:23:24
Hi,
vielleicht mal nachsehen, ob was beim Daemon ankommt:
1. Das Loglevel für den HM485_LAN und HM485 auf was normales stellen.
2. Für den HM485_LAN: attr <hm485_lan> HM485d_logVerbose 5
3. set <hm485_lan> restart

Jetzt eins der Devices durchstarten (Strom weg und wieder dran) und nachsehen, was im FHEM-Log landet.

EDIT: ...und/oder so wie Thomas "loetmeister" sagt.

Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 15 August 2019, 19:04:50
Also mit angeschlossenem USB-Kabel am HBW-LC-BL-8 erhalte ich im Seriellen Monitor nur folgendes:

ZitatýÿÿÿÿøB A 'HBW7296272�H


Wenn ich das von Thorsten mache taucht im LOG nur folgendes auf:

ZitatHM485_LAN hm485 CONNECTED
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 15 August 2019, 19:12:24
Hi,
also dann sendet das Device schonmal was.
Der Log-Eintrag ist sehr, sehr komisch. Eigentlich müsste da mindestens mal ein Zeitstempel davor stehen. Ist das ein FileLog vom HM485_LAN oder sowas? ...oder ist das wirklich das Fhem-Log ("Logfile" im FHEM-Menü)?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 15 August 2019, 19:28:25
Sorry, ich habs nur vom EventMonitor rauskopiert.

Hier mal das vom Log:

Zitat2019.08.15 19:24:33 3: hm485: connected to device localhost:2000
2019.08.15 19:24:33 1: localhost:2000 reappeared (hm485)
2019.08.15 19:24:33 3: hm485: Lan Device Information
2019.08.15 19:24:33 3: hm485: Protocol-Version: 01
2019.08.15 19:24:33 3: hm485: Interface-Type: HMW-SOFT-GW
2019.08.15 19:24:33 3: hm485: Firmware-Version: 0.2.2
2019.08.15 19:24:33 3: hm485: Serial-Number: SGW0123456
2019.08.15 19:24:33 5: hm485: HM485_LAN_Write TX: 1
2019.08.15 19:24:33 3: hm485: Initialize the interface
2019.08.15 19:24:33 5: SW: fd3e30312c303030300d0a
2019.08.15 19:24:49 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 0 Cmd: 101
2019.08.15 19:24:49 4: hm485: Event:HASH(0x4eda5c0)
2019.08.15 19:24:49 5: hm485: Dispatch: FD1B0065FFFFFFFFF84200001041009201001448425737323936323732
2019.08.15 19:24:49 5: hm485: dispatch �\e\000e�����B\000\000\020A\000�\001\000\024HBW7296272
2019.08.15 19:24:49 5: hm485: HM485_Parse: MsgId: 0
2019.08.15 19:24:49 5: hm485: HM485_Parse: ProcessEvent
2019.08.15 19:24:49 5: hm485: HM485_ProcessEvent: hmwId = 42000010 msgData = 41009201001448425737323936323732
2019.08.15 19:24:49 4: hm485: Device 42000010 not defined yet. We need the type for autocreate
2019.08.15 19:24:49 5: hm485: HM485_QueueCommand68
2019.08.15 19:24:49 5: hm485: HM485_QueueStart: Num: 21


und das kommt ständig:

Zitat2019.08.15 20:11:20 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 140 Cmd: 97
2019.08.15 20:11:20 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (140) 00 AliveStatus: 00
2019.08.15 20:11:40 5: hm485: HM485_LAN_Write TX: 141
2019.08.15 20:11:40 5: SW: fd028d4b
2019.08.15 20:11:40 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 141 Cmd: 97
2019.08.15 20:11:40 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (141) 00 AliveStatus: 00
2019.08.15 20:11:45 2: ESPEasy espBridge_192.168.178.53_49155: No basic authentication active but credentials received
2019.08.15 20:11:45 2: ESPEasy espBridge_192.168.178.53_49156: No basic authentication active but credentials received
2019.08.15 20:12:00 5: hm485: HM485_LAN_Write TX: 142
2019.08.15 20:12:00 5: SW: fd028e4b
2019.08.15 20:12:00 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 142 Cmd: 97
2019.08.15 20:12:00 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (142) 00 AliveStatus: 00
2019.08.15 20:12:20 5: hm485: HM485_LAN_Write TX: 143
2019.08.15 20:12:20 5: SW: fd028f4b
2019.08.15 20:12:20 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 143 Cmd: 97
2019.08.15 20:12:20 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (143) 00 AliveStatus: 00
2019.08.15 20:12:40 5: hm485: HM485_LAN_Write TX: 144
2019.08.15 20:12:40 5: SW: fd02904b
2019.08.15 20:12:40 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 144 Cmd: 97
2019.08.15 20:12:40 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (144) 00 AliveStatus: 00
2019.08.15 20:13:00 5: hm485: HM485_LAN_Write TX: 145
2019.08.15 20:13:00 5: SW: fd02914b
2019.08.15 20:13:00 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 145 Cmd: 97
2019.08.15 20:13:00 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (145) 00 AliveStatus: 00
2019.08.15 20:13:20 5: hm485: HM485_LAN_Write TX: 146
2019.08.15 20:13:20 5: SW: fd02924b
2019.08.15 20:13:20 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 146 Cmd: 97
2019.08.15 20:13:20 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (146) 00 AliveStatus: 00
2019.08.15 20:13:40 5: hm485: HM485_LAN_Write TX: 147
2019.08.15 20:13:40 5: SW: fd02934b
2019.08.15 20:13:40 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 147 Cmd: 97
2019.08.15 20:13:40 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (147) 00 AliveStatus: 00
2019.08.15 20:14:00 5: hm485: HM485_LAN_Write TX: 148
2019.08.15 20:14:00 5: SW: fd02944b
2019.08.15 20:14:00 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 148 Cmd: 97
2019.08.15 20:14:00 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (148) 00 AliveStatus: 00
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 15 August 2019, 21:28:49
Hi,

die Ausgabe über USB ist sonderbar... Baudrate stimmt? (sonst wäre es wohl alles unlesbar...)  ???
EDIT: Denke die Ausgabe kommt zustande, da du USART nutzt, d.h. die USB Schnittstelle und RS485 hängen an den selben Pins. Bei HBW-LC-Bl-8 hatte ich keine Debug option eingebaut, da alle Ports benötigt werden.
Ist also ok....

Log ist doch gar nicht sooo schlecht?
HM485_ProcessEvent: hmwId = 42000010 msgData = 41009201001448425737323936323732
Das Device mit der Adresse 42000010  hat eine announce Nachricht geschickt. Device Type 0x92, Hardware version 01 Firmware Version 0014

Hast du eventuell die XML aktualisiert, nicht aber die Firmware?
Die XML in GitHub für HBW-LC-BL-8 ist für Firmware 0.3:
<type priority="2" id="HBW-LC-Bl-8" name="RS485 blind actuator 8-channel">
<parameter const_value="0x92" size="1" index="0"/><!--HMW_DEVICETYPE-->
<parameter const_value="1" size="1" index="1"/>
<parameter const_value="0x001E" size="2" cond_op="GE" index="2"/><!--FIRMWARE_VERSION-->
</type>



Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 15 August 2019, 23:06:35
ZitatHast du eventuell die XML aktualisiert, nicht aber die Firmware?

Ich hab da nicht drauf geachtet, kannst du mir das kurz erklären?
Woher bekomme ich die neue Firmware oder die passende alte Firmware, ich verstehe das leider nicht.
Wo sehe ich welche Firmware zu welcher Hardware gehört?

Danke im Voraus.


Nachtrag:

Ich hab mal nachgesehen, also die .pm hat die Version 0x0014, die XML hat auch die 0x0014 und im Sketch ist auch die 0x0014.
Dann müsste es doch passen oder?

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 16 August 2019, 09:34:39
Zitat von: Fhemmichl am 15 August 2019, 23:06:35
Ich hab mal nachgesehen, also die .pm hat die Version 0x0014, die XML hat auch die 0x0014 und im Sketch ist auch die 0x0014.
Dann müsste es doch passen oder?

Hi Michael,

ja, das ist gut. Sollte passen. :)

Bei der Meldung:
Device 42000010 not defined yet. We need the type for autocreate
hatte ich vermutet das FHEM keine passende Geräte XML findet... eventuell bedeutet es aber auch was anderes.  :-[
Mal doof gefragt, Device Type ist in der XML auch 0x92?

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 16 August 2019, 10:05:52
Ja da hab ich nichts geändert, der ist noch 0x92.  :-\
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 16 August 2019, 13:27:39
Was müsste ich denn alles löschen damit ich das nochmal neu in fhem anlegen kann?

Gruß Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 16 August 2019, 20:39:00
Zitat2019.08.15 19:24:49 5: hm485: HM485_ProcessEvent: hmwId = 42000010 msgData = 41009201001448425737323936323732
2019.08.15 19:24:49 4: hm485: Device 42000010 not defined yet. We need the type for autocreate
2019.08.15 19:24:49 5: hm485: HM485_QueueCommand68

Mit dem Befehl 68 wird der Modultyp abgefragt, hier müsste als Antwort 92 kommen.

Bei meinem HMW-IO-SR-FM kommt als Antwort (Response) 1B
2015.02.22 23:31:37.232 3: HM485d: port 2000 opened
2015.02.22 23:31:37.233 3: HM485d: server waiting for client connection on port 2000
2015.02.22 23:31:37.234 3: Opening SERIAL device /dev/...
2015.02.22 23:31:37.316 3: SERIAL device opened
2015.02.22 23:31:37.318 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2015.02.22 23:31:37.319 2: HM485d: SERIAL connected to device /dev/...
2015.02.22 23:31:37.328 1: HM485d: Server started ...
2015.02.22 23:31:40.449 3: HM485d: Rx:  I[1](2,Y,F,B)(DA) 00003E95 -> FFFFFFFF [6] 4B(K) 0B008E {2E94}
2015.02.22 23:31:40.471 3: HM485d: Rx:  I[2](2,Y,F,B)(DC) 00003E95 -> FFFFFFFF [18] 41(A) 0B1B00030047455130323534343130 {5750}
2015.02.22 23:31:40.594 3: HM485d: Tx: (2:1) I[0](0,Y,F,B)(98) 00000001 -> 00003E95 [3] 68(h)  {6932}
2015.02.22 23:31:40.611 3: HM485d: Rx: Response: (2) I[3](0,F,B)(1E) 00003E95 -> 00000001 [4] 1B(00 {EB34}
2015.02.22 23:31:40.630 3: HM485d: Tx: ACK(3,B)(79) 00000001 -> 00003E95 [2] {680A}


Dazu muss das Logging vom Daemon eingeschaltet sein:

Zitat von: Thorsten Pferdekaemper am 26 Juni 2019, 08:30:16
Wahrscheinlich hast Du das Logging vom Daemon nicht eingeschaltet. Könntest Du mal folgendes versuchen:
1. Das Loglevel für den HM485_LAN und HM485 wieder auf was normales stellen.
2. Für den HM485_LAN: attr <hm485_lan> HM485d_logVerbose 5
3. set <hm485_lan> restart

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 16 August 2019, 21:41:04
Hallo, ich würde das gerne machen, hätte da noch Fragen:

Zitat1. Das Loglevel für den HM485_LAN und HM485 wieder auf was normales stellen.

Wie mach ich das?

Zitat2. Für den HM485_LAN: attr <hm485_lan> HM485d_logVerbose 5

Habe ich bereits gemacht

Zitat3. set <hm485_lan> restart

Habe ich danach auch gemacht


Gruß Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 16 August 2019, 22:12:24
ZitatWie mach ich das?
Den loglevel vom hm485 kannst vorerst so lassen


Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 16 August 2019, 22:53:25
Mit dem Attribut HM485d_logfile kannst Du für den Dämon auch ein extra logfile angeben.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 18 August 2019, 11:36:21
Das kommt jetzt im HM485d_logfile :
2019.08.18 11:02:54.860 0: HM485d: Cannot create socket HM485d: Can't open server port at 2000: Address already in use

Da scheint was belegt zu sein.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 19 August 2019, 00:32:45
Du kannst mal schauen, wenn Du fhem mit shutdown beendest, ob sich dann der HM485d.pl Dämon auch beendet hat, dazu
ps -ef | grep HM485d
in der linux Konsole ausführen.

Falls er noch läuft, kannst Du ihn mit kill beenden
7320  2406  0 19:21 pts/4    00:00:00 /usr/bin/perl ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000004 SGW0123456 --device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0 --verbose 3

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 19 August 2019, 16:45:48
Hab ich mal gemacht, das wird angezeigt:

Zitatpi@raspberrypi:~ $ ps -ef | grep HM485d
fhem     16830     1 16 16:33 ?        00:00:00 /usr/bin/perl ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/ttyUSB1 --localPort 2000
pi       16844 16598  0 16:33 pts/0    00:00:00 grep --color=auto HM485d


Wenn ich jetzt den Prozess 16830 beende, taucht er nach wiederholtem ausführen von  ps -ef | grep HM485d  unter einer neuen PID wieder auf.
Muss das so sein?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 19 August 2019, 16:58:41
wenn Du fhem zuvor beendet hast, sollte er eigentlich nicht mehr auftauchen.
Der HM485d wird normalerweise beim fhem start mit gestartet und beim beenden von fhem gestoppt

Siehe auch das Attribut "HM485d_bind"
Set HM485d_bind to 1 to allow FHEM to handle HM485d. This means that you are then able to start, stop and restart the HM485d process. FHEM then also starts HM485d automatically and restarts it if it crashes. If you are using the HomeMatic Wired RS485 LAN Gateway, you should not set HM485d_bind. Otherwise, it most likely makes sense to set HM485d_bind to 1
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 19 August 2019, 17:16:12
OK, also das starten und stoppen funktioniert.

Ich hab jetzt nochmal einen Auszug aus dem LOG, das schaut jetzt so aus:
Vielleicht kannst du noch was erkennen warum mein Gerät nicht mehr angelegt wird.
Wäre wirklich super.

Zitat2019.08.19 17:10:39 4: hm485: Event:HASH(0x45ea378)
2019.08.19 17:10:39 5: hm485: Dispatch: FD1B0065FFFFFFFFF842FFFFFF41009201001448425734303733343731
2019.08.19 17:10:39 5: hm485: dispatch �\e\000e�����B���A\000�\001\000\024HBW4073471
2019.08.19 17:10:39 3: HM485: HM485: Converting device files
2019.08.19 17:10:39 3: HM485: ==============================
2019.08.19 17:10:39 3: HM485: HBW-LC-Sw-12.xml up to date
2019.08.19 17:10:39 3: HM485: HBW-LC-Sw-16.xml up to date
2019.08.19 17:10:39 3: HM485: HBW-LC-Sw-8.xml up to date
2019.08.19 17:10:39 3: HM485: hbw_io-10_dim-6.xml up to date
2019.08.19 17:10:39 3: HM485: hbw_lc_bl-4.xml up to date
2019.08.19 17:10:39 3: HM485: hbw_lc_bl-8.xml up to date
2019.08.19 17:10:39 3: HM485: hbw_sen_key_12.xml up to date
2019.08.19 17:10:39 3: HM485: hbw_tutorial.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_central.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_generic.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io12_sw14_dr.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io12_sw7_dr.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io12_sw7_dr_V3_02.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io_12_fm.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io_4_fm.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io_4_fm_V3_02.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_io_sr_fm.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_lc_bl1_dr.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_lc_bl1_dr_V3_02.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_lc_dim1l_dr.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_lc_sw2_dr.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_lc_sw2_dr_V3_02.xml up to date
2019.08.19 17:10:39 3: HM485: hmw_sen_sc_12_dr.xml up to date
2019.08.19 17:10:39 3: HM485: Loading available device files
2019.08.19 17:10:39 3: HM485: ==============================
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/HBW-LC-Sw-12.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/HBW-LC-Sw-16.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/HBW-LC-Sw-8.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hbw_io-10_dim-6.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hbw_lc_bl-4.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hbw_lc_bl-8.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hbw_sen_key_12.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hbw_tutorial.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_central.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_generic.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io12_sw14_dr.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io12_sw7_dr.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io12_sw7_dr_V3_02.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io_12_fm.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io_4_fm.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io_4_fm_V3_02.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_io_sr_fm.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_lc_bl1_dr.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_lc_bl1_dr_V3_02.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_lc_dim1l_dr.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_lc_sw2_dr.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_lc_sw2_dr_V3_02.pm
2019.08.19 17:10:39 3: HM485: Loading device file: ./FHEM/lib/HM485/Devices/hmw_sen_sc_12_dr.pm
2019.08.19 17:10:39 5: hm485: HM485_Parse: MsgId: 0
2019.08.19 17:10:39 5: hm485: HM485_Parse: ProcessEvent
2019.08.19 17:10:39 5: hm485: HM485_ProcessEvent: hmwId = 42FFFFFF msgData = 41009201001448425734303733343731
2019.08.19 17:10:39 4: hm485: Device 42FFFFFF not defined yet. We need the type for autocreate
2019.08.19 17:10:39 5: hm485: HM485_QueueCommand68
2019.08.19 17:10:39 5: hm485: HM485_QueueStart: Num: 0
2019.08.19 17:10:39 5: hm485: HM485_QueueProcessStep: HASH(0x4f14888)
2019.08.19 17:10:39 5: hm485: HM485_LAN_Write TX: 7
2019.08.19 17:10:39 5: hm485: HM485_LAN_SendQueueNextItem: QID: 00000001
2019.08.19 17:10:39 5: SW: fd0d0753c842ffffff980000000168
2019.08.19 17:10:39 4: hm485: hm485: TX: (7) I[0](0,Y,F,B)(98) 00000001 -> 42FFFFFF [3] 68(h)
2019.08.19 17:10:39 5: hm485: HM485_QueueSetRequestId start
2019.08.19 17:10:39 5: hm485: HM485_QueueSetRequestId: Id: 7
2019.08.19 17:10:40 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 7 Cmd: 97
2019.08.19 17:10:40 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (7) 3439 AliveStatus: 34
2019.08.19 17:10:40 5: hm485: HM485_LAN_DispatchNack: Start
2019.08.19 17:10:40 3: hm485: NACK: (7) 42FFFFFF
2019.08.19 17:10:40 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 0 Cmd: 101
2019.08.19 17:10:40 4: hm485: Event:HASH(0x44658c8)
2019.08.19 17:10:40 5: hm485: Dispatch: FD0D0065000000011842FFFFFF9201
2019.08.19 17:10:40 5: hm485: dispatch �\r\000e\000\000\000\001\030B����\001
2019.08.19 17:10:40 5: hm485: HM485_Parse: MsgId: 0
2019.08.19 17:10:40 5: hm485: HM485_Parse: ProcessEvent
2019.08.19 17:10:40 5: hm485: HM485_ProcessEvent: hmwId = 42FFFFFF msgData = 9201
2019.08.19 17:10:40 4: hm485: Device 42FFFFFF not defined yet. We need the type for autocreate
2019.08.19 17:10:40 5: hm485: HM485_QueueCommand68
2019.08.19 17:10:40 5: hm485: HM485_QueueStart: Num: 1
2019.08.19 17:10:40 5: hm485: HM485_LAN_CheckResendQueueItems: QID: 00000001
2019.08.19 17:10:40 5: hm485: HM485_LAN_CheckResendQueueItems: DispatchNack
2019.08.19 17:10:40 5: hm485: HM485_LAN_DispatchNack: Start
2019.08.19 17:10:46 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 0 Cmd: 101
2019.08.19 17:10:46 4: hm485: Event:HASH(0x4c13818)
2019.08.19 17:10:46 5: hm485: Dispatch: FD1B0065FFFFFFFFF842FFFFFF41009201001448425734303733343731
2019.08.19 17:10:46 5: hm485: dispatch �\e\000e�����B���A\000�\001\000\024HBW4073471
2019.08.19 17:10:46 5: hm485: HM485_Parse: MsgId: 0
2019.08.19 17:10:46 5: hm485: HM485_Parse: ProcessEvent
2019.08.19 17:10:46 5: hm485: HM485_ProcessEvent: hmwId = 42FFFFFF msgData = 41009201001448425734303733343731
2019.08.19 17:10:46 4: hm485: Device 42FFFFFF not defined yet. We need the type for autocreate
2019.08.19 17:10:46 5: hm485: HM485_QueueCommand68
2019.08.19 17:10:46 5: hm485: HM485_QueueStart: Num: 2


Danke auf jedenfall für deine bisherige Hilfe.


Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 19 August 2019, 18:03:35
für mich sieht es so aus würde das was der Digitus sendet beim HBW Modul nicht ankommen.
Der HM485 sendet den Befehl 68
TX: (7) I[0](0,Y,F,B)(98) 00000001 -> 42FFFFFF [3] 68(h)
im log kann ich aber keine Antwort vom HBW Modul finden.
In diesem log ist dies schlecht erkennbar, der log vom HM485d wäre da besser.

Hilfreich wäre eine Übersicht Deiner HBW Module und welche im fhem angelegt (mit name und DEF) sind

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 19 August 2019, 20:42:44
Im Log vom HM485d steht wirklich nur die Zeile:
Zitat
2019.08.19 20:30:03.701 0: HM485d: Cannot create socket HM485d: Can't open server port at 2000: Address already in use

Das Modul ist das hbw_lc_bl-8
Jedoch ist das nicht mehr in Fhem angelegt, da ich es ja gelöscht habe.
Die Adresse des Moduls ist aktuell 42000010.
Die Adresse konnte ich ja schon mal einstellen als es noch ging.
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 19 August 2019, 20:50:28
Hast Du mehrere hbw_lc_bl-8?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 19 August 2019, 22:11:52
Hi,

Im log taucht nur ein Gerät mit der Adresse 42FFFFFF auf. Entweder hast du dein BL-8 komplett zurück gesetzt (also komplettes EEPROM) oder es gibt noch eine anderes Gerät...  :)

Hast du nicht noch ein Gerät am Bus, mit dem du die Kommunikation sehen kannst? Irgendwas bei dem die USB Schnittstelle für Arduino nutzbar ist?

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 20 August 2019, 17:01:13
Ja ich hab noch ein hbw_lc_bl-8 mit der Adresse 42FFFFFF, das hatte ich auch mal dran.
Das habe ich neu aufgesetzt.
Ich habe auch noch ein HBW-LC-SW8 aber das wird auch nicht mehr angelegt.

Wenn ich den Arduino am Notebook über USB anstecke und den Seriellen Monitor öffne, auf 19200Baud stelle bekomme ich nur folgende Zeile, auch wenn ich den ConfigButton drücke.

ZitatýÿÿÿÿøB  A '  HBW7296272�H


Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 20 August 2019, 17:38:28
ZitatIm Log vom HM485d steht wirklich nur die Zeile:
HM485d: Cannot create socket HM485d: Can't open server port at 2000: Address already in use
Da kann ich leider nicht weiterhelfen, ich starte den HM485d immer manuell.
Dazu
- das Attribut  HM485d_bind = 0 setzen
- fhem beenden
- in der Konsole ins fhem Verzeichnis wechseln
- den HM485d.pl manuel starten, der Befehl müsste bei Dir so aussehen:
/usr/bin/perl ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/ttyUSB1 --localPort 2000 --verbose 4
- fhem starten

Wenn ein Modul noch in fhem angelegt ist, kannst Du mal versuchen einen Ausgang zu schalten,
oder den Konfig Taster am Modul drücken falls im fhem kein Modul mehr angelegt ist

Gruß Ralf

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 21 August 2019, 13:57:41
Hi,
es ist etwas seltsam, dass im Log steht, dass der Daemon nicht gestartet werden kann, aber offensichtlich Nachrichten vom Gerät reinkommen. Kann es sein, dass das Syste doch versucht, den Daemon zweimal zu starten? Gibt es vielleicht zwei HM485_LAN-Geräte in FHEM? ...oder doch irgendwas anderes, das den Daemon starten will?
Möglicherweise könnte es auch funktionieren, mal den Port zu ändern. Dazu müsste es reichen, den Port im Define des HM485_LAN zu ändern und den Daemon durchzustarten.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 21 August 2019, 21:16:31
Hallo,

es hat tatsächlich funktioniert einen anderen Port zu nehmen.
Was jetzt allerdings die Ursache dafür ist das der Daemon mit dem Port 2000 nicht mehr funktioniert habe ich nicht herausgefunden.

Ich bin aber jetzt erstmal wieder glücklich dass die Geräte wieder angelegt werden.

Vielen Dank an alle die mir geholfen haben die Ursache zu finden, bin wirklich dankbar.

Danke  :)

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 31 August 2019, 17:02:42
Hallo zusammen,

ich versuche mir gerade eine Testumgebung auf einem Raspberry aufzubauen. Bis jetzt hat alles soweit geklappt, aber ich komme

Zitatattr hm485 HM485d_device <SerialDevice>
nicht weiter. Ich verstehe nicht was ich davon übernehmen und Eintragen soll?

Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.194221] usb 1-1.5: new full-speed USB device number 4 using dwc_otg
Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.351744] usb 1-1.5: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.351758] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.351767] usb 1-1.5: Product: FT232R USB UART
Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.351777] usb 1-1.5: Manufacturer: FTDI
Aug 31 15:22:58 RPI-IIII-Test kernel: [ 2399.351786] usb 1-1.5: SerialNumber: A6025BA0
Aug 31 15:22:58 RPI-IIII-Test mtp-probe: checking bus 1, device 4: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5"
Aug 31 15:22:58 RPI-IIII-Test mtp-probe: bus: 1, device: 4 was not an MTP device
Aug 31 15:22:58 RPI-IIII-Test mtp-probe: checking bus 1, device 4: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5"
Aug 31 15:22:58 RPI-IIII-Test mtp-probe: bus: 1, device: 4 was not an MTP device
Aug 31 15:23:04 RPI-IIII-Test kernel: [ 2405.204294] Voltage normalised (0x00000000)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 31 August 2019, 21:31:06
Zitatattr hm485 HM485d_device <SerialDevice>
Ich verstehe nicht was ich davon übernehmen und Eintragen soll?

mit
ls /dev/serial/by-id
kannst Du das USB SerialDevice abfragen, es sieht ungefähr so aus
/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_00000000-if00-port0

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 20 September 2019, 22:17:47
Hallo,

ich muss mich leider jetzt nochmal melden, da ich wieder Probleme habe und meine HBW-Geräte jetzt, nach einem Neustart wieder nicht mehr aufgelistet werden.
Hier mal ein Auszug aus dem LOG des HM485.
Kann mir eventuell doch jemand sagen was ich noch machen könnte?




Zitat2019.09.20 22:09:04.772 0: HM485d: Server stopped ...
2019.09.20 22:09:42.777 3: HM485d: port 2222 opened
2019.09.20 22:09:42.778 3: HM485d: server waiting for client connection on port 2222
2019.09.20 22:09:42.782 3: Opening SERIAL device /dev/ttyUSB1
2019.09.20 22:09:42.888 3: SERIAL device opened
2019.09.20 22:09:42.892 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2019.09.20 22:09:42.892 2: HM485d: SERIAL connected to device /dev/ttyUSB1
2019.09.20 22:09:42.893 1: HM485d: Server started ...
2019.09.20 22:09:48.239 4: Connection accepted from HM485d_127.0.0.1_34256
2019.09.20 22:09:48.240 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.09.20 22:09:48.252 4: HM485d: Rx: FD3E30312C303030300D0A
2019.09.20 22:10:08.257 4: HM485d: Rx: FD02024B
2019.09.20 22:10:08.258 4: HM485d: Tx: FD03026100
2019.09.20 22:10:28.264 4: HM485d: Rx: FD02034B
2019.09.20 22:10:28.265 4: HM485d: Tx: FD03036100
2019.09.20 22:10:38.539 3: HM485d: Rx:  I[0](0,Y,F,B)(98) 42000007 -> 42000010 [6] 4B(K) 01005A {836C}
2019.09.20 22:10:38.539 4: HM485d: Tx: FD0F00654200001098420000074B01005A
2019.09.20 22:10:38.542 3: HM485d: Rx: ACK(0,B)(19) 42000010 -> 42000007 [2] {D622}
2019.09.20 22:10:40.554 3: HM485d: Rx:  I[0](0,Y,F,B)(98) 42000010 -> 00000001 [5] 69(i) 0000 {E3CA}
2019.09.20 22:10:40.555 5: SW: fd420000101900000001021084
2019.09.20 22:10:40.557 3: HM485d: Tx: ACK(0,B)(19) 00000001 -> 42000010 [2] {1084}
2019.09.20 22:10:40.557 4: HM485d: Tx: FD0E0065000000019842000010690000
2019.09.20 22:10:44.166 3: HM485d: Rx:  I[0](3,Y,F,B)(F8) 42000017 -> FFFFFFFF [18] 41(A) 009201001448425737323936323739 {6136}
2019.09.20 22:10:44.166 4: HM485d: Tx: FD1B0065FFFFFFFFF84200001741009201001448425737323936323739
2019.09.20 22:11:04.477 4: HM485d: Rx: FD02044B
2019.09.20 22:11:04.478 4: HM485d: Tx: FD03046100
2019.09.20 22:11:24.485 4: HM485d: Rx: FD02054B
2019.09.20 22:11:24.486 4: HM485d: Tx: FD03056100
2019.09.20 22:11:44.493 4: HM485d: Rx: FD02064B
2019.09.20 22:11:44.494 4: HM485d: Tx: FD03066100
2019.09.20 22:12:04.500 4: HM485d: Rx: FD02074B
2019.09.20 22:12:04.501 4: HM485d: Tx: FD03076100
2019.09.20 22:12:24.506 4: HM485d: Rx: FD02084B
2019.09.20 22:12:24.507 4: HM485d: Tx: FD03086100
2019.09.20 22:12:44.512 4: HM485d: Rx: FD02094B
2019.09.20 22:12:44.513 4: HM485d: Tx: FD03096100
2019.09.20 22:13:04.519 4: HM485d: Rx: FD020A4B
2019.09.20 22:13:04.520 4: HM485d: Tx: FD030A6100
2019.09.20 22:13:24.525 4: HM485d: Rx: FD020B4B
2019.09.20 22:13:24.526 4: HM485d: Tx: FD030B6100
2019.09.20 22:13:44.531 4: HM485d: Rx: FD020C4B
2019.09.20 22:13:44.532 4: HM485d: Tx: FD030C6100
2019.09.20 22:14:04.537 4: HM485d: Rx: FD020D4B
2019.09.20 22:14:04.538 4: HM485d: Tx: FD030D6100
2019.09.20 22:14:24.543 4: HM485d: Rx: FD020E4B
2019.09.20 22:14:24.543 4: HM485d: Tx: FD030E6100
2019.09.20 22:14:44.549 4: HM485d: Rx: FD020F4B
2019.09.20 22:14:44.549 4: HM485d: Tx: FD030F6100
2019.09.20 22:15:04.554 4: HM485d: Rx: FD02104B
2019.09.20 22:15:04.555 4: HM485d: Tx: FD03106100
2019.09.20 22:15:24.560 4: HM485d: Rx: FD02114B
2019.09.20 22:15:24.561 4: HM485d: Tx: FD03116100

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 09:37:23
ZitatHier mal ein Auszug aus dem LOG des HM485.
Der LOG des HM485 sieht gut aus.

Bitte mache mal beim Modul 42000010 ein get info und schalte einen Ausgang und poste dann das fhem log mit verbose 5 und das LOG des HM485

Gruß Ralf

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 13:43:07
Hallo zusammen,

ich habe heute ein neues Modul zusammengebaut und habe es an die Testumgebung gehängt allerdings wird es von Fhem nicht erkannt.

Die XML ist abgelegt. Wenn ich die Taste auf dem Nano drücke kommen keine Signale über den Bus.

defmod hm485 HM485_LAN localhost:2000
attr hm485 HM485d_bind 1
attr hm485 HM485d_device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
attr hm485 hmwId 00000001
attr hm485 verbose 5

setstate hm485 opened
setstate hm485 2019-09-21 13:33:55 state opened


pi@RPI-IIII-Test:~ $ ls /dev/serial/by-id
usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0


Habe jetzt auch schon zum test ein Modul vom livesystem dran gehängt, aber das wird auch nicht erkannt. Scheint als ob der Bus taub ist.

Habt ihr eine Idee was das sein kann.


Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 13:58:00
Hilfreich wäre ein log vom HM485d

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 14:08:03
Zitat von: Ralf9 am 21 September 2019, 13:58:00
Hilfreich wäre ein log vom HM485d

Gruß Ralf

Der sendet immer nur das hier

2019.09.21 14:05:02 5: SW: fd02344b
2019.09.21 14:05:02 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 52 Cmd: 97
2019.09.21 14:05:02 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (52) 00 AliveStatus: 00
2019.09.21 14:05:22 5: hm485: HM485_LAN_Write TX: 53
2019.09.21 14:05:22 5: SW: fd02354b
2019.09.21 14:05:22 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 53 Cmd: 97
2019.09.21 14:05:22 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (53) 00 AliveStatus: 00
2019.09.21 14:05:42 5: hm485: HM485_LAN_Write TX: 54
2019.09.21 14:05:42 5: SW: fd02364b
2019.09.21 14:05:42 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 54 Cmd: 97
2019.09.21 14:05:42 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (54) 00 AliveStatus: 00
2019.09.21 14:06:02 5: hm485: HM485_LAN_Write TX: 55
2019.09.21 14:06:02 5: SW: fd02374b
2019.09.21 14:06:02 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 55 Cmd: 97
2019.09.21 14:06:02 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (55) 00 AliveStatus: 00
2019.09.21 14:06:22 5: hm485: HM485_LAN_Write TX: 56
2019.09.21 14:06:22 5: SW: fd02384b
2019.09.21 14:06:22 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 56 Cmd: 97
2019.09.21 14:06:22 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (56) 00 AliveStatus: 00
2019.09.21 14:06:42 5: hm485: HM485_LAN_Write TX: 57
2019.09.21 14:06:42 5: SW: fd02394b
2019.09.21 14:06:42 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 57 Cmd: 97
2019.09.21 14:06:42 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (57) 00 AliveStatus: 00
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 14:43:56
hier ist auch noch mal ein rrboot

2019.09.21 14:42:07 0: Server shutdown
2019.09.21 14:42:07.274 0: HM485d: Server stopped ...
2019.09.21 14:42:07 3: hm485: HM485d with PID   672 was terminated.
2019.09.21 14:42:07 1: Including fhem.cfg
2019.09.21 14:42:08 3: WEB: port 8083 opened
2019.09.21 14:42:08 2: eventTypes: loaded 12 events from ./log/eventTypes.txt
2019.09.21 14:42:08 3: myBroker: port 1885 opened
2019.09.21 14:42:08 1: Including ./log/fhem.save
2019.09.21 14:42:08 1: usb create starting
2019.09.21 14:42:08 3: Probing ZWDongle device /dev/serial1
2019.09.21 14:42:08 3: Probing CUL device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing TCM_ESP3 device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing ZWDongle device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing SIGNALDuino device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing MYSENSORS device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing ArduCounter device /dev/ttyAMA0
2019.09.21 14:42:09 3: Probing ElsnerWS device /dev/ttyAMA0
2019.09.21 14:42:10 3: Probing FRM device /dev/ttyAMA0
2019.09.21 14:42:16 3: Probing TCM_ESP3 device /dev/ttyUSB0
2019.09.21 14:42:16 3: Probing TCM_ESP2 device /dev/ttyUSB0
2019.09.21 14:42:16 3: Probing FHZ device /dev/ttyUSB0
2019.09.21 14:42:16 3: Probing TRX device /dev/ttyUSB0
2019.09.21 14:42:17 3: Probing ZWDongle device /dev/ttyUSB0
2019.09.21 14:42:17 3: Probing SIGNALDuino device /dev/ttyUSB0
2019.09.21 14:42:17 3: Probing MYSENSORS device /dev/ttyUSB0
2019.09.21 14:42:17 3: Probing ArduCounter device /dev/ttyUSB0
2019.09.21 14:42:17 3: Probing ElsnerWS device /dev/ttyUSB0
2019.09.21 14:42:18 3: Probing FRM device /dev/ttyUSB0
2019.09.21 14:42:23 1: usb create end
2019.09.21 14:42:23 0: Featurelevel: 5.9
2019.09.21 14:42:23 0: Server started with 10 defined entities (fhem.pl:20069/2019-08-27 perl:5.028001 os:linux user:fhem pid:706)
2019.09.21 14:42:24 3: hm485: Start HM485d with command line: ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0 --localPort 2000
2019.09.21 14:42:24 3: hm485: HM485d was started with PID:   715
2019.09.21 14:42:24 3: hm485: Connect to HM485d delayed for 5 seconds
2019.09.21 14:42:24 2: AttrTemplates: got 102 entries
2019.09.21 14:42:30 3: Opening hm485 device localhost:2000
2019.09.21 14:42:30 3: hm485: connected to device localhost:2000
2019.09.21 14:42:30 3: hm485 device opened
2019.09.21 14:42:30 3: hm485: Lan Device Information
2019.09.21 14:42:30 3: hm485: Protocol-Version: 01
2019.09.21 14:42:30 3: hm485: Interface-Type: HMW-SOFT-GW
2019.09.21 14:42:30 3: hm485: Firmware-Version: 0.2.2
2019.09.21 14:42:30 3: hm485: Serial-Number: SGW0123456
2019.09.21 14:42:30 5: hm485: HM485_LAN_Write TX: 1
2019.09.21 14:42:30 3: hm485: Initialize the interface
2019.09.21 14:42:30 5: SW: fd3e30312c303030300d0a
2019.09.21 14:42:50 5: hm485: HM485_LAN_Write TX: 2
2019.09.21 14:42:50 5: SW: fd02024b
2019.09.21 14:42:50 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 2 Cmd: 97
2019.09.21 14:42:50 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (2) 00 AliveStatus: 00
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 14:46:40
Dies sind nur die keep alive Meldungen vom HM485d.
Für mich sieht es nach dem fhemlog aus.

Hast Du im Attribut "HM485d_logfile" den filenamen fürs logfile eingetragen?
HM485d_logfile: Logfile for HM485d
The HM485d process can write an own log file with <HM485d_logfile> as filename.


Das HM485d logfile sollte so wie bei Fhemmichl aussehen:
2019.09.20 22:09:04.772 0: HM485d: Server stopped ...
2019.09.20 22:09:42.777 3: HM485d: port 2222 opened
2019.09.20 22:09:42.778 3: HM485d: server waiting for client connection on port 2222
2019.09.20 22:09:42.782 3: Opening SERIAL device /dev/ttyUSB1
2019.09.20 22:09:42.888 3: SERIAL device opened
2019.09.20 22:09:42.892 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2019.09.20 22:09:42.892 2: HM485d: SERIAL connected to device /dev/ttyUSB1
2019.09.20 22:09:42.893 1: HM485d: Server started ...
2019.09.20 22:09:48.239 4: Connection accepted from HM485d_127.0.0.1_34256
2019.09.20 22:09:48.240 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.09.20 22:09:48.252 4: HM485d: Rx: FD3E30312C303030300D0A
2019.09.20 22:10:08.257 4: HM485d: Rx: FD02024B
2019.09.20 22:10:08.258 4: HM485d: Tx: FD03026100
2019.09.20 22:10:28.264 4: HM485d: Rx: FD02034B


Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 15:17:13
Hallo Ralf,

ich habe es jetzt einmal angelegt, aber das scheint nicht richtig zu sein?

defmod hm485 HM485_LAN localhost:2222
attr hm485 HM485d_bind 1
attr hm485 HM485d_device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
attr hm485 HM485d_logfile ./log/HM485-2019-37.log
attr hm485 hmwId 00000002
attr hm485 verbose 5

setstate hm485 opened
setstate hm485 2019-09-21 14:58:49 state opened


Internals:
   CFGFN     
   DEF        ./log/HM485-%Y-%U.log hm485
   FD         13
   FUUID      5d86210f-f33f-8376-489e-72da0025dab514fb
   NAME       LOG_485
   NOTIFYDEV  hm485
   NR         37
   NTFY_ORDER 50-LOG_485
   REGEXP     hm485
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/HM485-2019-37.log
   logfile    ./log/HM485-%Y-%U.log
   READINGS:
     2019-09-21 15:15:13   linesInTheFile  2
Attributes:
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 15:28:13
hast Du ein fhem neustart gemacht.
Änderungen an den Attributen des HM485d werden erst nach einem restart des HM485d wirksam.

Gruß Ralf
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 15:36:55
habe ich gerade noch mal gemacht. Es steht nur folgendes im Log

2019-09-21_15:13:57 hm485 discovery start
2019-09-21_15:15:13 hm485 discovery start
2019-09-21_15:35:22 hm485 CONNECTED
2019-09-21_15:35:32 hm485 discovery start
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 16:01:58
Du kannst mal das Attribut "HM485d_logVerbose" auf 4 setzen

nach einem restart müsste dann in HM485-2019-37.log was stehen
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 16:13:30
so aber jetzt:

2019.09.21 16:07:01.927 0: HM485d: Server stopped ...
2019-09-21_16:07:36 hm485 CONNECTED
2019.09.21 16:08:01.970 0: HM485d: Server stopped ...
2019.09.21 16:08:19.274 3: HM485d: port 2222 opened
2019.09.21 16:08:19.274 3: HM485d: server waiting for client connection on port 2222
2019.09.21 16:08:19.276 3: Opening SERIAL device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
2019.09.21 16:08:19.329 3: Can't open usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0: No such file or directory
2019.09.21 16:08:19.330 1: HM485d: Server started ...
2019.09.21 16:08:23.922 4: Connection accepted from HM485d_127.0.0.1_59890
2019.09.21 16:08:23.927 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019-09-21_16:08:23 hm485 CONNECTED
2019.09.21 16:08:23.938 4: HM485d: Rx: FD3E30312C303030300D0A
2019.09.21 16:08:43.942 4: HM485d: Rx: FD02024B
2019.09.21 16:08:43.943 4: HM485d: Tx: FD03026100
2019.09.21 16:09:03.948 4: HM485d: Rx: FD02034B
2019.09.21 16:09:03.948 4: HM485d: Tx: FD03036100
2019.09.21 16:09:23.953 4: HM485d: Rx: FD02044B
2019.09.21 16:09:23.954 4: HM485d: Tx: FD03046100
2019.09.21 16:09:43.959 4: HM485d: Rx: FD02054B
2019.09.21 16:09:43.959 4: HM485d: Tx: FD03056100
2019.09.21 16:10:03.964 4: HM485d: Rx: FD02064B
2019.09.21 16:10:03.965 4: HM485d: Tx: FD03066100
2019.09.21 16:10:12.708 0: HM485d: Server stopped ...
2019-09-21_16:10:12 hm485 CONNECTED
2019-09-21_16:10:12 hm485 DISCONNECTED
2019.09.21 16:10:13.351 3: HM485d: port 2222 opened
2019.09.21 16:10:13.351 3: HM485d: server waiting for client connection on port 2222
2019.09.21 16:10:13.353 3: Opening SERIAL device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
2019.09.21 16:10:13.404 3: Can't open usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0: No such file or directory
2019.09.21 16:10:13.405 1: HM485d: Server started ...
2019-09-21_16:10:13 hm485 CONNECTED
2019.09.21 16:10:13.998 4: Connection accepted from HM485d_127.0.0.1_59894
2019.09.21 16:10:13.998 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019.09.21 16:10:14.007 4: HM485d: Rx: FD3E30312C303030300D0A
2019.09.21 16:10:34.014 4: HM485d: Rx: FD02024B
2019.09.21 16:10:34.015 4: HM485d: Tx: FD03026100
2019-09-21_16:10:51 hm485 DISCONNECTED
2019.09.21 16:10:54.081 4: HM485d: Rx: FD02014B
2019.09.21 16:10:54.081 4: HM485d: Tx: FD03016100
2019.09.21 16:11:14.145 4: HM485d: Rx: FD02014B
2019.09.21 16:11:14.146 4: HM485d: Tx: FD03016100
2019.09.21 16:11:25.194 0: HM485d: Server stopped ...
2019.09.21 16:11:42.545 3: HM485d: port 2222 opened
2019.09.21 16:11:42.545 3: HM485d: server waiting for client connection on port 2222
2019.09.21 16:11:42.547 3: Opening SERIAL device usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
2019.09.21 16:11:42.600 3: Can't open usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0: No such file or directory
2019.09.21 16:11:42.600 1: HM485d: Server started ...
2019.09.21 16:11:47.781 4: Connection accepted from HM485d_127.0.0.1_59896
2019.09.21 16:11:47.782 4: HM485d: Tx: H00,01,HMW-SOFT-GW,0.2.2,SGW0123456

2019-09-21_16:11:47 hm485 CONNECTED
2019.09.21 16:11:47.797 4: HM485d: Rx: FD3E30312C303030300D0A


der kann das nicht öffnen?!
Can't open usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0: No such file or directory

das verstehe ich allerdings nicht?!
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 16:38:58
da fehlt davor noch ein "/dev/serial/by-id/"

/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: holzwurm83 am 21 September 2019, 16:42:48
Zitat von: Ralf9 am 21 September 2019, 16:38:58
da fehlt davor noch ein "/dev/serial/by-id/"

/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A6025BA0-if00-port0

>:( so ein **********

Vielen dank Ralf! Das Brett war leider zu groß...

Jetzt läufts!
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 21 September 2019, 16:52:15
Hallo Ralf,


ZitatBitte mache mal beim Modul 42000010 ein get info und schalte einen Ausgang und poste dann das fhem log mit verbose 5 und das LOG des HM485

Ich weiss nicht wie ich das machen soll, denn in Fhem wird mir das Modul ja nicht angelegt.
Wie kann ich dann ein get info des Moduls machen?

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 17:13:49
ist eins von den anderen Modulen in fhem angelegt?
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 21 September 2019, 17:17:57
Nein, es wird keines angelegt, das ist ja mein Problem  :'(
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Ralf9 am 21 September 2019, 17:20:58
evtl lässt sich auch was erkennen, wenn Du eine taste drückst und dann das  das fhem log mit verbose 5 und das LOG des HM485 postet
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 21 September 2019, 17:42:10
Ok ich habs gefunden was es war.

Ich hab mir ein HBW-Gerät (HBW-LC-Sw-16) erstellt, das und die .pm in den Ordner kopiert.
Mit dem gab es anscheinend schwierigkeiten, da passte was nicht.
Ich habs gelöscht und jetzt funktionieren die anderen wieder und werden auch wieder angelegt.

Danke für deine Mühe mir zu helfen  :) :).

Gruß
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 22 September 2019, 10:49:04
Zitat von: Fhemmichl am 21 September 2019, 17:42:10
Ich hab mir ein HBW-Gerät (HBW-LC-Sw-16) erstellt, das und die .pm in den Ordner kopiert.
Das sollte man gar nicht mehr machen. Seit einer ganzen Weile schon werden die gerätespezifischen pm-Dateien aus den XMLs generiert. D.h. man muss die XML in den entsprechenden Ordner kopieren und die pm-Dateien komplett in Ruhe lassen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 04 Dezember 2019, 20:58:35
Also großartige Arbeit von Euch allen - habe es nun endlich geschafft und meinen ersten HBW-1W-T10 an der raspberrymatic zum laufen gebracht...

Ein paar Kleinigkeiten hab ich noch - irgend ein Teil sendet bei mir ständig, so dass das Anlernen nur funktioniert wenn der Arduino alleine am Bus hängt - im seriellen Monitor sehe ich was da abgeht - gibts es eine Beschreibung des Protokols - alle Links hier fuhren auch eine Seite die ,,protected" sagt..

Danke für Eure Hilfe
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 04 Dezember 2019, 22:30:34
Hi,
fehlt da vielleicht das Widerstandsnetzwerk? Das kann speziell Original-eq3-Teile etwas verwirren.
Ansonsten siehe Anhang.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Sandomor am 05 Dezember 2019, 09:38:45
Zitat von: Thorsten Pferdekaemper am 04 Dezember 2019, 22:30:34
Hi,
fehlt da vielleicht das Widerstandsnetzwerk?

Hilf mir bitte kurz auf die Sprünge..

Widerstandsnetzwerk? Der Bus Abschlußwiderstand ist drin...

Aber mit der Beschreibung bin ich schon mal ein Stück weiter...


R: FD:FF:FF:FF:FF:DA:00:01:54:3C:06:4B:00:00:BB:DE:BE
R: FD:FF:FF:FF:FF:98:00:01:77:2B:06:4B:04:00:EB:50:1C
R: FD:FF:FF:FF:FF:DC:00:01:54:3C:06:4B:00:00:BB:55:A6
R: FD:FF:FF:FF:FF:9A:00:01:77:2B:06:4B:04:00:EB:29:14
R: FD:FF:FF:FF:FF:DE:00:01:54:3C:06:4B:00:00:BB:2C:AE
R: FD:FF:FF:FF:FF:9C:00:01:77:2B:06:4B:04:00:EB:A2:0C
R: FD:FF:FF:FF:FF:D8:00:01:54:3C:06:4B:00:00:BB:A7:B6
R: FD:FF:FF:FF:FF:9E:00:01:77:2B:06:4B:04:00:EB:DB:04
R: FD:FF:FF:FF:FF:DA:00:01:54:3C:06:4B:00:00:BB:DE:BE
R: FD:FF:FF:FF:FF:98:00:01:77:2B:06:4B:04:00:EB:50:1C
R: FD:FF:FF:FF:FF:DC:00:01:54:3C:06:4B:00:00:BB:55:A6
R: FD:FF:FF:FF:FF:9A:00:01:77:2B:06:4B:04:00:EB:29:14


das läuft auf  meinem Bus...  Also lauter Broadcasts ....

einer davon der "0x0001772B" ist ein 12/7 Switch...
das andere ein Dim1L-DR

die beiden haben eine Direktverknüpfung aber sonst ned viel....

beide funktionieren ganz normal... ich komm ned drauf was es da hat - warum sind die beiden so redebedürftig....?

hänge ich die beiden "Störenfriede" vom Bus ab (auch wenn ich nur die heiße Leitung "A") abhänge ist es gleich ruhig am Bus - aber funktionieren tun sie noch immer... bin etwas verwirrt...

Der 1W-T10 meldet sich am Bus richtig - wenns still ist und funktioniert dann.

BTW: wie gebe ich die Seriennummer und die HexAdresse vom Modul an - ich will nämlich 2 von den 1W-T10 am Bus haben.

lg
Andi

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 05 Dezember 2019, 18:16:10
Hi Andi,

Kanal 1 und 5 der beiden Geräte senden die broadcasts für Tastendrücke... Was hängt da dran? Hast du eventuell Schalter statt Taster dran?

Zitat von: Sandomor am 05 Dezember 2019, 09:38:45
BTW: wie gebe ich die Seriennummer und die HexAdresse vom Modul an - ich will nämlich 2 von den 1W-T10 am Bus haben.
Das steht ja tatsächlich im tutorial...  ;D
https://forum.fhem.de/index.php/topic,61780.msg536038.html#msg536038

Gruß,
Thomas
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 07 Dezember 2019, 21:14:41
Zitat von: loetmeister am 05 Dezember 2019, 18:16:10
Kanal 1 und 5 der beiden Geräte senden die broadcasts für Tastendrücke... Was hängt da dran? Hast du eventuell Schalter statt Taster dran?
Das würde ich auch vermuten. Das sind nämlich sogar lange Tastendrücke, die werden alle 300ms oder so gesendet so lange die Taste gedrückt ist. ...also falls man einen Schalter dran hat im Prinzip ewig.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 29 November 2020, 15:56:07
Hallo,

ich habe leider das Problem dass mir meine Homebrew Geräte nicht mehr in Fhem angelegt werden und ich weiss nicht warum.

Hier wäre mal das Log von einem:
2020.11.29 15:51:48.053 0: HM485d: Server stopped ...
2020.11.29 15:51:48.744 3: HM485d: port 2222 opened
2020.11.29 15:51:48.745 3: HM485d: server waiting for client connection on port 2222
2020.11.29 15:51:48.747 3: Opening SERIAL device /dev/ttyUSB1
2020.11.29 15:51:48.806 3: SERIAL device opened
2020.11.29 15:51:48.809 3: HM485d: SERIALbaudrate=19200, databits=8, parity=even, stopbits=1, handshake=none
2020.11.29 15:51:48.809 2: HM485d: SERIAL connected to device /dev/ttyUSB1
2020.11.29 15:51:48.810 1: HM485d: Server started ...
2020.11.29 15:52:12.907 3: HM485d: Rx:  I[0](3,Y,F,B)(F8) 42000010 -> FFFFFFFF [18] 41(A) 009201001448425737323936323732 {9048}
2020.11.29 15:52:12.908 4: HM485d: Tx: FD1B0065FFFFFFFFF84200001041009201001448425737323936323732





hier noch das fhem.log:
2020.11.29 15:50:09 5: hm485: HM485_LAN_Write TX: 14
2020.11.29 15:50:09 5: SW: fd020e4b
2020.11.29 15:50:09 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 14 Cmd: 97
2020.11.29 15:50:09 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (14) 00 AliveStatus: 00
2020.11.29 15:50:29 5: hm485: HM485_LAN_Write TX: 15
2020.11.29 15:50:29 5: SW: fd020f4b
2020.11.29 15:50:29 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 15 Cmd: 97
2020.11.29 15:50:29 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (15) 00 AliveStatus: 00
2020.11.29 15:50:30 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 0 Cmd: 101
2020.11.29 15:50:30 4: hm485: Event:HASH(0x3d28c88)
2020.11.29 15:50:30 5: hm485: Dispatch: FD1B0065FFFFFFFFF84200001041009201001448425737323936323732
2020.11.29 15:50:30 5: hm485: dispatch ý\e\000eÿÿÿÿøB\000\000\020A\000'\001\000\024HBW7296272
2020.11.29 15:50:30 5: hm485: HM485_Parse: MsgId: 0
2020.11.29 15:50:30 5: hm485: HM485_Parse: ProcessEvent
2020.11.29 15:50:30 5: hm485: HM485_ProcessEvent: hmwId = 42000010 msgData = 41009201001448425737323936323732
2020.11.29 15:50:30 4: hm485: Device 42000010 not defined yet. We need the type for autocreate
2020.11.29 15:50:30 5: hm485: HM485_QueueCommand68
2020.11.29 15:50:30 5: hm485: HM485_QueueStart: Num: 3
2020.11.29 15:50:50 5: hm485: HM485_LAN_Write TX: 16
2020.11.29 15:50:50 5: SW: fd02104b
2020.11.29 15:50:50 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 16 Cmd: 97
2020.11.29 15:50:50 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (16) 00 AliveStatus: 00
2020.11.29 15:51:10 5: hm485: HM485_LAN_Write TX: 17
2020.11.29 15:51:10 5: SW: fd02114b
2020.11.29 15:51:10 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 17 Cmd: 97
2020.11.29 15:51:10 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (17) 00 AliveStatus: 00
2020.11.29 15:51:17 1: hm485: HM485d already running with PID 10425. We are using this process.
2020.11.29 15:51:30 5: hm485: HM485_LAN_Write TX: 18
2020.11.29 15:51:30 5: SW: fd02124b
2020.11.29 15:51:30 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 18 Cmd: 97
2020.11.29 15:51:30 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (18) 00 AliveStatus: 00
2020.11.29 15:51:37 3: hm485: HM485d with PID 10425 was terminated.
2020.11.29 15:51:47 1: hm485: HM485d already running with PID 10425. We are using this process.
2020.11.29 15:51:48 3: Opening hm485 device localhost:2222
2020.11.29 15:51:48 3: hm485: connected to device localhost:2222
2020.11.29 15:51:48 3: hm485 device opened
2020.11.29 15:51:48 1: localhost:2222 disconnected, waiting to reappear (hm485)
2020.11.29 15:51:48 3: hm485: Start HM485d with command line: ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/ttyUSB1 --localPort 2222 --logfile ./log/Hm485Michlneu-%Y.log --verbose 5
2020.11.29 15:51:48 3: hm485: HM485d was started with PID: 14141
2020.11.29 15:51:48 3: hm485: Connect to HM485d delayed for 5 seconds
2020.11.29 15:51:53 3: Opening hm485 device localhost:2222
2020.11.29 15:52:48 3: hm485: connected to device localhost:2222
2020.11.29 15:52:48 1: localhost:2222 reappeared (hm485)
2020.11.29 15:52:48 3: hm485: Lan Device Information
2020.11.29 15:52:48 3: hm485: Protocol-Version: 01
2020.11.29 15:52:48 3: hm485: Interface-Type: HMW-SOFT-GW
2020.11.29 15:52:48 3: hm485: Firmware-Version: 0.2.2
2020.11.29 15:52:48 3: hm485: Serial-Number: SGW0123456
2020.11.29 15:52:48 5: hm485: HM485_LAN_Write TX: 1
2020.11.29 15:52:48 3: hm485: Initialize the interface
2020.11.29 15:52:48 5: SW: fd3e30312c303030300d0a
2020.11.29 15:53:08 5: hm485: HM485_LAN_Write TX: 2
2020.11.29 15:53:08 5: SW: fd02024b
2020.11.29 15:53:08 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 2 Cmd: 97
2020.11.29 15:53:08 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (2) 00 AliveStatus: 00
2020.11.29 15:53:28 5: hm485: HM485_LAN_Write TX: 3
2020.11.29 15:53:28 5: SW: fd02034b
2020.11.29 15:53:28 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 3 Cmd: 97
2020.11.29 15:53:28 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (3) 00 AliveStatus: 00




Eigentlich wird es erkannt und hat auch die ID 42000010
Kann mir jemand sagen warum es dann nicht angelegt wird?

Vielen Dank im voraus.

Gruß
Michael




Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 29 November 2020, 20:32:39
Hi,
es sieht im Log so aus, als ob der HM485d gerade zu der Zeit, als das Device "online" ging (noch) nicht richtig mit FHEM verbunden war. Kann es sein, dass Du FHEM oder zumindest den HM485d neu gestartet hast?
Am besten funktioniert es, wenn FHEM (und auch der HM485d) schon eine Weile läuft und man dann mit dem Device irgenwas macht (z.B. eine Taste drückt).
Im Zweifelsfall warte ab, bis zwei Meldungen wie "HM485_LAN_parseIncommingCommand: Alive: (2) 00 AliveStatus: 00" im fhem Log stehen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 29 November 2020, 21:05:43
Hi,

ich habs jetzt mal laufen lassen und dann mal den Config-Button am Device gedrückt. Jedoch wird das Gerät immer noch nicht angelegt.

Es kommt folgendes:


2020.11.29 21:01:05 5: hm485: HM485_LAN_Write TX: 27
2020.11.29 21:01:05 5: SW: fd021b4b
2020.11.29 21:01:05 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 27 Cmd: 97
2020.11.29 21:01:05 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (27) 00 AliveStatus: 00
2020.11.29 21:01:25 5: hm485: HM485_LAN_Write TX: 28
2020.11.29 21:01:25 5: SW: fd021c4b
2020.11.29 21:01:25 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 28 Cmd: 97
2020.11.29 21:01:25 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (28) 00 AliveStatus: 00
2020.11.29 21:01:44 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 0 Cmd: 101
2020.11.29 21:01:44 4: hm485: Event:HASH(0x6163ae8)
2020.11.29 21:01:44 5: hm485: Dispatch: FD1B0065FFFFFFFFF84200001041009201001448425737323936323732
2020.11.29 21:01:44 5: hm485: dispatch ý\e\000eÿÿÿÿøB\000\000\020A\000'\001\000\024HBW7296272
2020.11.29 21:01:44 5: hm485: HM485_Parse: MsgId: 0
2020.11.29 21:01:44 5: hm485: HM485_Parse: ProcessEvent
2020.11.29 21:01:44 5: hm485: HM485_ProcessEvent: hmwId = 42000010 msgData = 41009201001448425737323936323732
2020.11.29 21:01:44 4: hm485: Device 42000010 not defined yet. We need the type for autocreate
2020.11.29 21:01:44 5: hm485: HM485_QueueCommand68
2020.11.29 21:01:44 5: hm485: HM485_QueueStart: Num: 2
2020.11.29 21:02:01 3: UWZ Unwetterzentrale: UWZ.1733 Done fetching data
2020.11.29 21:02:04 5: hm485: HM485_LAN_Write TX: 29
2020.11.29 21:02:04 5: SW: fd021d4b
2020.11.29 21:02:04 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 29 Cmd: 97
2020.11.29 21:02:04 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (29) 00 AliveStatus: 00
2020.11.29 21:02:24 5: hm485: HM485_LAN_Write TX: 30
2020.11.29 21:02:24 5: SW: fd021e4b
2020.11.29 21:02:24 5: hm485: HM485_LAN_parseIncommingCommand: MsgId: 30 Cmd: 97
2020.11.29 21:02:24 5: hm485: HM485_LAN_parseIncommingCommand: Alive: (30) 00 AliveStatus: 00


Ich verstehe auch nicht warum es heisst : Device 42000010 not defined yet. We need the type for autocreate

Gruß
Michael

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 29 November 2020, 21:13:16
Hi,
die Meldung bedeutet, dass das Teil noch nicht in FHEM angelegt ist und deshalb erst einmal der Gerätetyp ermittelt werden muss.
Funktionieren denn andere HMW-Geräte einwandfrei?
Könntest Du auch noch den HM485d-Log zeigen?
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 29 November 2020, 21:40:53
Es funktionieren leider im Moment gar keine Geräte, aber ich habe nur Selbstbau Homebrew Geräte. Die haben aber alle schon mal funktioniert. Leider hab ich mir mein System zerschossen und musste auf ein älteres Image zurück springen. Jetzt gehts irgendwie nicht mehr.
Ich hab mal ein zweites Gerät mit hin, das hat die 42000010

Hier der log:

2020.11.29 21:01:05.376 4: HM485d: Rx: FD021B4B
2020.11.29 21:01:05.377 4: HM485d: Tx: FD031B6100
2020.11.29 21:01:25.382 4: HM485d: Rx: FD021C4B
2020.11.29 21:01:25.383 4: HM485d: Tx: FD031C6100
2020.11.29 21:01:44.924 3: HM485d: Rx:  I[0](3,Y,F,B)(F8) 42000010 -> FFFFFFFF [18] 41(A) 009201001448425737323936323732 {9048}
2020.11.29 21:01:44.925 4: HM485d: Tx: FD1B0065FFFFFFFFF84200001041009201001448425737323936323732
2020.11.29 21:02:04.936 4: HM485d: Rx: FD021D4B
2020.11.29 21:02:04.936 4: HM485d: Tx: FD031D6100
2020.11.29 21:02:24.944 4: HM485d: Rx: FD021E4B
2020.11.29 21:02:24.945 4: HM485d: Tx: FD031E6100
2020.11.29 21:02:44.950 4: HM485d: Rx: FD021F4B
2020.11.29 21:02:44.951 4: HM485d: Tx: FD031F6100
2020.11.29 21:03:04.956 4: HM485d: Rx: FD02204B
2020.11.29 21:03:04.957 4: HM485d: Tx: FD03206100
2020.11.29 21:03:24.976 4: HM485d: Rx: FD02214B
2020.11.29 21:03:24.976 4: HM485d: Tx: FD03216100
2020.11.29 21:03:44.990 4: HM485d: Rx: FD02224B
2020.11.29 21:03:44.991 4: HM485d: Tx: FD03226100
2020.11.29 21:04:04.999 4: HM485d: Rx: FD02234B
2020.11.29 21:04:05.000 4: HM485d: Tx: FD03236100
2020.11.29 21:04:25.006 4: HM485d: Rx: FD02244B
2020.11.29 21:04:25.007 4: HM485d: Tx: FD03246100
2020.11.29 21:04:45.017 4: HM485d: Rx: FD02254B
2020.11.29 21:04:45.017 4: HM485d: Tx: FD03256100
2020.11.29 21:05:05.029 4: HM485d: Rx: FD02264B
2020.11.29 21:05:05.030 4: HM485d: Tx: FD03266100
2020.11.29 21:05:25.036 4: HM485d: Rx: FD02274B
2020.11.29 21:05:25.037 4: HM485d: Tx: FD03276100
2020.11.29 21:05:45.046 4: HM485d: Rx: FD02284B
2020.11.29 21:05:45.047 4: HM485d: Tx: FD03286100
2020.11.29 21:06:05.055 4: HM485d: Rx: FD02294B
2020.11.29 21:06:05.056 4: HM485d: Tx: FD03296100
2020.11.29 21:06:25.109 4: HM485d: Rx: FD022A4B
2020.11.29 21:06:25.110 4: HM485d: Tx: FD032A6100
2020.11.29 21:06:45.118 4: HM485d: Rx: FD022B4B
2020.11.29 21:06:45.119 4: HM485d: Tx: FD032B6100
2020.11.29 21:07:05.126 4: HM485d: Rx: FD022C4B
2020.11.29 21:07:05.126 4: HM485d: Tx: FD032C6100
2020.11.29 21:07:25.134 4: HM485d: Rx: FD022D4B
2020.11.29 21:07:25.135 4: HM485d: Tx: FD032D6100
2020.11.29 21:07:30.989 3: HM485d: Rx:  I[0](3,Y,F,B)(F8) 42000014 -> FFFFFFFF [18] 41(A) 008300006648425737323936323736 {0FFC}
2020.11.29 21:07:30.990 4: HM485d: Tx: FD1B0065FFFFFFFFF84200001441008300006648425737323936323736
2020.11.29 21:07:51.003 4: HM485d: Rx: FD022E4B
2020.11.29 21:07:51.004 4: HM485d: Tx: FD032E6100
2020.11.29 21:08:11.013 4: HM485d: Rx: FD022F4B
2020.11.29 21:08:11.014 4: HM485d: Tx: FD032F6100
2020.11.29 21:08:31.021 4: HM485d: Rx: FD02304B
2020.11.29 21:08:31.021 4: HM485d: Tx: FD03306100
2020.11.29 21:08:51.030 4: HM485d: Rx: FD02314B
2020.11.29 21:08:51.030 4: HM485d: Tx: FD03316100
2020.11.29 21:09:11.041 4: HM485d: Rx: FD02324B
2020.11.29 21:09:11.041 4: HM485d: Tx: FD03326100
2020.11.29 21:09:31.052 4: HM485d: Rx: FD02334B
2020.11.29 21:09:31.052 4: HM485d: Tx: FD03336100
2020.11.29 21:09:51.062 4: HM485d: Rx: FD02344B
2020.11.29 21:09:51.062 4: HM485d: Tx: FD03346100
2020.11.29 21:10:11.070 4: HM485d: Rx: FD02354B
2020.11.29 21:10:11.070 4: HM485d: Tx: FD03356100
2020.11.29 21:10:31.078 4: HM485d: Rx: FD02364B
2020.11.29 21:10:31.079 4: HM485d: Tx: FD03366100
2020.11.29 21:10:51.086 4: HM485d: Rx: FD02374B
2020.11.29 21:10:51.087 4: HM485d: Tx: FD03376100
2020.11.29 21:11:11.095 4: HM485d: Rx: FD02384B
2020.11.29 21:11:11.096 4: HM485d: Tx: FD03386100
2020.11.29 21:11:31.105 4: HM485d: Rx: FD02394B
2020.11.29 21:11:31.106 4: HM485d: Tx: FD03396100
2020.11.29 21:11:51.114 4: HM485d: Rx: FD023A4B
2020.11.29 21:11:51.115 4: HM485d: Tx: FD033A6100
2020.11.29 21:12:11.121 4: HM485d: Rx: FD023B4B
2020.11.29 21:12:11.122 4: HM485d: Tx: FD033B6100
2020.11.29 21:12:31.128 4: HM485d: Rx: FD023C4B
2020.11.29 21:12:31.129 4: HM485d: Tx: FD033C6100
2020.11.29 21:12:51.137 4: HM485d: Rx: FD023D4B
2020.11.29 21:12:51.137 4: HM485d: Tx: FD033D6100
2020.11.29 21:13:11.145 4: HM485d: Rx: FD023E4B
2020.11.29 21:13:11.146 4: HM485d: Tx: FD033E6100
2020.11.29 21:13:31.153 4: HM485d: Rx: FD023F4B
2020.11.29 21:13:31.154 4: HM485d: Tx: FD033F6100
2020.11.29 21:13:51.162 4: HM485d: Rx: FD02404B
2020.11.29 21:13:51.162 4: HM485d: Tx: FD03406100
2020.11.29 21:14:11.169 4: HM485d: Rx: FD02414B
2020.11.29 21:14:11.170 4: HM485d: Tx: FD03416100
2020.11.29 21:14:31.176 4: HM485d: Rx: FD02424B
2020.11.29 21:14:31.177 4: HM485d: Tx: FD03426100
2020.11.29 21:14:51.184 4: HM485d: Rx: FD02434B
2020.11.29 21:14:51.184 4: HM485d: Tx: FD03436100
2020.11.29 21:15:11.192 4: HM485d: Rx: FD02444B
2020.11.29 21:15:11.192 4: HM485d: Tx: FD03446100
2020.11.29 21:15:31.198 4: HM485d: Rx: FD02454B
2020.11.29 21:15:31.199 4: HM485d: Tx: FD03456100
2020.11.29 21:15:51.204 4: HM485d: Rx: FD02464B
2020.11.29 21:15:51.204 4: HM485d: Tx: FD03466100
2020.11.29 21:16:11.209 4: HM485d: Rx: FD02474B
2020.11.29 21:16:11.210 4: HM485d: Tx: FD03476100
2020.11.29 21:16:31.216 4: HM485d: Rx: FD02484B
2020.11.29 21:16:31.216 4: HM485d: Tx: FD03486100
2020.11.29 21:16:51.223 4: HM485d: Rx: FD02494B
2020.11.29 21:16:51.224 4: HM485d: Tx: FD03496100
2020.11.29 21:17:11.231 4: HM485d: Rx: FD024A4B
2020.11.29 21:17:11.231 4: HM485d: Tx: FD034A6100
2020.11.29 21:17:31.237 4: HM485d: Rx: FD024B4B
2020.11.29 21:17:31.238 4: HM485d: Tx: FD034B6100
2020.11.29 21:17:51.252 4: HM485d: Rx: FD024C4B
2020.11.29 21:17:51.252 4: HM485d: Tx: FD034C6100
2020.11.29 21:18:11.267 4: HM485d: Rx: FD024D4B
2020.11.29 21:18:11.268 4: HM485d: Tx: FD034D6100
2020.11.29 21:18:31.274 4: HM485d: Rx: FD024E4B
2020.11.29 21:18:31.275 4: HM485d: Tx: FD034E6100
2020.11.29 21:18:51.285 4: HM485d: Rx: FD024F4B
2020.11.29 21:18:51.286 4: HM485d: Tx: FD034F6100
2020.11.29 21:19:11.292 4: HM485d: Rx: FD02504B
2020.11.29 21:19:11.292 4: HM485d: Tx: FD03506100
2020.11.29 21:19:31.300 4: HM485d: Rx: FD02514B
2020.11.29 21:19:31.300 4: HM485d: Tx: FD03516100
2020.11.29 21:19:51.309 4: HM485d: Rx: FD02524B
2020.11.29 21:19:51.309 4: HM485d: Tx: FD03526100
2020.11.29 21:20:11.317 4: HM485d: Rx: FD02534B
2020.11.29 21:20:11.317 4: HM485d: Tx: FD03536100
2020.11.29 21:20:31.322 4: HM485d: Rx: FD02544B
2020.11.29 21:20:31.323 4: HM485d: Tx: FD03546100
2020.11.29 21:20:51.332 4: HM485d: Rx: FD02554B
2020.11.29 21:20:51.333 4: HM485d: Tx: FD03556100
2020.11.29 21:21:11.343 4: HM485d: Rx: FD02564B
2020.11.29 21:21:11.344 4: HM485d: Tx: FD03566100
2020.11.29 21:21:31.349 4: HM485d: Rx: FD02574B
2020.11.29 21:21:31.349 4: HM485d: Tx: FD03576100
2020.11.29 21:21:51.358 4: HM485d: Rx: FD02584B
2020.11.29 21:21:51.359 4: HM485d: Tx: FD03586100
2020.11.29 21:22:11.368 4: HM485d: Rx: FD02594B
2020.11.29 21:22:11.368 4: HM485d: Tx: FD03596100
2020.11.29 21:22:31.375 4: HM485d: Rx: FD025A4B
2020.11.29 21:22:31.376 4: HM485d: Tx: FD035A6100
2020.11.29 21:22:51.384 4: HM485d: Rx: FD025B4B
2020.11.29 21:22:51.385 4: HM485d: Tx: FD035B6100
2020.11.29 21:23:11.394 4: HM485d: Rx: FD025C4B
2020.11.29 21:23:11.395 4: HM485d: Tx: FD035C6100
2020.11.29 21:23:31.401 4: HM485d: Rx: FD025D4B
2020.11.29 21:23:31.402 4: HM485d: Tx: FD035D6100
2020.11.29 21:23:51.411 4: HM485d: Rx: FD025E4B
2020.11.29 21:23:51.412 4: HM485d: Tx: FD035E6100
2020.11.29 21:24:11.418 4: HM485d: Rx: FD025F4B
2020.11.29 21:24:11.419 4: HM485d: Tx: FD035F6100
2020.11.29 21:24:31.424 4: HM485d: Rx: FD02604B
2020.11.29 21:24:31.424 4: HM485d: Tx: FD03606100

Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 29 November 2020, 21:45:05
Mmm...
Das ist jetzt schwer zu sagen. Es gibt manchmal das Problem, dass sich die interne Message-Queue aufhängt. Das könnte hier das Problem sein, da ja FHEM im Prinzip mitbekommt, dass was reinkommt, und auch anfängt, was rauszuschicken.
Dann hilft FHEM durchstarten (also nicht nur der Daemon) und dann nochmal versuchen. Machst Du das mal? ...am besten ohne an der Hardware was zu ändern. D.h. es macht auch oft Probleme, wenn man im laufenden Betrieb irgendwas an den Kabeln fummelt.
Gruß,
   Thorsten


Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Fhemmichl am 01 Dezember 2020, 14:52:05
Also es hat jetzt wieder geklappt, so wie es aussieht müssen die Geräte erst angeschlossen werden wenn Fhem und der Daemon bereit sind
Vielen Dank für deine Infos.

Mfg
Michael
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: MarkusHiba am 22 Dezember 2020, 21:09:04
Hallo,

ich habe gerade folgende Perl Warnung im Log gefunden.
Dieser fehler taucht beim shutdown restart bei mir auf.
Hat das was zu bedeuten?


2020.12.22 20:56:23 1 : PERL WARNING: Use of uninitialized value in numeric eq (==) at FHEM/lib/HM485/Device.pm line 605.
2020.12.22 20:56:24 1 : PERL WARNING: Use of uninitialized value in string eq at FHEM/lib/HM485/Device.pm line 538.



2020.12.22 20:56:08 0: Featurelevel: 6
2020.12.22 20:56:08 0: Server started with 112 defined entities (fhem.pl:23373/2020-12-17 perl:5.024001 os:linux user:fhem pid:677)
2020.12.22 20:56:08 3: hm485: Start HM485d with command line: ./FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000001 --serialNumber SGW0123456 --device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AR0K55JV-if00-port0 --localPort 2000 --logfile ./log/HM485_LAN.log
2020.12.22 20:56:08 3: hm485: HM485d was started with PID:   706
2020.12.22 20:56:08 3: hm485: Connect to HM485d delayed for 5 seconds
2020-12-22_20:56:14 HMW_Generic_HBW0001317 configStatus: PENDING
2020.12.22 20:56:14 3: hm485: Warte auf Initialisierung Gateway
2020.12.22 20:56:14 3: Opening hm485 device localhost:2000
2020.12.22 20:56:14 3: hm485: connected to device localhost:2000
2020.12.22 20:56:14 3: hm485 device opened
2020.12.22 20:56:14 3: hm485: Lan Device Information
2020.12.22 20:56:14 3: hm485: Protocol-Version: 01
2020.12.22 20:56:14 3: hm485: Interface-Type: HMW-SOFT-GW
2020.12.22 20:56:14 3: hm485: Firmware-Version: 0.2.2
2020.12.22 20:56:14 3: hm485: Serial-Number: SGW0123456
2020.12.22 20:56:14 3: hm485: Initialize the interface
2020.12.22 20:56:15 2: AttrTemplates: got 216 entries
2020.12.22 20:56:16 3: HMW_Generic_HBW0001317: HM485_ProcessChannelState: hmwId = 608F4225 No Device Key
2020.12.22 20:56:19 3: hm485: Initialisierung von Modul 608F4225
2020-12-22_20:56:19 HMW_Generic_HBW0001317 configStatus: READING
2020-12-22_20:56:19 HMW_Generic_HBW0001317 D-serialNr: HBW0001317
2020.12.22 20:56:19 3: HMW_Generic_HBW0001317: Request config for device 608F4225
2020.12.22 20:56:19 3: HMW_Generic_HBW0001317: Lese Eeprom 608F4225
2020-12-22_20:56:19 HMW_Generic_HBW0001317 D-fwVersion: 3.06
2020-12-22_20:56:19 HMW_Generic_HBW0001317 D-deviceKey: HBW_SD6_MULTIKEY
2020-12-22_20:56:19 HMW_Generic_HBW0001317 configStatus: READING
2020.12.22 20:56:23 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at FHEM/lib/HM485/Device.pm line 605.
2020-12-22_20:56:24 HMW_Generic_HBW0001317 R-logging_time: 1.00
2020-12-22_20:56:24 HMW_Generic_HBW0001317 R-central_address: 00000001
2020-12-22_20:56:24 HMW_Generic_HBW0001317 R-own_address: 1620001317
2020.12.22 20:56:24 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/lib/HM485/Device.pm line 538.
2020-12-22_20:56:25 HMW_Generic_HBW0001317 configStatus: OK


Mit freundlichen Grüßen

MarkusHiba
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 22 Dezember 2020, 21:19:12
Hi,
es kann sein, dass Du eine veraltete Version von HM485 hast. ...zumindest stimmen die Zeilennummern der Warnungen nicht so ganz.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: MarkusHiba am 22 Dezember 2020, 21:21:05
update habe ich gemacht laut dem Wiki Eintrag.

https://wiki.fhem.de/wiki/HomeMatic_Wired (https://wiki.fhem.de/wiki/HomeMatic_Wired)
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 22 Dezember 2020, 21:25:46
Dann zeig mal, wie bei Dir die angemeckerten Code-Zeilen aussehen.
Gruß,
   Thorsten
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: MarkusHiba am 22 Dezember 2020, 21:33:13
Zeile: 538-541

if ( defined( $value->{'physical'}{'event'})
&& $value->{'physical'}{'event'}{'frame'} eq $retVal->{id} ) {
# found a match, return it
return $retVal;

Zeile 604 -608

# care for special value
if(defined($configHash->{logical}{special_value}) &&
                $retVal == $configHash->{logical}{special_value}{value}) {
            $retVal = $configHash->{logical}{special_value}{id};
        }; 


Edit: das ist mir aber nur bei shutdown restart aufgefallen
Titel: Antw:HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 23 Dezember 2020, 08:42:03
Hi,
in dem Fall sieht es für mich so aus, dass das XML zum Gerät nicht ganz korrekt ist. Wahrscheinlich kann man das ignorieren, aber wenn der Teil schon nicht stimmt, dann könnte es da auch andere Probleme geben. ...das ist aber mal wieder eine Sache für denjenigen, der das XML gemacht hat.
Gruß,
   Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 25 April 2024, 21:58:11
Hallo Thorstan, hallo Thomas,

ein Bekannter hat aktuell Homeassistent laugen. Er hat bei mir die HomeBrewWired laufe gesehen und würde das gerne bei sich auch anwenden, will aber bei Homeassistent bleiben. Die Frage wäre entsprechend folgendes:

. könnten die HomeBrewWireds auf Homeassistent laugen, kennt sich jemand damit aus?

LG
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 26 April 2024, 18:12:57
Hi,
das kommt darauf an, wie das angebunden ist. Theoretisch sind die HBW-Teile mit den HMW-Teilen kompatibel. Die XML-Dateien (also die Gerätebeschreibungen) sind auch soweit möglich bei HMW abgeschaut. Also ich würde mal sagen, die Chancen stehen gut wenn Homeassistant HMW überhaupt (direkt) unterstützt. Wenn das aber nur über eine CCU geht, dann müsste man die HBW-Dinger halt erst einmal in die CCU bringen.
...aber insgesamt würde ich sowas eher mal bei Homeassistant nachfragen.
Gruß,
   Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 28 April 2024, 10:05:40
Hallo Thorsten,

ich finde den Ansatz die HMW teile in die CCU zu bringen, unabhängig von HA sehr interessant. Aktuell läuft bei mir Raspberrymatic mit eine Antenne für heizkörperthermostate, wäre also nicht schlecht, die HMWs auch da zu intergrieren.

hat das jemand schon versucht?

Gruß
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 28 April 2024, 11:52:18
Hi,
da Du mich hier direkt ansprichst: Ich bin da nicht so ganz der richtige Ansprechpartner. Ich habe keine CCU und ich werde wahrscheinlich auch nie eine haben. Am Anfang hatte ich mal damit herumexperimentiert, aber das war mir dann zu kompliziert und zu viel Aufwand.
Hier ist ein Thread zu dem Thema, vielleicht hilft das ein bisschen:
https://forum.fhem.de/index.php?topic=124865.0
Gruß,
  Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 28 April 2024, 19:01:21
Hallo Thorsten,

danke noch mal für deine Tipps, werde ich mir das mal anschauen.

hab aktuell ein anderes Problem. hab heute meine Relais für mein Rollladen gewechselt (HBW-LC-BL-4)  die Relais sind leider low level trigger :((( wie kann ich das am Sketch anpassen?

Gruß
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 28 April 2024, 20:27:52
Hi,
ich vermute mal in https://github.com/ThorstenPferdekaemper/HBWired/blob/master/libraries/src/HBWBlind.cpp:
Überall wo digitalWrite(blindAct,... oder digitalWrite(blindDir,... steht, den Wert im zweiten Parameter umdrehen.
Gruß,
  Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 28 April 2024, 20:48:53
hab gefunden, perfekt. viel dank

lg
juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 28 April 2024, 21:00:02
oh mann heute ist nicht mein Tag :)
aktuelle Version von HBW-LC-BL-4 kann die Zeiten von öffnen und schließen nicht einhalten. alles was unter 30 Sekunden geht funktioniert, alles was über 30 Sekunden laufen muss, schaltet es aus, also bei eingestellte 33.40 Sekunden schaltet das HBW ca 13 Sekunden und bei 37.50 nur ca. 6 Sekunden. wie gesagt bis zu 30 Sekunden läuft alles sauber.

weiß jemand woran das Problem liegt?

Gruß
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 29 April 2024, 20:44:39
Hi,
war das auch vor Deinen Änderungen wegen der Relais schon so?
Ansonsten hat vielleicht loetmeister eine Idee...
Gruß,
  Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 29 April 2024, 22:03:20
Hi Thorsten,

vorher haben die Zeiten super funktioniert. Ich habe heute wieder die Version v0.5 ausprobiert mit neuen Relais und es funktioniert wieder.
Also Version v0.5 funktioniert, v0.66 leider nicht.

Die libraries natürlich entsprechend für die Version.

Ja, vielleicht hat loetmeister eine Idee?

LG
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 29 April 2024, 23:20:29
Hi,

Warum das mit der Laufzeit nicht funktioniert weiß ich Grad nicht... Hab aber auch keine Rollos die über 30 Sekunden laufen.
Würde empfehlen die aktuelle device XML zu nehmen.

Bzgl. Logik der Relais, das kann man in der header Datei anpassen https://github.com/ThorstenPferdekaemper/HBWired/blob/a1e7662f6d763b5d3917eb2157d56c7433b5fd1e/libraries/src/HBWBlind.h#L25

Gruß,
Thomas
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 30 April 2024, 22:29:29
Hallo Thomas,

funktioniert leider immer noch nicht. noch eine Idee woran das liegen kann?
solange nutze ich die Version v0,5. da läuft es.

morgen werde ich eine frische Arduino nehmen und ausprobieren.
ich melde mich morgen nochmal.

Gruß
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 30 April 2024, 23:22:17
Hi,

ja, habe das Problem gefunden... hatte übersehen das mit der abgeänderten Positionsberechnung (auch 0,5% Schritte zuzulassen) eine Variable nicht mehr groß genug war. Bis 32,7 Sekunden müsste es noch ok sein, darüber gabs dann einen Überlauf.

In
libraries/src/HBWBlind.h
unsigned int blindNextStateDelayTime;

in
unsigned long blindNextStateDelayTime;
ändern.
Dann sollte es ok sein.

https://github.com/loetmeister/HBWired/commit/049b5fcff28e4df04c73920e3313d91ee4e9b3d9#diff-d96ca9088ed9690fa513189741fd53463e86af758eab312d291a9f9dd896d0bb

Gruß,
Thomas
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 01 Mai 2024, 10:30:24
Hallo Thomas,

habe ich gerade getestet, das Problem mit 32,7 Sekunden besteht noch.

LG
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 01 Mai 2024, 23:29:27
Hi Juri,

ok, wäre auch zu einfach gewesen.  ::)
Hab es nun etwas anders gelöst, und im Debug modus überprüft. Die Default Zeit von 50 Sekunden klappt nun... also alles darunter sollte auf jeden Fall ok sein.
Mach mal diese Änderungen,
https://github.com/loetmeister/HBWired/commit/d7cbbbb15e5831b53ac9241bba1b2d1dc47222ea
bzw. lade die aktuellen HBWBlind.h / HBWBlind.cpp herunter. (https://github.com/loetmeister/HBWired/tree/master/libraries/src)

Gruß,
Thomas
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 02 Mai 2024, 10:23:10
Hallo Thomas,

Danke läuft perfekt  :)

Gruß
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 07 Mai 2024, 17:15:03
Hallo Zusammen,

ich schonwieder :)

Ich würde gerne die Geräteadresse ändern bevor ich das Gerät an Fhem anbinde.
hat jemand schon eine Lösung?

LG
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 07 Mai 2024, 21:06:59
Hi,

warum denn vorher ändern? Ist doch einfach neue Geräte einmalig in FHEM mit einer Adresse zu versorgen.. s.u.
Die Standardadresse 0x42FFFFFF sollte natürlich bei keinem Gerät dauerhaft genutzt werden  ;)

ZitatNeue "Homematic Wired Homebrew" Hardware in Betrieb nehmen:
  1. Neues Gerät flashen (ISP) oder per USB auf Arduino übertragen.

  2. Adresse per FHEM setzen: raw-Befehl an das Device schicken 406142000017
    ...setzt die Adresse auf 0x42000017

  3. Altes Gerät in FHEM löschen, "config" Taster kurz drücken - Gerät sollte mit neuer
    Adresse angelegt werden. ("config" Taster Betätigung nicht nötig mit Lib ab Nov. 2020)

Gruß,
Thomas
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 07 Mai 2024, 23:01:17
Hi Thomas,

die Änderung in FHEM ist mir schön von der Anleitung bekannt. wollte das schön ändern bevor das gerät mir FHEM verbunden ist.
gibt es eine alternative möglichkeit?

LG
Juri
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: Thorsten Pferdekaemper am 09 Mai 2024, 13:29:08
Hi,
in libraries/src/HBWired.cpp gibt's eine Methode HBWDevice::readAddressFromEEPROM. Dort wird als Default 0x42FFFFFF reingeschrieben. Das kannst Du ändern bevor Du das ganze kompilierst und auf das Gerät schiebst.
Das geht natürlich davon aus, dass das EEPROM vorher "leer" ist.
Du kannst wahrscheinlich auch in HBWDevice::getOwnAddress hart codiert die gewünschte Adresse zurückgeben. Dann kannst Du sie halt später nicht mehr ändern.
Gruß,
   Thorsten
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: loetmeister am 10 Mai 2024, 21:36:04
Oder ein separaten Arduino sketch, den man vorher einmalig überträgt um die Adresse zu setzen... ich hatte mal einen Sketch zum löschen des EEPROM, so wie es ein HBW Device machen würde erstellt, das könnte man um das schreiben der neuen Geräte Adresse anpassen. (Funktion von Thorsten erwähnt).
Feste Geräte Adresse im Code fänd ich nicht so praktisch... aber jeder wie ers braucht. ;-)

/*
 * EEPROM Clear
 *
 * This example code is in the public domain.
 */

#include <EEPROM.h>

void setup() {
  // initialize the LED pin as an output.
  pinMode(13, OUTPUT);
 
  /***
    Iterate through each byte of the EEPROM storage.

    Larger AVR processors have larger EEPROM sizes, E.g:
    - Arduno Duemilanove: 512b EEPROM storage.
    - Arduino Uno:        1kb EEPROM storage.
    - Arduino Mega:       4kb EEPROM storage.

    Rather than hard-coding the length, you should use the pre-provided length function.
    This will make your code portable to all AVR processors.
  ***/

  for (int i = 0 ; i < E2END - 4 ; i++) {
    EEPROM.update(i, 0xFF);
  }

  // turn the LED on when we're done
  digitalWrite(13, HIGH);
}

void loop() {
  /** Empty loop. **/
}
Titel: Aw: HomeBrewWired - Diskussion zum Tutorial
Beitrag von: aperoap am 11 Mai 2024, 13:46:09
Hallo Jungs,

vielen Lieben Dank, wie immer seit ihr sehr Hilfsreich.

LG
Juri