Frage zu FHEM2FHEM: Readings in notify ermitteln

Begonnen von Guest, 13 Dezember 2012, 23:14:56

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo zusammen,

ich bin mal wieder etwas am basteln und wollte folgendes durchführen.

Auf meiner FritzBox läuft ein FHEM welches nur minimal konfiguriert ist um
FB_CALLMONITOR auszuführen (warum das umbedingt auf der FritzBox ist, liegt
an den aktuellen Entwicklungsarbeiten meinerseits an diesem Modul). Auf
einem Laptop läuft meine eigentliche FHEM Installation mit allem drum und
drann.

Nun wollte ich die Events und Readings von dem FB_CALLMONITOR auf der
FritzBox mittels FHEM2FHEM in mein großes FHEM schubsen um eben dort die
Werte weiterzuverarbeiten. Aktuelle Config:


*Auf der FritzBox:*

define FritzBox FB_CALLMONITOR 192.168.179.1
attr FritzBox group Telefon
attr FritzBox local-area-code 02331
attr FritzBox reverse-search all
attr FritzBox reverse-search-cache 1
attr FritzBox reverse-search-cache-file /var/media/ftp/fhem/cachefile
attr FritzBox room Flur


define TELNET telnet 7072 global
attr TELNET room hidden


*Auf dem Laptop*
*
*
*
*
*fhem.cfg*
define FB_FHEM FHEM2FHEM 192.168.179.1:7072 LOG:.*

define Telefon_notify notify FritzBox:event.* {LautstaerkeRegelung();;}


*Utils.pm*
*
*
sub LautstaerkeRegelung()
{
  my $event = ReadingsVal("FritzBox","event","");
  my $internal_number = ReadingsVal("FritzBox","internal_number","");

......

}


Nun ist die folgende Situation: Das Notify auf dem Laptop wird entsprechend
korrekt getriggert, sobald auf der FritzBox was passiert. Allerdings ist
nun die Frage, wie kann ich an die Readings rankommen? Ein FileLog würde
diese ja einfach nur wegschreiben, aber ich benötige die Readings on Demand
um direkt damit weiterzuarbeiten. Da das Device FritzBox ja aber auf dem
Laptop nicht definiert ist, kann das ja nicht funktionieren.

Wie kann man also via Notify an all die übertragenen Readings rankommen?

Vielen Dank

Gruß
Markus

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Wie kann man also via Notify an all die übertragenen Readings rankommen?

Welcher Reading als event verschickt wird, haengt vom Modul ab, FHEM2FHEM in
Logmode uebertraegt aber alle events.  Falls man in diesem Fall auf der
Empfaengerseite in einem notify auf vergangene Events zurueckgreifen will, muss
man diese zwischenspeichern, z.Bsp. in %data, oder einem dummy. %data ist
temporaer (d.h. wird nicht in fhem.cfg gespeichert).

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Rudi,

das ist natürlich schade. Gerade beim CallMonitor bin ich darauf
angewiesen, dass alle notwendigen Readings zum Triggerzeitpunkt vorhanden
sind. Aktuell wird ja bei jedem einzelnen ReadingUpdate ein Trigger
angestoßen.

Ich persönlich würde es toll finden wenn das oder die Devices, welche über
FHEM2FHEM reported werden sollen, ebenfalls als Dummy-Device in der großen
FHEM Umgebung zu sehen sein sollte (so sieht man direkt, welche Devices
übertragen werden und was sie so für Werte geliefert haben). In diesem
Dummy Device sollten dann alle Readings ersichtlich sein die das Device
generiert hat. Ebenfalls sollte dann dieses Dummy Device getriggert werden,
genauso wie das echte Device auf der kleinen Umgebung. Dazu müsste man
allerdings via "inform on" mitgeteilt bekommen, sobald ein Event für ein
Device getriggert wurde.

Mein Vorschlag währe daher folgender

1. Bekanntgabe von Triggern via inform on: z.B. "triggered "

FritzBox event: ring
FritzBox external_number: 01701122334
FritzBox external_name: Handy
FritzBox internal_number: 1234567
FritzBox external_connection: SIP0
FritzBox call_id: 0
triggered FritzBox

2. Anpassen von FHEM2FHEM um Dummy-Devices anzulegen und die Readings zu
parken, bis es getriggert wird (evtl. direkt mit readingsBulkUpdate).


Durch die Erkennung, wann ein Trigger durchgeführt wurde, könnte FHEM2FHEM
die Readings entgegennehmen und in ein Dummy-Device schmeißen was ebenfalls
FritzBox heißt (oder remote_FritzBox). Sobald ein Trigger eintrifft und
erkannt wird (also triggered und der Regexp auf passt),
dann triggere das Dummy-Device.

Was hälst du von dem Vorschlag? Aktuell arbeitet ja FHEM2FHEM bereits sehr
ähnlich. Es nimmt ein Reading entgegen, erstellt ein dummy device und
triggert es aber sofort bei jedem einzelnen Reading.


 Ich würde mich auch bereiterklären das umzusetzen.

Viele Grüße

Markus

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

Hallo Markus,

> Ich persönlich würde es toll finden wenn das oder die Devices, welche über
> FHEM2FHEM reported werden sollen, ebenfalls als Dummy-Device in der großen
> FHEM Umgebung zu sehen sein sollte (so sieht man direkt, welche Devices
> übertragen werden und was sie so für Werte geliefert haben).

Du hast doch dazu gerade einen netten Vorschlag gemacht, als Routine in
99_myUtils.pm. Ich finde sowas muss nicht ins FHEM2FHEM, wenn es ganz
"professionell" sein soll, dann kann man dafuer auch ein Modul bauen.

Waere nur bei FHEM2FHEM Verbindungen der Sorte LOG noetig, fuer RAW
funktioniert das bereits automatisch.

Gruss,
  Rudi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com