Remote Access auf die Homematic

Moin,

meine IP-Symcon Installation soll sich zukünftig auf einem entfernten Server, der sich NICHT im LAN befindet, laufen.

Nun ist die Frage, welche Ports für den Zugriff auf die Homematic CCU benötigt werden. Ich habe Port 2001 freigegeben, IP-Symcon sagt jedoch, dass der Request „timed out“ ist…

Fehlen da noch Ports? Reicht nicht 2001?

VG
Sascha

5544 fehlt noch.

2002 für Wired.

paresy

5544? Wird der nicht nur von IP-Symcon als Source Port genutzt?

Ein tcpdump sagt mir folgendes:

20:27:21.264833 IP 192.168.2.4.5544 > 192.168.2.3.3823: . ack 835 win 467 <nop,nop,timestamp 271203549 166809058>
20:27:21.338321 IP 192.168.2.4.5544 > 192.168.2.3.3823: P 1:84(83) ack 835 win 467 <nop,nop,timestamp 271203622 166809058>

…wobei 192.168.2.4 IP-Symcon und 192.168.2.3 die CCU ist…

Also verstehe ich das richtig, dass 2 Ports (2001 und 2002) reichen für die Kommunikation zwischen IPS und der CCU?
Ich bekomme über NUR Port 2001 (für Bidcos RF) keine Verbindung hin… IPS meldet: „Connection timed out“

Got it!

Port: 2000, 2001 und 2002 müssen freigeschaltet sein… Damit läufts nun.
Die Infos habe ich aus der ELV XML-RPC Spezifikation.

VG
Sascha

Also das Steuern von Variablen/Aktoren funktioniert…

Komischerweise bekommt IPS aber keine Updates von Variablen (Temperatur, Bewegungsmelder etc…)

Fehlt noch was?

Hi,

ist der IPS-Server geNATed oder hat er direkt eine pubic IP?
Wenn da NAT dazwischen ist, könnt ich mir vorstellen das die CCU den Status an die „falsche“ IP schickt…

Die CCU ist genatted…

Habe nun noch herausgefunden dass auf dem IP-Symcon Server „eingehend“ 5544 offen sein muss… Problem ist NUN dass nur 2-3 Meldungen kommen und dann auf einmal nichts mehr… So als ob die Verbindung (eingehend?) abreisst und nicht neu aufgebaut wird…

Bisherige Erkenntnis:

  • Ausgehend zur Homematic CCU auf dem NAT-Router Ports forwarden:
    Ports: 2000, 2001 und 2002

  • Eingehend von der CCU
    Port: 5544

Jetzt muss ich noch herausfinden, warum auf einmal keine Meldungen mehr kommen…

jemand eine Idee?

VG
Sascha

Ich bekomme hier hartnäckig „connection timed out“

Meine Konfiguration:
CCU läuft hinter einem NAT-Router, mit Freigaben Ports 5544 und 2000-2002 auf die IP der CCU.
IPS läuft auf einem Laptop mit Internetzugang mit HSDPA/3G. Hier ist die Firewall testweise komplett abgeschaltet.

Den Homematic - Socket habe ich wie folgt eingerichtet:
CCU-Modus, Host xxx.dyndns.org:2001
Ereignisserver: LAN-Adresse aus der Gruppe 10.0.0.0/8 (DHCP-zugeteilt, wird hier von IPS übernommen, kann ich nicht ändern).

Interessanterweise laufen die Testprogramme Switch und ListDevices von ELV, die nur auf Port 2001 zugreifen. Also kann die IP Konfiguration, Router etc. so falsch nicht sein. Trotzdem, mit IPS gehts so nicht, was mach ich falsch?

Verständnisfrage: von wo nach wo läuft der Rückkanal 5544? Von der CCU zum IPS-Dienst oder vom IPS-Dienst zur IPS-Konsole? Was mich etwas verwirrt: von IPS wird für den Ereignisserver:5544 die lokale IP vorgegeben? (vs. NAT-Freigabe ins Internet etwas weiter oben im Thread).
Gruss Beat

Auf den Punkt gebracht:
weshalb läuft der IPS Homematic - socket nicht, währenddem die ELV-Testprogramme funktionieren?
Hängt es an der timeout Zeit? kann man die irgendwo einstellen?
Gruss
Beat

so, jetzt habe ich dieselbe Geschichte noch remote von einem dsl-anschluss aus getestet, und leider gehts nicht besser. Jedenfalls ists klar, dass es nicht am mobilen Internet liegt. Ich beginne lansam zu glauben, dass es sich entweder um einen Bug handelt, oder, dass es so gewollt ist - keine Ahnung. Immerhin geht das XML-RPC homematic Testprogramm problemlos in genau derselben Testanordnung. Komisch finde ich auch die Funkstille zum Thema.
Man kann ja der Meinung sein, dass ein XML-RPC Link nicht gerade sicher ist, andrerseits macht ja meine-homematic.de auch nichts anderes, zumindest was die Strecke zwischen meine-homematic.de und der CCU anbetrifft. Die kochen auch nur mit Wasser. Weshalb sollte man dann die IPS-Homematic Schnittstelle auf lokale Netze einschränken - irgendwie unverständlich -

ich hoffe immer noch auf Hilfe … hat denn niemand eine ähnliche Konfiguration am laufen? Oder hat jemand ähnliche Erfahrungen gemacht?

gruss
Beat

Hier noch einmal als Referenz:

Auch wenns wie ein Monolog aussieht; ich habe neue Erkenntnisse, die dem einen oder anderen vielleicht nützlich sein können. Eins vorab, bei mir läuft die Geschichte endlich:), auch wenn ein administrator meint, dass meine Idee zu 99% nicht funktionieren würde.
Das ganze war ein timeout problem, wie u.a. vermutet. Dieses timeout liegt offenbar bei 10 sekunden - vielleicht etwas kurz, aber bei mir läufts jetzt trotz relativ langsamem mobilem internet.
Ich habe im Router die CCU priorisiert (QoS). Interessanterweise musste ich zudem die Ports 2000, 2001 und 2002 einzeln freigeben. Als Portbereich 2000-2002 klemmte es noch etwas.
Der (Rück-) kanal 5544 läuft nicht übers Internet, sondern auf dem IPS-Rechner. (Dazu habe ich keine schlüssigen Infos bekommen, aber der Homematic-socket stellt das ja von sich aus auf die lokale IP).

Hallo.

Bei wie vielen HM Kanälen/Geräten?

Hallo,

ich habe das gleiche Problem. Habe einen LAN-Adapter im eigenen Netzerk. Hier funzt alles prima.
Zusätzlich habe ich eine CCU in einem entfernten Netzwerk. Diese CCU spreche ich über DYNDNS an. Port der CCU habe ich auf 5545 geändert, sehe ich auch in der LOG-Dtei der CCU. Alle Ports (2000,2001,2002,5544,5545 sind in beiden Routern freigegeben und in der Firewall des PC (IPS-Server) ebenfalls.
Über den Konfigurator kann ich alle Geräte finden und einbinden. Er zeigt mir auch den zu diesem Zeitpunkt gültigen Wert, aber es kommen keine Updates bei den Variablen an.

Anbei ein Auszug aus dem LOG_File der CCU. Ich hoffe, dass mir einer helfen kann.

Nov 26 13:02:46 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068369:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068369:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:02:46 (none) user.err rfd: XmlRpc transport error
Nov 26 13:02:46 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„HEQ0239323:1“,„VALVE_STATE“,98}],[methodName:„event“,params:{„IPS“,„HEQ0239323:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:02:46 (none) user.err rfd: XmlRpc transport error
Nov 26 13:02:50 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068090:1“,„TEMPERATURE“,21.000000}],[methodName:„event“,params:{„IPS“,„IEQ0068090:1“,„HUMIDITY“,55}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:02:50 (none) user.err rfd: XmlRpc transport error
Nov 26 13:02:54 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068055:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068055:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:02:54 (none) user.err rfd: XmlRpc transport error
Nov 26 13:02:54 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0069507:1“,„VALVE_STATE“,98}],[methodName:„event“,params:{„IPS“,„IEQ0069507:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:02:54 (none) user.err rfd: XmlRpc transport error
Nov 26 13:03:10 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068090:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068090:2“,„ADJUSTING_DATA“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:03:10 (none) user.err rfd: XmlRpc transport error
Nov 26 13:03:10 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0069157:1“,„VALVE_STATE“,0}],[methodName:„event“,params:{„IPS“,„IEQ0069157:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:03:10 (none) user.err rfd: XmlRpc transport error
Nov 26 13:03:22 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068108:1“,„TEMPERATURE“,20.800000}],[methodName:„event“,params:{„IPS“,„IEQ0068108:1“,„HUMIDITY“,50}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:03:22 (none) user.err rfd: XmlRpc transport error
Nov 26 13:03:42 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068108:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068108:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:03:42 (none) user.err rfd: XmlRpc transport error
Nov 26 13:03:42 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0069634:1“,„VALVE_STATE“,98}],[methodName:„event“,params:{„IPS“,„IEQ0069634:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:03:42 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:11 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068090:1“,„TEMPERATURE“,21.000000}],[methodName:„event“,params:{„IPS“,„IEQ0068090:1“,„HUMIDITY“,55}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:11 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:18 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068369:1“,„TEMPERATURE“,21.800000}],[methodName:„event“,params:{„IPS“,„IEQ0068369:1“,„HUMIDITY“,48}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:18 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:18 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068055:1“,„TEMPERATURE“,21.000000}],[methodName:„event“,params:{„IPS“,„IEQ0068055:1“,„HUMIDITY“,51}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:18 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:24 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068108:1“,„TEMPERATURE“,20.900000}],[methodName:„event“,params:{„IPS“,„IEQ0068108:1“,„HUMIDITY“,50}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:24 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:31 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068090:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068090:2“,„ADJUSTING_DATA“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:31 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:31 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0069157:1“,„VALVE_STATE“,0}],[methodName:„event“,params:{„IPS“,„IEQ0069157:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:31 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:38 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„HEQ0239323:1“,„VALVE_STATE“,98}],[methodName:„event“,params:{„IPS“,„HEQ0239323:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:38 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:38 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068369:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068369:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:38 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:38 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068055:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068055:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:38 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:44 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0068108:2“,„ADJUSTING_COMMAND“,0}],[methodName:„event“,params:{„IPS“,„IEQ0068108:2“,„ADJUSTING_DATA“,250}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:44 (none) user.err rfd: XmlRpc transport error
Nov 26 13:05:44 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:„event“,params:{„IPS“,„IEQ0069634:1“,„VALVE_STATE“,98}],[methodName:„event“,params:{„IPS“,„IEQ0069634:1“,„ERROR“,0}]}}) on http://192.168.2.118:5545/RPC2:
Nov 26 13:05:44 (none) user.err rfd: XmlRpc transport error

Ich habe das selbste Problem. Ich kann alle Variabele und Instances aufleisten, aber empfange kein Werte. Router ist gut konfiguriert (2000, 2001, 2002 usw), aber der „remote“ CCU hat diese fehler:

Feb 29 15:11:20 (none) syslog.info -- MARK --
Feb 29 15:11:22 (none) user.err rfd: XmlRpcClient error calling event({"IPS","IEQ0403440:0","RSSI_PEER",-72}) on http://10.11.12.6:15544/RPC2:
Feb 29 15:11:22 (none) user.err rfd: XmlRpc transport error
Feb 29 15:11:22 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:"event",params:{"IPS","IEQ0403440:1","BRIGHTNESS",86}],[methodName:"event",params:{"IPS","IEQ0403440:1","ERROR",0}]}}) on http://10.11.12.6:15544/RPC2:
Feb 29 15:11:22 (none) user.err rfd: XmlRpc transport error
Feb 29 15:13:31 (none) user.err rfd: XmlRpcClient error calling event({"IPS","IEQ0201398:0","RSSI_PEER",-54}) on http://10.11.12.6:15544/RPC2:
Feb 29 15:13:31 (none) user.err rfd: XmlRpc transport error
Feb 29 15:13:31 (none) user.err rfd: XmlRpcClient error calling system.multicall({{[methodName:"event",params:{"IPS","IEQ0201398:1","TEMPERATURE",11.700000}],[methodName:"event",params:{"IPS","IEQ0201398:1","HUMIDITY",84}],[methodName:"event",params:{"IPS","IEQ0201398:1","RAINING",false}],[methodName:"event",params:{"IPS","IEQ0201398:1","RAIN_COUNTER",16.815000}],[methodName:"event",params:{"IPS","IEQ0201398:1","WIND_SPEED",0.000000}],[methodName:"event",params:{"IPS","IEQ0201398:1","WIND_DIRECTION",310}],[methodName:"event",params:{"IPS","IEQ0201398:1","WIND_DIRECTION_RANGE",67}],[methodName:"event",params:{"IPS","IEQ0201398:1","SUNSHINEDURATION",112}],[methodName:"event",params:{"IPS","IEQ0201398:1","BRIGHTNESS",36}]}}) on http://10.11.12.6:15544/RPC2:

Der CCU scheint ein Verbindung zu legen met das INTERNE IP Adresse der „remote“ IPS installation (10.11.12.6). Und natürlich kann das nicht gehen.

Also, wie kann Ich der remote CCU konfigurieren, so dass er die remote IPS server über Internet ansprechen kann?

Richtig, das ist das Problem. Aber wie funktioniert das denn bei Dir? Wenn der Rückkanal nicht übers Internet geht, kann er doch auch nicht der IPS server erreichen? Deine IPS server befindet sich doch auch nicht lokal?

Nutz am besten VPN. Dann ersparst du dir jeglichen Ärger und es ist sicher.

So wie du es jetzt vor hast, ist es im Prinzip schon grob fahrlässig. Wenn ich deine Adresse kenne, kann dir Pakete vorgaukeln, die z.B. Alarmzustände auslösen.

paresy

Ok aber ist es technisch auch möglich ohne VPN? Wenn ja, wie?

Und wie macht man das mit VPN wenn man kein Server hat auf der „Remote“ Location (wo nur der CCU ist)?

Danke