RFHEM - Modul für Befehle an andere FHEM-Instanzen

Begonnen von chris1284, 15 Mai 2014, 20:07:57

Vorheriges Thema - Nächstes Thema

SVLoneStar

Hallo - ich kann 93_RFHEM.pm auf meinem Installation nicht finden, nicht in /fhem/FHEM und nicht in /fhem/contrib. Wurde das Modul doch nicht eingecheckt, inzwischen wieder entfernt, oder bin ich einfach nur blind? ;)
FHEM ist auf dem Stand vom 14.09.2015.

Danke,
Stefan
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors

doesel

Hallo,
steht im ersten Post als Anhang.
Gruß Doesel
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

SVLoneStar

Hallo Doesel,
danke - meine Frage (wenn's eine war) bezog sich auf den Inhalt/Umfang der FHEM-Installation. Den Anhang aus dem ersten Beitrag hatte ich installiert, klappt auch prima. Nur bekommt man so keine Updates des Moduls mit (falls es mal welche geben sollte).

Gruß,
Stefan
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors

mrbreil

Muss jetzt mal fragen, weil ich Probleme mit einer Installation hatte/habe die ab und an aussetzt.
Arbeitet dieses Modul blockierend?
Was passiert, wenn die zweite fhem Instanz die angesprochen werden soll nicht erreichbar ist?

Grüße Christian

koerly

Danke Christian !

die pm hat über 300 Downloads !
ich habe einen Tag mit fhem2fhem rumgespielt, bis ich dass hier gefunden habe.

Gruss
koerly
rpi2; cul868; jeelink

Amenophis86

gibt es die Möglichkeit einzubauen, dass man ein Attribut setzt, ob man jedes Mal im Log den Eintrag "Command executed" sehen möchte? Ich lasse mir sehr viele Daten übertragen, teilweise alle 2 Minuten und da brauche ich nicht jedes Mal die Bestätigung, solange alles läuft :)

Ansonst ein top Modul. Vielen Dank dafür.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

chris1284

ich habe nur eine fhem-instanz und würde es nur ohne test einbauen. einfacher ist es wenn du im modul die zeile Log3 $name, 3, "Command executed"; auskommentierst oder das log-lvl auf 5 setzt

Amenophis86

Stimmt, hätte ich auch selbst drauf kommen können. :) Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Tueftler1983

Hallo ich versuche mit deinem Modul vom Haupt fhem einen Befehl auf den 2 Fhem zu senden an dem ich über Infrarot (lirc) meine RGBLED'S steuere.

Am Fhem mit lirc sieht der Befehl so aus
rgbled.* {system("irsend SEND_ONCE RGBLED $EVENT")}

Auf dem Haupt Fhem ohne lirc habe ich es so versucht
rgbled { fhem "set Server cmd set rgbled $EVENT" }

Allerdings wird dann auf dem fhem mit lirc ständig wie in einer schleife der Befehl gesendet. Er soll aber nur einmal gesendet werden.

Zur Erklärung das $EVENT nimmt den Befehl aus einem Dummy wo als attr webcmd die reihe an möglichen befehlen wie ON:OFF:ROT:GRÜN... steht

Wie bekomme ich das ganze jetzt hin one für jeden der 24 befehle ein eigenes notify anzulegen?

Amenophis86

Das wird vermutlich schon daran scheitern, dass du keine Perl Befehle mit RFHEM senden kannst. Du willst ja nur die Farbe senden, oder? Dann könntest du es wie folgt machen. Du lässt in der Hauptinstanz, welche den Befehl, welcher über IR kommt in einen Dummy schreiben, alternativ nur die Farbe. Sobald sich das Reading in diesem Dummy ändert, lässt du das Reading per RFHEM an die zweite Instanz schicken. Hier empfängt es ein Dummy. Sobald sich bei diesem Dummy eine Reading ändert, schaltet auf ein Notify, welches den Befehl in Perl ausführt mit den Werten des Dummys.

Grafisch also:

Haupt Instanz: Empfange Farbe über IR -> Farbe in Dummy schreiben -> Notify wird ausgeführt, da sich Reading im Dummy ändert -> Farbe wird mittels RFHEM an zweite Instanz gesendet -> Dummy empfängt Farbe -> Notify wird geschaltet, da sich die Farbe ändert -> notify setzt nun den Perl Befehl ab, mit dem Wert des Dummys.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Tueftler1983

Verstehe nicht wie ich das umsetzen soll.
Ich schreibe ja im Dummy die farbe.
Ein notify bekommt die Farbe über das $Event aber wie übergebe ich das dann mit RFHEM an die 2. Instanz?

Wenn Screenshots helfen mache ich gerne welche

Tueftler1983

Die hauptinstanz also der eigentliche Thema Server hat kein Ir, da will ich nur über die grafische Oberfläche die Farbe anklichen. Dieses mache ich in einem Dummy das die Farben als webcmd attr hat. Screen shot 2

Von da soll es an den remote gesendet werden dieser besitzt ir und da klappt es mit dem Dummy und den webcmd attr die dann von einem notify ausgelesen werden und diese dann mit lirc senden screenshot1

Amenophis86

Dann habe ich dich falsch verstanden. Ich dachte, dass du den Befehl mittels IR bekommst und dann an FHEM weiter senden willst. Wenn ich dich jetzt richtig verstehe ist was du willst das:

FHEM1 auf Button für Farbe rot klicken -> Rot an FHEM 2 senden -> FHEM2 gibt Befehl über IR an RGB Stripe -> Rot wird geschaltet.


Dann wäre es relativ einfach, wobei die Frage ist, welche Daten in welchem Reading stehen, die gesendet werden sollen. Steht zB nach klicken des Buttons im Reading "state" der Status "rot" und mit rot kann der IR Sender etwas anfangen, dann könnte es so aussehen:

define <name> notify <NameButton> set <Name RFHEM Device> cmd setreading <Name Dummy in FHEM2> $EVENT


damit würde der Name des Readings und der Status des Readings im Dummy auf der anderen Instanz gesetzt werden. Nun musst du bei dieser Instanz nur noch ein Notify auf den Dummy lauschen lassen, der dann den Befehl in Perl absetzt. Perl Befehle kannst du ja leider nicht senden.

---------------------------------
Ich war mal so frei und habe einen Wiki Eintrag für dieses Modul erstellt. Wäre nett, wenn es jemand auf Fehler, sowohl Rechtschreibfehler, als auch inhaltliche Fehler, quer lesen könnte und wenn möglich, gerne auch gleich korrigiert.

Hier geht es zum Wiki Eintrag: http://www.fhemwiki.de/wiki/RFHEM
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Tueftler1983

Also im fhem2 ist ein Notify (n_rgbled)(screenshot1) das lauscht dem Dummy (rgbled)(screenshot2) welches die werte ON:OFF:RED:BLUE:GREEN:........ liefert und dann über Infrarot sendet.

Hoffe ich kann das verständlich erklären.

Amenophis86

Jetzt bauste den gleichen Dummy in die andere Fhem Instanz und schickst die Werte, wie oben beschrieben mit RFHEM.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...