Hallo Zusammen,
ich möchte mit meinem FHEM-1 die Daten der Gastherme die von FHEM-2 geloggt werden erfassen.
Dies habe ich mit FHEM2FHEM soweit hinbekommen. Ich habe hierzu in FHEM-1 folgendes definiert
define RemoteFHEM FHEM2FHEM 192.168.178.21:7072 LOG:.*
define Gastherme dummy
Nun möchte ich aber auch Befehle von FHEM-1 an FHEM-2 senden, sowas wie:
set Gastherme Betriebsart Aus
Umgekehrt wäre es ja einfach (Befehl von FHEM-2 --> FHEM-1), denn FHEM-1 lauscht ja auf alles was FHEM-2 loggt, umgekehrt jedoch nicht.
Was ist hier der eleganteste Weg?
Hi,
bitte schone Dein System und nimm nicht LOG:.* sondern übertrage nur das was muss. z.B. LOG:Gastherme
Für Befehle gibt es mehrere Möglichkeiten, eine wäre
"fhem.pl 192.168.178.21:7072 "set lamp off""
https://commandref.fhem.de/#command
Gruß Otto
Danke, das mit dem Log habe ich geändert.
Der andere Befehl klappt jedoch noch nicht. Ich muss das in FHEM-1 in die Komandozeile eingeben oder?
Ja, wenn du von FHEM-1 nach FHEM-2 "senden" willst.
Bei FHEM-2 muss ein Telnet definiert sein mit "global", sonst geht/ginge nur "localhost"...
define telnetPort telnet 7072 global
Gruß, Joachim
Per mqtt wäre auch ein Weg. Am besten mit MQTT_GENERIC_BRIDGE.
Also, das Attribut ist eigentlich gesetzt. Gibt es denn noch einen Grund warum es nicht gehen könnte?
MQTT: Danke für den Hinweis, also mit MQTT habe ich mich noch gar nicht befasst. Wenn das mit den bisherigen Mitteln gut funktioniert würde ich ungern eine neue Baustelle aufreißen.
Steht denn was im Log?
Was passiert, wenn du den Befehl von Otto einfach in das FhemWebCmd eingibst (mit den Anführungszeichen!) ?
EDIT4: (Den Namen des "Gerätes" nat. anpassen ;) )
EDIT: wobei müsste es nicht so sein?
EDIT3: habe eben getestet, ohne Pfad geht bei mir im FhemWebCmd (auch nicht), im Log steht "fhem.pl not found" ;) Daher mal mit Pfad (der hier verwendete Pfad ist bei Standardinstallation):
"/opt/fhem/fhem.pl 192.168.178.21:7072 "set lamp off""
Was passiert, wenn du es (ohne Anführungszeichen) in die Linux-Console eingibst?
EDIT2: und dann besser mit Pfad (oder du "begibst dich dort hin" ;) und eigentlich als User fhem: sudo -u fhem bash)
/opt/fhem/fhem.pl 192.168.178.21:7072 "set lamp off"
Gruß, Joachim
Bzw. was ist die Ausgabe, wenn Du versuchst Dich mit telnet auf die Konsole zu verbinden?
Zitat von: z0lt1 am 08 Januar 2019, 08:09:29
MQTT: Danke für den Hinweis, also mit MQTT habe ich mich noch gar nicht befasst. Wenn das mit den bisherigen Mitteln gut funktioniert würde ich ungern eine neue Baustelle aufreißen.
War nur ein Vorschlag. :)
Da bei mir die 'bischerige Mittel' (wie FHEM2FEHM) eben nicht gut funktioniert haben, habe ich das mit MQTT realisiert. Seit dem keine Probleme mehr ;)
Mit Hilfe von MQTT_GENRIC_BRIDGE kann man sowohl Daten (Readings) als auch set-Befehle beliebig in beide Richtungen zwischen zwei (bzw. beliebig vielen) FHEM-Instanzen übertragen. Zwei Geräte in zwei Instanzen zu 'spiegeln' ist damit eine 5-Muniten-Aufgabe.
Zitat von: z0lt1 am 08 Januar 2019, 08:09:29
MQTT: Danke für den Hinweis, also mit MQTT habe ich mich noch gar nicht befasst. Wenn das mit den bisherigen Mitteln gut funktioniert würde ich ungern eine neue Baustelle aufreißen.
Als Erfahrungswert: Ich hatte eine FHEM-Instanz am Smartmeter über FHEM2FHEM an meinen zentralen HAB-Server gekoppelt und damit hatte ich immer wieder Probleme mit Triggern usw. Ich habe dann auf MQTT umgebaut und bin damit auch sehr viel glücklicher als mit FHEM2FHEM. Ich kann hexenmeister nur zustimmen: MQTT war nicht schwer aufzusetzen und hat den Vorteil, dass man die Trennung zwischen zwei Instanzen deutlich sauberer halten kann als mit FHEM2FHEM.
Zitat von: z0lt1 am 07 Januar 2019, 22:42:24
Der andere Befehl klappt jedoch noch nicht. Ich muss das in FHEM-1 in die Komandozeile eingeben oder?
Du solltest natürlich den richtigen Befehl eingeben ;D
Was klappt denn nicht? (Mir fällt da nur ein "Die Tür klappt nicht :)")
@Joachim Wenn FHEM2FHEm definiert ist und läuft dann muss doch auch Telnet definiert sein. Oder meintest Du was anderes?
Wenn Telnet gar nicht definiert ist, dann geht doch auch localhost nicht?!
Mit dem Pfad ist eher komisch, fhem steht ja quasi im Pfad /opt/fhem/ und dort steht die fhem.pl. Aber egal, ich mache es auch immer mit kompletten Pfad und ich schreibe meist auch noch perl davor "perl /opt/fhem/fhem.pl ..."
Gruß Otto
Hi Otto,
da ich fhem2fhem nicht nutze (nur immer gespannt [bei dir ;) ] mitlese) weiß ich nicht so genau Bescheid...
...aber in dem Moment wo ich's gelesen hatte ist mir wieder ins Gedächtnis gekommen, dass da was mit Telnet und fhem2fhem war ;)
Dann ziehe ich die Anmerkung (ungefragt) zurück ;)
Bzgl. Pfad war/bin ich auch verwirrt...
...war/ist aber halt so (bei mir) ;)
Und wenn man ganz sicher gehen will:
als User fhem:
which perl
und dann auch dort den kompletten Pfad ;)
EDIT: und als weitere Möglichkeit gibt es noch RFHEM (kenne ich aber genauso wenig selbst ;) ) und man kann nat. auch http-Requests absetzen (aber da ist Telnet einfacher)... Und dann (wie so oft) gibt es bestimmt noch mind. 1000 weitere Möglichkeiten ;)
Gruß, Joachim
Ich werde heute Abend nochmal genau berichten sobald ich daheim bin.
Zitat von: Otto123 am 08 Januar 2019, 11:46:23
Du solltest natürlich den richtigen Befehl eingeben ;D
Na das habe ich noch hinbekommen ;D
Zitat von: Otto123 am 08 Januar 2019, 11:46:23
Was klappt denn nicht? (Mir fällt da nur ein "Die Tür klappt nicht :)")
Sorry das war wirklich etwas ungenau. Also in der Log stand
sh: 1: fhem.pl: not found
Jedoch mit dem Tipp von MadMax-FHEM mit Angabe des Pfades bekomme ich mein gewünschtes Ergebnis
"/opt/fhem/fhem.pl 192.168.178.21:7072 "set dummy on""
Bzgl. MQTT werde ich das auf jeden Fall im Hinterkopf behalten. Vielen Dank an alle für die Unterstützung!