FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 19 Juli 2012, 09:51:17

Titel: FHEM2FHEM Befehle routen
Beitrag von: Guest am 19 Juli 2012, 09:51:17
Originally posted by: <email address deleted>

Hallo,

aus technischen Gründen möchte ich meine FHEM-Installation auf 2 (oder
mehr?) Hosts verteilen, wobei auf dem einen z.B. noch weitere externe
Funktionen laufen können, die auf Daten zugreifen und dann daraus
FHEM-Kommandos für den/einen anderen Host erzeugen.
Ich suche jetzt einen Weg um diese Kommandos (z.B. SET xxx  yyy) zwischen
den FHEM's auszutauschen. FHEM2FHEM bietet da in meinen Augen (noch) keine
Antworten, oder übersehe ich da etwas?

Natürlich habe ich rsh (rlogin) oder vergleichbare Lösungen in Betracht
gezogen, aber das ist für diese Angelegenheit keine akzeptable Lösung.
Ich habe selbst so urige Lösungen wie Network-Shares mit Dateizugriff
ausprobiert, aber das erscheint mir doch nicht sehr vernünftig, von Eleganz
wollen wir da gar nicht reden.

Hat jemand noch eine Idee wie man auf einem sicheren Weg Kommandos zwischen
zwei (oder mehr) FHEM's in einem lokalen Netz austauschen kann?


Viele Grüße,

rb

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: FHEM2FHEM Befehle routen
Beitrag von: rudolfkoenig am 19 Juli 2012, 11:31:11
                                                   

> Ich suche jetzt einen Weg um diese Kommandos (z.B. SET xxx  yyy) zwischen
> den FHEM's auszutauschen.
> FHEM2FHEM bietet da in meinen Augen (noch) keine Antworten, oder übersehe ich
> da etwas?

FHEM2FHEM im LOG Modus:
  das client fhem bekommt alle Events von server fhem mit, mann kann also
  darauf reagieren (notify,watchdog,FileLog), aber den server fhem nicht
  beeinflussen.

FHEM2FHEM im RAW Modus:
  Das klappt nur mit fhem Geraeten die zweistufig angebunden sind
  und Dispatch verwenden. Im Klartext alles, was ueber die Module
    CM11 CUL FHZ HMLAN TCM TUL RFXCOM TRX SISPM TellStick ZWDongle
  angebunden wird.  In diesem Fall kann man die (ueber die o.g. Module
  angebundenen) Geraete des server fhems auch vom client fhem aus steuern.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: FHEM2FHEM Befehle routen
Beitrag von: Guest am 19 Juli 2012, 18:38:32
Originally posted by: <email address deleted>

Ja, das geht wohl mit FHEM2FHEM

Ich habe da mal folgendes versucht und bei mir geht's so...(ich schreibe
das mal für die Nachwelt auf)

empfangender Host (*A*):
*   define H2H FHEM2FHEM 192.168.xxx.xxx:7072 LOG:.*
   define executeH2H notify forwardH2H { fhem "%" }*

sendender Host (*B*):
*   define forwardH2H dummy*

Wenn ich jetzt auf *B* folgendes Kommando absetze:
*   set forwardH2H attr global verbose 5*
dann wird auf dem Host *A* dieses Kommando (*attr global verbose 5) *
ausgeführt.

Auch ein
   *fhem.pl 7072 "set forwardH2H attr global verbose 5"*
geht natürlich.
(Vielleicht sollte ich ja mal ein Wikieintrag dafür machen)

Ich höre schon die Sicherheitsfanatiker aufschreien, welch ein Loch sich da
eröffnet.......
(weil das oben ist ja die harmlose Variante :-) )


btw.  Rudi, ich denke du bist für FHEM2FHEM verantwortlich. Könntest du in
der Doku noch
hinzufügen, das bei SSL IO::Socket:SSL benötigt wird und das man die
Definition des Telnetport
auf jeden Fall mit *global* verzieren muss, ansonsten gibt es ein
Connection refused bei FHEM2FHEM.


Grüße,

rb




Am Donnerstag, 19. Juli 2012 11:31:11 UTC+2 schrieb Rudolf Koenig:
>
> > Ich suche jetzt einen Weg um diese Kommandos (z.B. SET xxx  yyy)
> zwischen
> > den FHEM's auszutauschen.
> > FHEM2FHEM bietet da in meinen Augen (noch) keine Antworten, oder
> �bersehe ich
> > da etwas?
>
> FHEM2FHEM im LOG Modus:
>   das client fhem bekommt alle Events von server fhem mit, mann kann also
>   darauf reagieren (notify,watchdog,FileLog), aber den server fhem nicht
>   beeinflussen.
>
> FHEM2FHEM im RAW Modus:
>   Das klappt nur mit fhem Geraeten die zweistufig angebunden sind
>   und Dispatch verwenden. Im Klartext alles, was ueber die Module
>     CM11 CUL FHZ HMLAN TCM TUL RFXCOM TRX SISPM TellStick ZWDongle
>   angebunden wird.  In diesem Fall kann man die (ueber die o.g. Module
>   angebundenen) Geraete des server fhems auch vom client fhem aus steuern.
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: FHEM2FHEM Befehle routen
Beitrag von: rudolfkoenig am 19 Juli 2012, 19:43:07
                                                   

> Ich höre schon die Sicherheitsfanatiker aufschreien, welch ein Loch sich da
> eröffnet.......

Die koennen ja jederzeit SSL mit Passwort verwenden.


> btw.  Rudi, ich denke du bist für FHEM2FHEM verantwortlich. Könntest du in
> der Doku noch hinzufügen, das bei SSL IO::Socket:SSL benötigt wird und das
> man die Definition des Telnetport auf jeden Fall mit *global* verzieren muss,
> ansonsten gibt es ein Connection refused bei FHEM2FHEM.

Habs gemacht.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: FHEM2FHEM Befehle routen
Beitrag von: Guest am 20 Juli 2012, 07:39:19
Originally posted by: <email address deleted>

Danke....

Als ich heute morgen so meine beiden Raspberry's da liegen sah, kam mir die
Idee, auf Basis dieses Routings könnte man ja auch mit FHEM-Bordmitteln
ein "FHEM-Cluster" mit Heartbeatmonitoring und automatischen Fail-Over
basteln. Cluster in diesem Fall aktiv/passiv, aber ich denke mit etwas
Aufwand
wäre auch ein aktiv/aktiv möglich.

Ist eigentlich sehr simpel:

Raspberry A (ist der Backup-Raspberry)


define bkp2main FHEM2FHEM xxx.xxx.xxx.xxx:SSL LOG:.* mySecret
define bkpCmp dummy
define bkpGet dummy
define bkpExec notify mainDummy { fhem "%" }
define bkpCheck at +*00:00:10 {if(Value("bkpCmp") ne Value("bkpGet")) {fhem
"set bkpCmp " . Value("bkpGet")} else {fhem "include take_over_script"}}

Raspberry B (ist der Main-Raspberry)
define tPort telnet 7072 global
attr tPort globalpassword mySecret
attr tPort SSL
define mainDummy dummy
define mainSet at +*00:00:05 set mainDummy set bkpGet $sec

Funktionsweise:
Auf B, dem aktiven Teil des Clusters läuft ein Timer, der alle 5 Sekunden
mittels dieses Commandroutings eine Dummyvariable auf dem Host A setzt, und
zwar mit dem aktuellen Sekundenwert der Zeit.
Auf A, dem passiven Teil, wird dieser Dummywert mittels Timer alle 10
Sekunden getestet, 10 Sekunden deshalb, um ganz sicher zu sein, das der
Wert auch geändert wurde (Laufzeiten, CPU-Auslastung etc, 10 Sekunden
sind da schon sehr großzügig)
Wenn A feststellt, der Wert hat sich geändert, dann speichert der Timer
diesen Wert in eine andere Dummyvariable für den nächsten Vergleich, und
zwar so lange, bis A merkt, der Wert ändert sich nicht mehr. Das wird so
nach circa 20 Sekunden der Fall sein.
Dann wird die Notfallprozedur gestartet, da B anscheinend nicht mehr
sendet. Notfallprozedur kann ein starten der Config sein oder das Senden
eines EMails/SMS etc.

LG

rb




Am Donnerstag, 19. Juli 2012 19:43:07 UTC+2 schrieb Rudolf Koenig:
>
> > Ich h�re schon die Sicherheitsfanatiker aufschreien, welch ein Loch
> sich da
> > er�ffnet.......
>
> Die koennen ja jederzeit SSL mit Passwort verwenden.
>
>
> > btw.  Rudi, ich denke du bist f�r FHEM2FHEM verantwortlich. K�nntest
> du in
> > der Doku noch hinzuf�gen, das bei SSL IO::Socket:SSL ben�tigt wird
> und das
> > man die Definition des Telnetport auf jeden Fall mit *global* verzieren
> muss,
> > ansonsten gibt es ein Connection refused bei FHEM2FHEM.
>
> Habs gemacht.
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: fhem2fhem
Beitrag von: Guest am 16 November 2012, 18:13:35
Originally posted by: <email address deleted>

Am 16.11.2012 17:33, schrieb Woody1507:
> Hallo Leute,
> ich versuche gerade meinen rpi mit der Fritzbox zu verbinden. Leider klappt
> das nicht und die FB schmiert anb.
> Verstehe auch die commandref nicht wirklich.
>
> Folgende funktion soll fhem2fhem haben.
>
> Ein Sensor der FritzBox (Türsensor) soll an den RPI weitergemeldet werden.
> Ich hätte gerne nur das log weitergemeldet, nicht die raw-daten.
>
> Blicke nicht was ich wo eintragen soll.
>
> Fritzbox fhem.cfg (IP:192.168.0.1)
> define FB1CUL_0 CUL /dev/ttyACM0@38400 1234
> attr FB1CUL_0 rfmode HomeMatic
>
> RPI fhem.cfg (IP:192.168.0.56)
> define FB1Cul_0 FHEM2FHEM 192.168.001.22:7072 LOG:.*
>

wo kommt den die IP 192.168.001.22 her? Hier gehört die Adresse der
Fritzbox hin. Außerdem musst Du für FHEM ein eigenes Device definieren,
FBCUL_0 ist ja schon vergeben..


Bei mir läuft FHEM auf einem OPENRD board, Adresse 192.168.1.24, Eintrag
in fhem.cfg:

define ds1 FHEM2FHEM 192.168.1.11:7072 LOG:.*

Die andere Installation läuft auf 192.168.1.11 ohne speziellen Eintrag
für FHEM2FHEM

Gruß,

Manfred

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: fhem2fhem
Beitrag von: Guest am 16 November 2012, 18:34:58
Originally posted by: <email address deleted>

Hi!
Ich habe aber auch zwei Einträge auf meiner SuSE12 Maschine

## C U L definieren
define CUL CUL none 0000
attr CUL dummy 1
attr CUL model CUL

und

### F H E M 2 F H E M
define SuSE_an_7390 FHEM2FHEM 192.168.10.1:7072 LOG:.* telnetpassword



>
>
>

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