FHEM2FHEM - Werte übermitteln

Begonnen von Xguide, 08 März 2016, 11:32:51

Vorheriges Thema - Nächstes Thema

Xguide

Hallo zusammen,

ich verzweifele daran eine Verbindung zwischen zwei RaPis hinzubekommen, bzw. in der richtigen Richtung hinzubekommen. Denn in einer Richtung funktioniert mein Testszenario, bei gleicher Konfiguration geht es aber nicht in die andere Richtung.
Ich habe im Forum keine vergleichbaren Probleme gefunden, deswegen nun der Hilferuf.

Hintergrund: Master behinhaltet mein Haupt-FHEM, der Slave hat eine Instanz vom SHM (Sunny Home Manager  = PV-Daten) laufen, die das Hauptsystem so dermaßen ausgebremst hat, dass ich sie verbannen musste.

Konfiguration:
1 Rapi II mit Fhem 5.7 als Master und 1 Rapi I mit fhem 5.7 als Slave. Beide FHEMs sind auf dem Stand von gestern.
Fhem2Fhem Instanzen sind angelegt und connected.

Problem: Notifys auf dem Slave hören auf Dummy-Änderungen auf dem Master, leider funktioniert es nicht andersrum.

Bin über jeden Tipp zum Debuggen froh, denn erklären kann ich es mir inzwischen nicht mehr.

Konfiguration die nicht funktioniert:
Master:

define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*

define Notify_SHM_FeedIn notify shm_FeedIn.* {Log 1, "$NAME: $EVENT";;fhem("$EVENT")}

define shmConnector_FeedIn dummy

Slave:

define shm_FeedIn dummy

define Notify_shmUpdate_FeedIn notify sunnyHomeManager:FeedIn.* {\
  fhem "set shm_FeedIn set shmConnector_FeedIn $EVTPART1";;\
}


Was funktioniert:

Wenn ich nun aber einen FHEM2FHEM auf dem Slave definiere und ein notify auf dem Master anlege das auf ein dummy auf dem Slave schaut (wie oben
Zitat{Log 1, "$NAME: $EVENT";;fhem("$EVENT")}
wird es bei Änderungen auf dem Slave getriggert.

Ich hoffe das Problem ist halbwegs nachvollziehbar beschrieben und ich sage schon mal Danke in die Runde...
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

AndreasHH

Moin,

Wenn du mit FHEM2FHEM in beide Richtungen arbeiten willst ist es notwendig FHEM2FHEM anzuweisen nur auf bestimmte Events zu reagieren, sonst hast Du permanenten Kreisverkehr.

statt
Zitatdefine RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*

hilft dann
Master:
define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*shm_FeedIn.*

Slave:
define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*shmConnector_FeedIn.*


Die notifys dann entsprechend anpassen.


Gruss

Andreas

FHEM 5.8, FB7490, FB7390, Linux-Server, Raspi 1, Raspi 2, FHEM2FHEM, div. FS20, div. FHT, div. HMS, div. Homematic, MQTT, ESP8266, Arduino

Xguide

Hallo AndreasHH,

danke für den Tipp.
Ich hatte bei meinen Versuchen immer nur eine Instanz aktiv. Also entweder auf dem Slave oder auf dem Master.

Hast du sonst noch eine Idee wie ich weiter debuggen kann?
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

AndreasHH

Moin,

hier ist mein notify, welches im Slave auf das Device VentileBedarf (auf dem Master) reagiert.

Slave:
define VentileBedarf_Hzg dummy
attr VentileBedarf_Hzg room Heizung
#
define VentileBedarf_notify notify VentileBedarf.* {\
my($param,$value) = split(":", "$EVENT");;\
  if("$param" eq "valve_average") {fhem "set VentileBedarf_Hzg $value"};;\
}


In meinem Beispiel VentileBedarf durch deinen Master-Dummy shmConnector_FeedIn und das Reading valve_average entsprechend ersetzen.

ein weiteres notify aus meiner Slave-config:
define VDens_Soll_notify notify Heizung_Soll { $EVENT=~s/://;;;; fhem("set VDens_Soll $EVENT;; set VDens $EVENT")}



Gruss

Andreas
FHEM 5.8, FB7490, FB7390, Linux-Server, Raspi 1, Raspi 2, FHEM2FHEM, div. FS20, div. FHT, div. HMS, div. Homematic, MQTT, ESP8266, Arduino

bergadler

Hallo,
Zitat von: Xguide am 08 März 2016, 14:34:26Hast du sonst noch eine Idee wie ich weiter debuggen kann?
Auf dem RemoteServer im EventMonitor nachschauen, was genau vom 192.168.78.3:7072 zu *shm_FeedIn.*
rüberkommt.

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

Xguide

Danke Euch allen erst einmal - leider funktioniert es noch immer nicht.

Ich habe die FHEM2FHEM Instanz wie beschrieben erweiteret (Regex), die Notifys überprüft und geändert doch nichts geht vom Slave zum Master.
Aktuell ist auch nur noch eine FHEM2FHEM-Verbindung definiert und zwar auf dem Master.

Im Eventmonitor auf dem Master ist nichts zu erkennen, was ich eigentlich schon fast befürchtet habe, da die Notifys nicht getriggert wurden. Im Eventlog vom Slave kann ich sehen das der Dummy geändert wurde.

Dürfen beide FHEMs den gleichen TelnetPort haben? Wobei ich das auch schon geändert hatte... >:(
Können das irgendwelche Berechtigungen sein, wenn ja, kann ich soetwas mit einem Telnet Client testen? Davon habe ich mal so gar keine Ahnung  :(

Eigentlich stecke ich ziemlich ungern den Kopf in den Sand, aber gibt es noch eine Alternative zum Abgreifen von Daten vom Slave?

Viele Grüße
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

bergadler

Meine 3 FHEMs haben alle den gleichen Telnet Port.

Ich habe es nochmal kurz nachgestellt.

Der Master (RemoteServer) will vom Slave (192.168.78.3) ein Event:
define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*

Auf dem Slave gibt es den Dummy:
define shm_FeedIn dummy

Wenn man jetzt auf dem Master den EventMonitor startet und auf dem Slave
in der Commandzeile, oder im Dummy selbst ein

set shm_FeedIn blabla
absetzt,  gibt es auf dem Master adhoc ein
2016-03-08 21:10:57 dummy shm_FeedIn blabla

Gruß

PS:
Hat der RemoteServer auch den STATE "connected"?
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

Xguide

Hallo bergadler,

ich habe nun noch einmal alles rausgeschmissen und von vorne begonnen.

Master-IP (192.168.78.2)
Slave-IP   (192.168.78.3)

Master (Auszug aus fhem.cfg):

define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*shm_FeedIn.*

define shmConnector_FeedIn dummy
define Notify_SHM_FeedIn notify shm_FeedIn.*  { $EVENT=~s/://;;;; Log (1, "Notify_SHM_FeedIn: $EVENT");;}



Slave(Auszug aus fhem.cfg):

define RemoteServer FHEM2FHEM 192.168.78.2:7072 LOG:.*shmConnector_FeedIn.*

define shm_FeedIn dummy
define Notify_shmConnector notify shmConnector.* {Log 1, "$NAME: $EVENT";;fhem("$EVENT")}


Beide RemoteServer sind connected!

Änderungen am "shmConnector" triggern das Notify "Notify_shmConnector" auf dem Slave --> Alles gut!
Log Master:
2016-03-09 10:39:25 dummy shmConnector_FeedIn 10:38
Log Slave:
2016-03-09 10:39:25 dummy shmConnector_FeedIn 10:38

Änderungen am "shm_FeedIn" triggern das Notify auf dem Master nicht. Ich habe schon mit einem leeren Notify getestet, aber auch da kein Erfolg.
Log Slave:
2016-03-09 10:43:03 dummy shm_FeedIn 10:42
Log Master:
Nichts

Das Notify "Notify_SHM_FeedIn" auf dem Master habe ich auch mal mit einem lokalen Dummy getestet, funktioniert und es wird ins LogFile geschrieben, daran liegt es also nicht.

Problem ist nach wie vor, vom Master zum Slave geht es, vom Slave zum Master (und das ist die Richtung die ich benötige) funktioniert nicht.

Noch einmal die Frage, kann ich irgendwie testen was mit dem Telnet vom Master nicht stimmt?

Ich habe inzwischen erneut FHEM Updates gemacht und auch Wheezy auf den neusten Stand gebracht und die Rechte erneut gesetzt.

sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y autoremove && sudo reboot
sudo apt-get install libnet-telnet-perl
cd /opt && sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

bergadler

#8
1:
Für Deine Anwendung brauchst Du FHEM2FHEM nur in einer Richtung.

2:
Baue doch erst mal das grundlegende Beispiel von mir nach,
ohne notify, $EVENT,... und sonstige Syntaxfallen.

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

AndreasHH

Moin,

Zitatdefine Notify_SHM_FeedIn notify shm_FeedIn.*  { $EVENT=~s/://;;;; Log (1, "Notify_SHM_FeedIn: $EVENT");;}

kann nicht funktionieren, da Dein Dummy auf dem Slave nicht Notify_SHM_FeedIn heisst.

Nutze zum Testen doch die angepasste Variante im Master wie auf dem Sllave.

also:
define Notify_shmConnector notify shm_FeedIn.* {Log 1, "$NAME: $EVENT";;fhem("$EVENT")}


Gruss

Andreas



FHEM 5.8, FB7490, FB7390, Linux-Server, Raspi 1, Raspi 2, FHEM2FHEM, div. FS20, div. FHT, div. HMS, div. Homematic, MQTT, ESP8266, Arduino

Xguide

@bergadler

danke für die Tipps, aber auch der simpelste Test funktioniert nicht.
Ich habe gerade deine Anmerkungen von weitere oben noch einmal nachgestellt.

--> Also unidirektional ohne Schnickschnack

Master fhem.cfg:

define RemoteServer FHEM2FHEM 192.168.78.3:7072 LOG:.*


Slave fhem.cfg:

define shm_FeedIn dummy


Im WebUi Slave: set shm_FeedIn test

Im EventLog auf dem Master von "shm_FeedIn" keine Spur :-(

@Andreas, ich denke wenn das schon nicht geht, dann liegt es sicherlich nicht am Notify, ich werde es aber trotzdem noch einmal klonen, allerdings hat Bergadler ist ja auf den Punkt gebracht, für die Verbindung von Slave zu Master zur Datenübertragung sollte ja ein FHEM2FHEM ausreichen....
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Xguide

Ich habe nun mal versucht aus Windows heraus eine Telnetverbindung zu den RaPis aufzubauen:

telnet 192.168.78.2 7072 --> funktioniert (Testweise ein Dummy über Telnet angelegt)
telnet 192.168.78.3 7072 --> funktioniert (Testweise ein Dummy über Telnet angelegt)

Hat noch jemand eine Idee wie ich den Fehler weiter einkreisen kann?
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Xguide

Hallo zusammen,

ich wollte mich noch einmal kurz für Eure Hilfe bedanken.
Ich habe gerade einen dritten RaPi aufgesetzt und mit dem getestet --> Funktioniert auf Anhieb :)
Ich denke ich komme nicht mehr dahinter was mit dem sogenannten Slave nicht funktioniert hat - schon komisch.

Jetzt kann ich zumindest weitermachen und es lag zumindest nicht am fehlenden Verständnis von FHEM2FHEM  ;)
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

Xguide

#13
Hallo zusammen,

ich noch einmal. Ich komme so langsam dem Ganzen auf die Spur, allerdings kann ich mit meinem Wissen nicht mehr alles rückgängig machen.
Mit der Basisinstallation von Jörg Hofmann (meintechblog) "FHEM-Server auf dem Raspberry Pi in einer Stunde einrichten" klappt alles ganz wunderbar.
Nun habe ich die Pakete nachinstalliert die mein Master benötigt (zumindest habe ich die mal so niedergeschrieben) und schwups, es geht nicht mehr.

Was ich zusätzlich installiert habe:

1. USB-Stick gemountet und die FileLogs, etc umgebogen um den schreibenden Zugriff auf die SD-Karte zu minimieren.
  - Logs werden geschrieben, StateFile wird auf den Stick gelegt, etc.
2. mv S01fhem S99fhem im entsprechenden /etc/rcX.d (X=runlevel) damit FHEM beim Neustart des PIs auch problemlos startet, ich hatte anfangs mal Probleme das der Stick noch nicht bereit war.
3. sudo apt-get install etherwake  --> habe ich später auch testweise wieder deinstalliert mit sudo apt-get remove etherwake
4. sudo cpan JSON --> weiß nicht wie ich die cpan Module deinstallieren kann
5. sudo apt-get install sendEmail --> habe ich später auch testweise wieder deinstalliert mit sudo apt-get remove sendEmail
6. sudo apt-get install libjson-perl libwww-perl libsoap-lite-perl libjson-xs-perl
7. sudo apt-get install libnet-telnet-perl
[b]8. sudo cpan -i IO::Socket::SSL --> weiß nicht wie ich die cpan Module deinstallieren kann --> Könnte m.E. nach das Problem verursachen[/b]


Teilt jemand die Meinung das es am 8. Schritt liegen kann? Wenn ja, weiss jemand wie ich das rückgängig machen kann?

Bin für jeden Tipp dankbar und wünsche ein gutes Wochenende,

Marcel


edit:

Noch mal ein wenig drüber nachgedacht, bin ich nun fest der Meinung das aus Sicht des RaPi-Slave nur Lauschen auf dem Telnetport funktioniet und senden eben nicht. Vielleicht hat das ja mal jemand gehabt....
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -