HBW Modul mit HBWSwitchAdvanced und HBWAnalogIn

Begonnen von a_quadrat, 08 März 2021, 09:15:40

Vorheriges Thema - Nächstes Thema

a_quadrat

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

loetmeister

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

a_quadrat

#2
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.

loetmeister

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

a_quadrat

#4
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

loetmeister

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

a_quadrat

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


loetmeister

#7
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

a_quadrat

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  ;).


loetmeister

#9
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.

a_quadrat

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.

loetmeister

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

a_quadrat

#12
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


loetmeister

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

a_quadrat

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