Readings nach FHEM schicken

Begonnen von timmib, 25 Januar 2021, 12:33:18

Vorheriges Thema - Nächstes Thema

rudolfkoenig

ZitatKeine Ahnung warum und wie das zu unterbinden ist.
Womoeglich helfen dabei meine Hinweise im Antwort #35 und #51.

carlos

Die hatte ich gelesen und auch verstanden.
Hat leider nicht funktioniert.
Jetzt habe ich das noch mal so umgesetzt und FHEM durch gestartet.
Was soll ich sagen, jetzt funktionierts.
Danke, wieder was gelernt.
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

M.Schulze

Zitat von: rudolfkoenig am 02 Februar 2021, 10:19:46

Ich bin bereit Dispatch anzupassen, wenn jemand mir klarmacht, warum der vorgeschlagene Weg (Dispatch mit der von dem Benutzer definierten IODev Instanz aufzurufen), nicht praktikabel ist.

1. die 2. Stufe sollte den aktuellen Verbindungs-hash bekommen. (Es ist  bei der Server Programmierung so üblich das die Verbindung durchs Programm getragen wird)
2. die 2. Stufe kann mit der vom Benutzer definierten IODev Instanz gar nichts nützliches anfangen. Sie wäre auch einfach zu bekommen über $defs{$hash->{SNAME}}. Ginge das umgekehrt auch so einfach? Wie? Addvals? Oder gar suchen?

Bei mir ist es so

1. Stufe: Server + Protokoll Parser, speichert Parsing Ergebnis aktuell temporär im jeweiligen Verbindungs-Hash

dann Dispatch
    Dispatch($verbindungs-hash, $verbindungs-hash->{'txscheme'}, \%addvals); # Beispiel txscheme=s0, also ausschließlich s0 und nicht das umfangreiche Parsing Ergebnis des Protokolls das im Verbindungshash verbleibt. Ist halt aktuell so.


2. Stufe:
Zugriff auf Parsing-Ergebnis im Verbindungs-Hash, Schema spezifische Aktivitäten auf Basis der Nutzdaten, Vorbereitung Daten für Response ...


1. Stufe: Senden Response gemäß Protokoll über Verbindungs-Hash

MfG

Muss ich das Licht aus machen?

rudolfkoenig

Zitat2. die 2. Stufe kann mit der vom Benutzer definierten IODev Instanz gar nichts nützliches anfangen. Sie wäre auch einfach zu bekommen über $defs{$hash->{SNAME}}. Ginge das umgekehrt auch so einfach? Wie? Addvals? Oder gar suchen?
Offensichtlich wird der Inhalt meiner Beitraege konsequent ignoriert.

Wenn ein logisches Modul auf die Verbindungsinstanz (oder auf das benutzerdefinierte IODev) zugreift, dann ist es nicht mehr moeglich alternative IODevs  anzubieten. Etliche Hilfsmodule wie FHEM2FHEM oder STACKABLE verlassen sich auch darauf, dass die Kommunikation ausschliesslich ueber Dispatch und IOWrite laeuft.

Um die Antwort konkret zu formulieren: die zweite Stufe greift gar nicht auf das IODev zu.