[gelöst] fhem2fhem: rückmeldung remote fhem beim schalten

Begonnen von tonyf, 17 Februar 2015, 22:42:43

Vorheriges Thema - Nächstes Thema

tonyf

hallo community,

ich habe 2 fhem installationen, pimäres fhem auf einem nuc - master - und ein sekundäres fhem auf einem raspi - slave
der master übernimmt zentrale aufgaben, wie wetter- und tfa's temperatur-daten sammeln und ein cul ansteuern.
An dem slave hängt ein relais board gesteuert über gpio's.

der master füttert den slave mit aufgaben, z.b. küchenlüfter ein/ausschalten. dazu habe ich folgendes definiert:

auf dem master:

define ventilation dummy
attr ventilation room FHEM2FHEM

define Kueche dummy
attr Kueche devStateIcon on:vent_ventilation_level_3:off off:vent_ventilation:on
attr Kueche eventMap on:on off:off
attr Kueche group Belueftung
attr Kueche room Belueftung
attr Kueche webCmd on:off

define kueche_action notify Kueche.* { \
my $action_value = ReadingsVal("Kueche","state","");;\
if ($action_value eq "on") { \
fhem ("set ventilation set Kueche on");; } \
if ($action_value eq "off") { \
fhem ("set ventilation set Kueche off");; } \
}


auf dem slave:

define master FHEM2FHEM nuc.fritz.box:7072 LOG:ventilation.*
define n_ventilation notify ventilation.* {Log 3, "$NAME: $EVENT";;fhem("$EVENT")}

define Kueche RPI_GPIO 17
attr Kueche direction output
attr Kueche devStateIcon on:vent_ventilation_level_3:off off:vent_ventilation:on
attr Kueche eventMap on:on off:off
attr Kueche group Belueftung
attr Kueche room Belueftung
attr Kueche webCmd on:off


dadurch bekomme ich auf beiden anklickbars device "kueche".
wenn ich auf dem meister den icon anklicke - oder auch den befehl "set ventilation set Kueche on" absetzte - , dann erscheint das event sofort auf dem slave, der icon ändert sich und der lüfter geht an. es klappt alles einwandfrei. 

da ich aber normalerweise nur den master im auge habe, möchte ich mich vergewissern, dass der slave tatsächlich geschaltet hat.
wie kann ich vom slave eine rückmeldung bekommen, dass dieser die aktion erfolgreich durchgeführt hat - oder auch nicht - ?

danke & gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

rudolfkoenig

Du muesstest eine zweite FHEM2FHEM Instanz, diesmal auf dem master definieren, und auf Events des slaves auf dem master reagieren.
Bei FHEM2FHEM:RAW ist die Rueckmeldung (falls vom Protokoll unterstuetzt) mit dabei, allerdings muss das Modul des Schalters FHEM2FHEM:RAW unterstuetzen, und das ist bei RPI_GPIO nicht der Fall.

justme1968

schau dir mal den thread hier an: http://forum.fhem.de/index.php/topic,23638.msg169368.html#msg169368 und http://forum.fhem.de/index.php/topic,23638.msg169337.html#msg169337.

so geht es auch im log modus wenn du eine readingsProxy zu hilfe nimmst.

es gibt auch eine lösung die auf cloneDummy basiert.

da du für beide richtungen jeweils ein fhem2fhem device hast musst nur darauf achten das die regex nicht so generell sind das du eine endlosschleife bekommst.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

tonyf

hallo Rudi,

vielen dank ...
ich habe die definition auf dem slave etwas geändert- testweise "Kuechev" anstelle "Kueche"

define Kuechev dummy
attr Kuechev devStateIcon on:vent_ventilation_level_3:off off:vent_ventilation:on
attr Kuechev eventMap on:on off:off
attr Kuechev group Belueftung
attr Kuechev room Belueftung
attr Kuechev webCmd on:off


dann zweite fhem2fhem instanz auf dem master definiert

define slave FHEM2FHEM ventilation.fritz.box:7072 LOG:Kuechev.*
define n_Kuechev notify Kuechev.* {Log 3, "$NAME: $EVENT";;fhem("$EVENT")}


wenn ich jetzt auf dem master den befehl "set ventilation set Kueche off" absetze, bekomme ich im event-monitor auf dem master tatsächlich eine endlose schleife.

2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:53 dummy ventilation set Kuechev off
2015-02-18 19:51:53 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off
2015-02-18 19:51:54 dummy ventilation set Kuechev off
2015-02-18 19:51:54 dummy Kuechev off


mache ich evtl. hier was falsch ?
der vorschlag vom Andre hört sich auch sehr interessant an.

gruss
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

rudolfkoenig

Kuechev war ungluecklich gewaehlt, da dafuer
define kueche_action notify Kueche.* auch anspringt.

tonyf

Zitat von: rudolfkoenig am 18 Februar 2015, 20:23:31
Kuechev war ungluecklich gewaehlt, da dafuer
define kueche_action notify Kueche.* auch anspringt.

sorry, komme nicht ganz mit

habe davor zugleich auch den notify angepasst:

define kueche_action notify Kueche.* { \
my $action_value = ReadingsVal("Kueche","state","");;\
if ($action_value eq "on") { \
fhem ("set ventilation set Kuechev on");; } \
if ($action_value eq "off") { \
fhem ("set ventilation set Kuechev off");; } \
}


define kueche_action notify Kueche.* bezieht sich auf dem lokalen (master) device Kueche

gruss
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

tonyf

hallo Andre,

dir auch danke ..
ich habe mir den thread angeschaut und gleich paar sachen ausprobiert.
mit meinem obigen coding erreiche ich doch das gleiche wie readingsproxy - auf dem master habe ich auch ein device, der fern-schaltungen triggert.
liege ich richtig ?

gruss
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

tonyf

#7
hi zusammen,

ich habe es in etwa so gelöst:

auf dem master eine zweite fhem2fhem instanz angelegt:

define slave FHEM2FHEM ventilation.fritz.box:7072 LOG:nuc.*
define n_nuc notify nuc.* {Log 3, "$NAME: $EVENT";;fhem("$EVENT")}


auf dem slave ein dummy:

define nuc dummy


dann habe ich auf dem master feedback dummy angelegt:

define zustand dummy


ich fange wiederrum auf dem slave jede kuechev änderung per notify ab und schicke feedback an den master:

define Kuechev_action notify Kuechev.* { \
my $action_value = ReadingsVal("Kuechev","state","");;\
fhem ("set nuc set zustand ".$action_value);; \
}


auf dem master vergleiche ich kueche-status mit zustand-status (letztendlich kuechev):
identisch ->  der sklave hat geschaltet
ansonsten gib alarm aus !!

bitte um kritik/verbesserungsvorschläge

danke&gruss
tony


INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi