Daten zwischen 2 FHEM austauschen und Befehle senden

Begonnen von z0lt1, 07 Januar 2019, 21:37:25

Vorheriges Thema - Nächstes Thema

z0lt1

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?

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

z0lt1

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?

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

hexenmeister

Per mqtt wäre auch ein Weg. Am besten mit MQTT_GENERIC_BRIDGE.

z0lt1

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.

MadMax-FHEM

#6
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

Bzw. was ist die Ausgabe, wenn Du versuchst Dich mit telnet auf die Konsole zu verbinden?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

hexenmeister

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.

Christoph Morrison

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.

Otto123

#10
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

#11
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

z0lt1

Ich werde heute Abend nochmal genau berichten sobald ich daheim bin.

z0lt1

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!