FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: a_quadrat am 08 März 2021, 09:15:40

Titel: HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 08 März 2021, 09:15:40
Hallo Zusammen,

ich möchte mir ein Modul mit analogem Input und Output mit Off-Timer zusammenstellen. Gibt es schon HBW-Module in denen diese Klassen vorhanden sind, an denen ich mich orientieren kann?

VG Andreas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 08 März 2021, 23:45:54
Hi,

HBW-LC-Sw-8_AdvancedPeering nutzt HBWSwitchAdvanced.h.

Und HBW-LC-Bl-4 HBWAnalogIn.h für die Messung der Busspannung.

Link zur Lib un den Devices... für die, die es nicht kennen ;-)
https://github.com/ThorstenPferdekaemper/HBWired

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 09 März 2021, 21:01:11
Hallo Thomas,

danke für die Info. Ich habe mir gleich ein Test-Device angelegt und bin auch schon auf die erste Frage gestoßen. Wie kann ich die Ausschaltzeit mit übergeben? Oder habe ich da was falsch verstanden?

VG Andreas

Edit: ich habe es gefunden. es geht scheinbar nur in den peering Einstellungen. Ich hatte gehofft, dass man es in den Kanaleinstellungen einstellen kann.
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 10 März 2021, 18:49:17
Hi,

genau, über peerings. So kann man flexibel festlegen wie lange ein Kanal eingeschaltet werden soll, etc.
"HBWLinkSwitchAdvanced.h" implementiert dies.
Es sollte auch gehen, das peering mit einem virtuellen FHEM device/Kanal anzulegen.

Was willst du denn erreichen?

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 11 März 2021, 10:11:10
Hi,

mein aktuelles Projekt ist eine automatisierte Pooldesinfektionsanalage. Dafür würde ich gern die Ausschaltzeit mit dem Einschaltbefehl mitgeben, damit nicht, bei einem Kommunikationsfehler, der ganze Chlorbehälter in den Pool gepumpt wird  ;).  Eine zweite Möglichkeit wäre, eine maximale Einschaltdauer vorher festzulegen - eine Art Sicherheitsrelais.
Hast du eine Idee, wie man das mit den vorhandenen Möglichkeiten umsetzen kann?

VG Andreas

Edit: Ich habe mir eine virtuelle Taste angelegt, aber das Modul reagiert nicht auf dieses Signal. Anbei einmal der Mitschnitt am Modul beim drücken der virtuellen Taste:


R: FD:42:00:00:30:1C:00:00:00:01:06:4B:01:01:2C:E2:92
T: FD:00:00:00:01:59:42:00:00:30:02:27:78
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 11 März 2021, 14:43:56
Ok. Das würde so mit den bestehenden device und über peerings funktionieren.
Du kannst ja einfach mal das device HBW-LC-Sw-8_AdvancedPeering nehmen und die Peering Funktion ausprobieren.
In dem Fall besteht natürlich die Möglichkeit (versehentlich) einen Ausgang dauerhaft einzuschalten. Wenn dir das zu risikoreich ist, dann müsstest du die einschaltdauer als Kanal Option programmieren.

Ich wollte mir etwas ähnliches bauen, um eine Klingel für einen kurzen Moment einzuschalten. Da würde ich mich auch nicht auf das richtige peering verlassen wollen.
Man könnte dann einschalt- und pausendauer festlegen.

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 11 März 2021, 15:13:41
Mir fällt gerade ein, dass man dafür das Blind Modul modifizieren könnte. Da kann man eine maximale Einschaltdauer einstellen und könnte sogar eine individuelle Zeit übergeben, mit der Level Funktion. Oder spricht da was dagegen?

VG Andreas

Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 11 März 2021, 15:51:53
Wäre nicht meine erste Wahl... Aber da kann man sich die konfig Parameter abschauen.  :D
Die link (peering) Klasse könnte man aber vermutlich unverändert nutzen. EDIT: Eher nicht.... es wird der Öffnungsgrad (0-100%) übergeben... die Einschaltzeit ergibt sich dann aus der eingestellten Laufzeit. Da blickt man ja nicht durch  ;D
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 11 März 2021, 16:47:37
Du meinst zum konfigurieren der Zeiten? Hast du eine Anleitung was welcher Parameter in der Link Klasse bewirkt? Außer blinken habe ich nichts hingbekommen  ;).

Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 11 März 2021, 17:57:37
Sorry, HBWLinkBlindSimple nutzt nur den Öffnungsgrad (0-100%), bzw. ein paar weitere Werte zum Stoppen, Toggle, etc.

Ich würde HBWSwitch nehmen und im loop() / set() einen check einbauen, ob der Kanal ein- oder ausgeschaltet werden muss, etc.
+ HBWLinkSwitchSimple für Peerings, falls gewünscht.


ZitatEdit: Ich habe mir eine virtuelle Taste angelegt, aber das Modul reagiert nicht auf dieses Signal. Anbei einmal der Mitschnitt am Modul beim drücken der virtuellen Taste:
Das Modul ist ein "HBW-LC-Sw-8"? Hast du ein Bespiel wie du die Taste in Fhem angelegt und verknüpft hast? 4B ist ein Tastendruck, das sieht ok aus.
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 11 März 2021, 18:56:46
ja, das Modul ist ein HBW-LC-Sw-8_AdvancedPeering. Ich habe meine Homematic Devices alle auf einer CCU/raspberrymatic und in FHEM über das Modul HMCCU eingebunden, d.h. das peering und die virtuelle Taste befindet sich alles auf der CCU. Ich habe auch versucht meine anderen HBW-Module mit der virtuellen Taste zu peeren - funktioniert auch nicht. Reale Tasten funktionieren egal ob HBW-> HMW oder umgekehrt.

Fehlt hier etwas in dem Signal "R: FD:42:00:00:30:1C:00:00:00:01:06:4B:01:01:2C:E2:92" ?  "42:00:00:30" ist das HBW-LC-Sw-8 und "00:00:00:01" die Zentrale.

Zitat
Ich würde HBWSwitch nehmen und im loop() / set() einen check einbauen, ob der Kanal ein- oder ausgeschaltet werden muss, etc.
+ HBWLinkSwitchSimple für Peerings, falls gewünscht.

Das habe ich noch nicht verstanden. Ich möchte doch eine Ausschaltzeit mitgeben.
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 12 März 2021, 00:20:37
Hi Andreas,

Für mich sieht das korrekt aus. Der Empfang wird ja auch Quittiert.
Zitat"R: FD:42:00:00:30:1C:00:00:00:01:06:4B:01:01:2C:E2:92" ?  "42:00:00:30" ist das HBW-LC-Sw-8 und "00:00:00:01" die Zentrale.
4B:01:01 ist ein Tastendruck, von Kanal 2 an Kanal 2 (Kanäle fangen bei 0 an)
Zeigt dir die Konfiguration von HBW-LC-Sw-8 ein peering an?
(FHEM zeitg das im Device an, z.B. peer_act_0   channel_02 → HBW_LC_Sw_8_...)


ZitatIch möchte doch eine Ausschaltzeit mitgeben.
Ok, ich hatte verstanden es wäre egal ob als Peering Parameter oder im Kanal eingestellt.

Wäre denn die Einschaltdauer der "Pooldesinfektionsanalage" immer gleich?

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 12 März 2021, 08:29:34
Hallo Thomas,

Zitat
Ok, ich hatte verstanden es wäre egal ob als Peering Parameter oder im Kanal eingestellt.

Wäre denn die Einschaltdauer der "Pooldesinfektionsanalage" immer gleich?

Gleich im Kanal eine feste Zeit einstellen oder beim Start mit übergeben wär schon schöner. Besser wär wenn man beides machen könnte, d.h. eine maximale Zeit fest einstellen und beim Start eine Ausschaltzeit mit übergeben. Wobei die feste Zeit immer übersteuert.
Für die Poolanlage würde eine feste Zeit reichen, aber mit individueller Zeit könnte es auch für andere Sachen nutzen, wie z.B. zur Steuerung einer Bewässerungsanlage - dort hat man meist unterschiedliche Bewässerungszeiten.

Zitat
4B:01:01 ist ein Tastendruck, von Kanal 2 an Kanal 2 (Kanäle fangen bei 0 an)
Zeigt dir die Konfiguration von HBW-LC-Sw-8 ein peering an?
(FHEM zeitg das im Device an, z.B. peer_act_0   channel_02 → HBW_LC_Sw_8_...)

Ja, die Konfiguration wird angezeigt und ich kann sie auch bearbeiten. Ich zeichne mal ein peering mit realem Taster auf, vielleicht hilft das weiter.


R: FD:42:00:00:30:78:00:00:96:F3:06:4B:03:00:F0:07:98
S: 00 F1000A0003D1F03C
T: FD:00:00:96:F3:19:42:00:00:30:02:A8:F4


So sieht's mit funktionierendem peering aus...

VG Andreas

Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 14 März 2021, 10:43:14
Zitat von: a_quadrat am 12 März 2021, 08:29:34
Gleich im Kanal eine feste Zeit einstellen oder beim Start mit übergeben wär schon schöner. Besser wär wenn man beides machen könnte, d.h. eine maximale Zeit fest einstellen und beim Start eine Ausschaltzeit mit übergeben. Wobei die feste Zeit immer übersteuert.
Für die Poolanlage würde eine feste Zeit reichen, aber mit individueller Zeit könnte es auch für andere Sachen nutzen, wie z.B. zur Steuerung einer Bewässerungsanlage - dort hat man meist unterschiedliche Bewässerungszeiten.
Ok. Dafür wären eigentlich die Peeringparamter für da :) ... Schade das es nicht geht.
Eine feste Zeit im Kanal anzugeben geht bisher nicht - aber wie du selbst sagst, um es für alle möglichen Zeitgesteuerten Aufgaben zu nutzen gibt es ja die peering Parameter.
In Fällen wo unter keinen Umständen ein dauerhaftes Einschalten stattfinden darf, könnte man auch ein Zeitrelais (Treppenlicht Zeitschalter) nehmen. (welches dann über ein Homematic Gerät eingeschaltet wird - aber selbstständig abschaltet)


ZitatJa, die Konfiguration wird angezeigt und ich kann sie auch bearbeiten. Ich zeichne mal ein peering mit realem Taster auf, vielleicht hilft das weiter.


R: FD:42:00:00:30:78:00:00:96:F3:06:4B:03:00:F0:07:98
S: 00 F1000A0003D1F03C
T: FD:00:00:96:F3:19:42:00:00:30:02:A8:F4


So sieht's mit funktionierendem peering aus...

Sieht für mich beides ok aus. Glaube es war einmal ein kurzer und ein langer Tastendruck, sollte aber in der Funktion keinen Unterschied machen (außer du hast long press im peering deaktiviert?)

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 14 März 2021, 16:43:26
Hi,

Zitat
In Fällen wo unter keinen Umständen ein dauerhaftes Einschalten stattfinden darf, könnte man auch ein Zeitrelais (Treppenlicht Zeitschalter) nehmen. (welches dann über ein Homematic Gerät eingeschaltet wird - aber selbstständig abschaltet)

ja, wird wohl die beste Lösung sein. Trotzdem wäre es schön, wenn wir das peering mit einem virtuellen Kanal hinbekommen könnten. Funktioniert es bei dir mit einem virtuellen Kanal? 

Zitat
Sieht für mich beides ok aus. Glaube es war einmal ein kurzer und ein langer Tastendruck, sollte aber in der Funktion keinen Unterschied machen (außer du hast long press im peering deaktiviert?)

Es war beides ein kurzer Tastendruck. Bei dem zweiten Auszug, war es mit einem echten Taster. Was bedeutet das "S: 00 F1000A0003D1F03C"? Das ist der einzige Unterschied den ich sehe.

VG Andreas


Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 14 März 2021, 17:31:53
Hallo,

ich hatte in FHEM die Tage mal versucht einen virtuellen Taster "dummy Typ" anzulegen... glaube das was aber nicht der richtige Ansatz um Peerings zu ermöglichen. Ich hatte auch vor das zu nutzen, mich aber noch nicht genauer damit beschäftigt.

ZitatWas bedeutet das "S: 00 F1000A0003D1F03C"? Das ist der einzige Unterschied den ich sehe.
S:.. bedeutet, es wurde die set() Funktion aufgerufen wurde - für Kanal 0 in diesem Fall. So sollte es sein, wenn ein passenden Peering gefunden wurde.
Der Rest sind alle peering Parameter + Tastendruckzähler. Die Reichenfolge/Bedeutung steht in "HBWLinkSwitchAdvanced.h".


PS: Für meine Klingelanwendung habe ich erst mal eine monostabile Kippstufe (Monoflop) genommen, da kann ich dann für den Bruchteil einer Sekunde, bis ca. 2 Sekunden einstellen. Zum erneuten triggern muss das Eingangssignal erst abgeschaltet werden. So ist das erst mal am einfachsten...  ::)

Gruß,
Thomas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: a_quadrat am 15 März 2021, 11:07:29
Hallo Thomas,

danke für deine Unterstützung, ich werde es über Zeitrelais begrenzen. Schade, dass das Peering mit virtuellen Tasterkanälen nicht funktioniert.

VG Andreas
Titel: Antw:HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn
Beitrag von: loetmeister am 16 März 2021, 21:23:44
Hi Andreas,

scheint als ob mit FEHM + Homematic wired kein Peering mit vituellen Devices/Kanälen möglich ist.
Nur mit VCCU / CUL_HM
https://wiki.fhem.de/wiki/Homematic_Peering_Beispiele#Virtuelle_Entities
hatte das wohl anders in Erinnerung... :)
Beutet aber auch, ich muss mir eine andere Lösung überlegen oder mir RaspberryMatic / VCCU testen.. vermutlich mit dem selben Ergebnis was du hattest  ???


EDIT: Noch mal auf Anfang...  ::)
Jetzt weiß ich wo ich die Funktion gesehen hatte..... commandref - hätte ich mal früher rein schauen sollen  :-[
/fhem/docs/commandref.html#HM485
ZitatVirtual central devices
It is possible to create virtual ("central") devices in FHEM, which have 50 "key" channels. This means that there is no real (physical) device, but the channels appear in FHEM like real channels and they can be peered with actor channels. This includes using all peering configurations as well as the set ... press_short and set ... press_long commands.
In most cases, a virtual device is created like this:
define <name> HM485 00000001
See the documentation for define and set for further details.

Funktioniert ohne Probleme... man muss nur einmal ein "getConfig" machen, wenn man ein neues peering angelegt hat, sonst kann man die peering Parameter nicht ändern...

channel_08    HBW_LC_Sw_8_HBW7296375_08
peer_sen_0    channel_03 ← vitual_dev_1_02


Short press (onTime 20 Sekunden) im Serial Monitor:
21:54:27.912 -> R: FD:42:00:00:77:18:00:00:00:01:0A:CB:01:02:18:00:00:00:01:07:08
21:54:27.912 -> S: 02 F1001400FFD1F006
21:54:27.912 -> T: FD:00:00:00:01:19:42:00:00:77:02:48:90
21:54:27.951 -> chan:02 state:03->00
21:54:27.951 -> chan:02 state:00->0A


EDIT2:
Zitat von: a_quadrat am 11 März 2021, 10:11:10
Edit: Ich habe mir eine virtuelle Taste angelegt, aber das Modul reagiert nicht auf dieses Signal. Anbei einmal der Mitschnitt am Modul beim drücken der virtuellen Taste:


R: FD:42:00:00:30:1C:00:00:00:01:06:4B:01:01:2C:E2:92
T: FD:00:00:00:01:59:42:00:00:30:02:27:78


Hab noch mal genauer geschaut was der Unterschied ist.. es gibt einen, aber warum es nicht funktioniert weiß ich noch nicht.
Dein RaspberryMatic (?) schickt 0x4B Key-Event - wie es auch bei einem echten Tastendruck/peering der Fall ist.
4B:01:01:2C

FEM schickt einen 0xCB Key-Sim-Event für das peering mit dem virtuellen Device:
CB:01:02:18:00:00:00:01

0x4B und 0xCB wird aber im HBW Device gleich behandelt... Warum noch die Daten "00:00:00:01" mit gesendet werden weiß ich nicht, sie werden aber nicht beachtet.

Gruß,
Thomas