CCU2 RPC Port gesucht, bzw. keine Geräteaktualisierung

Begonnen von Kharim, 22 September 2022, 07:45:40

Vorheriges Thema - Nächstes Thema

Kharim

Hallo Zusammen,

ich habe das Problem, dass meine an der CCU2 hängenden Geräte im FHEM nicht aktualisiert werden.
RPC ist eingerichtet und scheint zu laufen - eine Aktualisierung muss aber derzeit per Hand über "fhem("get d_ccu updateccu");" erfolgen.

- Dockerumgebung (Freigabe Port 2010)
- die RPC Pakete sind im Image installiert (librpc-xml-perl)
- keine Firewall im Netz
- CCU2 Firmware 2.59.7 - Anmelden: Kein Kennwort gesetzt

Device CCU2
Internals:
   CCUNum     1
   Clients    :HMCCUDEV:HMCCUCHN:HMCCURPC:HMCCURPCPROC:
   DEF        192.168.100.23
   FUUID      5e721b0f-f33f-8ab7-1a5e-29b9cd93d566c767
   NAME       d_ccu
   NOTIFYDEV  global,TYPE=(HMCCU|HMCCUDEV|HMCCUCHN)
   NR         356
   NTFY_ORDER 50-d_ccu
   RPCState   running
   STATE      running/OK
   TYPE       HMCCU
   ccuaddr    BidCoS-RF
   ccuchannels 172
   ccudevices 12
   ccuif      BidCos-RF
   ccuinterfaces HmIP-RF,VirtualDevices,BidCos-RF
   ccuip      192.168.100.23
   ccuname    HM-RCV-50 BidCoS-RF
   ccustate   active
   ccutype    CCU2/3
   host       192.168.100.23
   prot       http
   version    4.3.025
   READINGS:
     2022-09-18 14:16:43   count_channels  172
     2022-09-18 14:16:43   count_devices   12
     2022-09-18 14:16:43   count_groups    0
     2022-09-18 14:16:43   count_interfaces 3
     2022-09-18 14:16:43   count_programs  0
     2022-09-18 14:16:57   rpcstate        running
     2022-09-18 14:16:57   state           OK
   hmccu:
     defInterface BidCos-RF
     defPort    2001
     evtime     0
     evtimeout  0
     rpccount   0
     rpcports   2010
     updatetime 0
     adr:
[...gekürzt...]
cnt:
           ACTIVE_PROFILE 1
           ACTUAL_TEMPERATURE 1
           ACTUAL_TEMPERATURE_STATUS 1
           BOOST_MODE 1
           BOOST_TIME 1
           CONFIG_PENDING 1
           CONTROL_DIFFERENTIAL_TEMPERATURE 1
           CONTROL_MODE 1
           DURATION_UNIT 1
           DURATION_VALUE 1
           DUTY_CYCLE 1
           FROST_PROTECTION 1
           INSTALL_TEST 1
           LEVEL      1
           LEVEL_STATUS 1
           LOW_BAT    1
           OPERATING_VOLTAGE 1
           OPERATING_VOLTAGE_STATUS 1
           PARTY_MODE 1
           PARTY_SET_POINT_TEMPERATURE 1
           PARTY_TIME_END 1
           PARTY_TIME_START 1
           QUICK_VETO_TIME 1
           RSSI_DEVICE 1
           RSSI_PEER  1
           SET_POINT_MODE 1
           SET_POINT_TEMPERATURE 1
           SWITCH_POINT_OCCURED 1
           UNREACH    1
           VALVE_ADAPTION 1
           VALVE_STATE 1
           WINDOW_STATE 1
         spc:
           level      1.LEVEL
     grp:
     ifports:
       2001       BidCos-RF
       2010       HmIP-RF
       9292       VirtualDevices
     interfaces:
       BidCos-RF:
         devcount   1
         flags      forceASCII
         host       192.168.100.23
         manager    null
         port       2001
         prot       http
         state      inactive
         type       A
         url        http://192.168.100.23:2001
       HmIP-RF:
         devcount   11
         device     d_rpc100023HmIP_RF
         flags      forceASCII
         host       192.168.100.23
         manager    HMCCU
         port       2010
         prot       http
         state      running
         type       A
         url        http://192.168.100.23:2010
       VirtualDevices:
         devcount   0
         flags      _
         host       192.168.100.23
         manager    null
         port       9292
         prot       http
         state      inactive
         type       A
         url        http://192.168.100.23:9292/groups
     prg:
     rpc:
Attributes:
   ccudef-readingfilter ^(LOW_?BAT|UNREACH)$
   ccudef-readingname ^(.+\.)?LOW_?BAT$:battery;^(.+\.)?UNREACH$:activity
   ccudef-substitute AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
   ccuflags   procrpc
   room       HomematicIP
   rpcinterfaces HmIP-RF
   rpcport    2010
   rpcserver  on
   stateFormat rpcstate/state


List d_rpc100023HmIP_RF
nternals:
   CCUNum     1
   DEF        http://192.168.100.23 HmIP-RF
   FD         33
   FUUID      5e722131-f33f-8ab7-fa1f-47daf1b2be8bca99
   IODev      d_ccu
   NAME       d_rpc100023HmIP_RF
   NR         357
   RPCPID     6141
   RPCState   running
   STATE      running/OK
   TYPE       HMCCURPCPROC
   ccuip      192.168.100.23
   ccustate   active
   ccutype    CCU2/3
   host       192.168.100.23
   prot       http
   rpcid      000008100023
   rpcinterface HmIP-RF
   rpcip      192.168.100.23
   rpcport    2010
   version    1.9.001
   READINGS:
     2022-09-18 14:16:57   rpcstate        running
     2022-09-18 14:16:57   state           OK
   hmccu:
     defaultaddr 172.17.0.8
     devspec    HmIP-RF
     evtime     0
     localaddr  172.17.0.8
     rpcstarttime 1663503417
     rpc:
       cbport     7420
       cburl      http://172.17.0.8:7420/fh2010
       clkey      CB2010000008100023
       clurl      http://192.168.100.23:2010
       evtime     1663503416
       pid        6141
       port       2010
       state      running
       sumdelay   0
       rec:
         DD         0
         EV         0
         EX         0
         IN         0
         ND         0
         RA         0
         RD         0
         SL         1
         TO         0
         UD         0
       snd:
         DD         0
         EV         0
         EX         0
         IN         0
         ND         0
         RA         0
         RD         0
         SL         0
         TO         0
         UD         0
Attributes:
   alias      CCU RPC HmIP-RF
   eventMap   /rpcserver on:on/rpcserver off:off/
   room       HomematicIP
   stateFormat rpcstate/state
   verbose    2


Worüber ich von Anfang an gestolpert bin: https://wiki.fhem.de/wiki/HMCCU
ZitatCCU Firewall Einstellungen

Ab CCU Firmware 2.27.7 sind auf der CCU über das WebGUI folgende Einstellungen vorzunehmen:

    Menü "Einstellungen > Systemsteuerung" aufrufen
    Button "Firewall konfigurieren" anklicken
    Bei "Firewall-Richtlinie" den Eintrag "Ports offen" auswählen, andernfalls müssen die notwendigen Ports im Feld "Port-Freigabe" explizit angegeben werden
    Die Rechte für "HomeMatic XML-RPC API" und "Remote HomeMatic-Script API" auf "Vollzugriff" setzen.
    Man kann die Rechte auf "Eingeschränkter Zugriff" belassen, muss dann aber im Feld "IP-Adressen für eingeschränkten Zugriff" die IP des FHEM-Servers oder das komplette Subnetz in Subnet-Notation angeben.

Wenn der Zugriff von FHEM auf die CCU ohne Anmeldung erfolgen soll, muss zusätzlich in der Systemsteuerung unter "Sicherheit" die Option "Authentifizierung" deaktiviert werden. Alternativ kann im I/O Device (HMCCU) mit dem Befehl set authentication Benutzername und Passwort der CCU angegeben werden.

Es gibt diese Option bei mir nicht.
(siehe Anhang)
Nach https://forum.fhem.de/index.php?topic=118868.0 versuchte Ports (per Telnet):
2010 Verbindung
7011 keine Verbindung
7001 keine Verbindung
4021 keine Verbindung
4012 keine Verbindung

Ist nun der Port falsch oder liegt der Fehler wo ganz anders?

Danke,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Wernieman

Da Du schriebst
Zitat- die RPC Pakete sind im Image installiert (librpc-xml-perl)
Hast Du ein Docker Image oder läuft es nativ auf dem Server?
- 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

Kharim

Läuft im Dockerimage und der (vermeintliche) RPC Port ist frei gegeben
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Otto123

Hi Kharim,

redest Du bez. Docker von FHEM, von der CCU oder von beidem?

Im FHEM Image musst Du kein Port freigeben. Ein CCU Dockerimage braucht diese Ports
      - "8080:80"
      - "2001:2001"
      - "2010:2010"
      - "9292:9292"
      - "8181:8181"


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

Wernieman

Hast Du dem CCU-Modul die IP des Servers (wo der Container läuft) gegeben? Die Automatische Erkennung funktioniert meines Wissens nicht im Container. Habe jedenfalls es so bei mir machen müssen.

Und .... welchen Port hast Du freigegeben? Können  mehr als einer sein ....

@Otto:
Bist Du Dir sicher? Die CCU2 will doch per RPC mit FHEM reden und damit muß der Port freigegeben sein ...
- 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

Kharim

Also...ich habe hier einen (selbstgebautes) FHEM Docker, indem auch das perl Paket installiert ist.
So gesehen läuft der RPC Server und das FHEM im selben Docker.
Die CCU2 selbst ist Hardware und (siehe Device-List) auf IP erreichbar.
Ports siehe Anhang.....müssen da die von Otto noch mit rein?
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Wernieman

ZitatHast Du dem CCU-Modul die IP des Servers (wo der Container läuft) gegeben?

Zusätzlich:
Hast Du den Container (FHEM) mit docker-compose oder anders konfiguriert? Die Komplette cnfig würde mich interessieren ...
- 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

Otto123

Zitat von: Kharim am 22 September 2022, 09:41:01
Ports siehe Anhang.....müssen da die von Otto noch mit rein?
NEIN
Ich habe geschrieben: Ein CCU Dockerimage (also eine CCU in Form von Software) braucht diese Ports. Du hast eine Hardware CCU, da trifft das alles nicht zu!
Ich habe auch geschrieben: Im FHEM Image musst Du kein Port freigeben. Deine Freigabe des CCU Ports im FHEM Image ist nutzlos, und schadet sicher nicht oder nur marginal. ;)

Es läuft ja offenbar alles, nur die automatische Aktualisierung schlägt fehl!? Ich meine solche Fragen gibt es fast jeden Tag - schau doch hiermal nach Tipps. Ich hatte das Problem bei meiner Einrichtung nicht, aber scheinbar ist es häufiger ein Problem.
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

Kharim

Hm....da soll noch einer durch sehen...

Ich brauch also keine Portfreigabe an der Hardware-CCU2, keine Portfreigabe am FHEM Docker...
Der Port, den sich FHEM selbst wählt, 2010 ist also korrekt?!
(ist ja auch per Telnet erreichbar)

Der Container ist per Script gebaut, also docker build / docker run
FROM fhem/fhem:latest

RUN apt-get update && apt-get install -y gnupg2 vim wget
RUN echo 'deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi' >> /etc/apt/sources.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 90FDDD2E
#RUN apt-get update && apt-get dist-upgrade -y

RUN apt-get update && apt-get install -y etherwake alsa-utils procps psmisc supervisor sendmail linphone usbutils librpc-xml-perl

RUN mkdir /etc/perl/Color && touch /etc/perl/Color/rgb.txt
RUN echo 'fhem ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/fhem_su

COPY healthy.sh /opt/healthy.sh
HEALTHCHECK --interval=10s --timeout=3s CMD /opt/healthy.sh

#COPY pre-start.sh /pre-start.sh

ENV CONFIGTYPE=configDB

EXPOSE 8083 7072

Uralt und damals noch ohne den 2010 Port

#!/bin/bash

docker build -t fhem .
docker run --name=fhem \
           --privileged \
           --restart always \
           -d \
           -v /opt/Daten/.../Scripte:/opt/Scripte \
           -v /opt/Daten/.../data:/opt/fhem \
           -e TZ=Europe/Berlin \
           -p 8083:8083 \
           -p 7072:7072 \
           -p 2010:2010  \
           --cap-add=SYS_ADMIN \
           --cap-add=NET_ADMIN \
           --hostname fhem \
           fhem


Wenn das alles so korrekt ist, gehen mir aber leider die Ideen aus -_-
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Wernieman

ZitatIch habe auch geschrieben: Im FHEM Image musst Du kein Port freigeben
@Otto: Bist Du Dir da total sicher?
- 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

Kharim

(auch mit den geöffneten Ports von Otto keine Änderung)
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

stauraum

Hallo,

Du möchtest in fhem an Deiner CCU-Definition "rpcserveraddr" definieren!


attr d_ccu rpcserveraddr 172.16.0.10


Hier muss die Adresse von Deinem Docker-Server, NICHT die des Docker-Containers eingetragen werden! Zusätzlich möchtest Du Deinen Docker-Container im network_mode: host bereiben, oder die entsprechende Portfreigaben definieren:


    ports:
      - 3002:3002 # echodevice
      - 8083:8083 # fhem-web
      - 1883:1883 # mqtt
      - 7072:7072 # fhem-telnet
      - 7411:7411 # rpc for hmccu only hm
      - 7420:7420 # rpc for hmccu hm-ip


In der CCU solltest Du die Firewall deaktivieren bzw. auf Vollzugriff stellen.

Grüße

Otto123

Zitat von: Kharim am 22 September 2022, 10:24:25
Ich brauch also keine Portfreigabe an der Hardware-CCU2,
Das habe ich nicht gesagt. In der Firewall der CCU musst Du "Ports offen" einstellen! Aber Du hast eingangs gesagt: Du hast diese Option nicht, was ich nicht glaube. Vielleicht sind die in einem anderen Menüpunkt, brauchen Experteneinstellung oder sowas. ich habe die CCU nicht parat, kann dazu derzeit nichts konkretes sagen.

Zu extra Ports im FHEM Container finde ich in meinen Notizen keine Angaben. Das mag aber daran liegen, dass bei mir piVCCU Container und FHEM Container in einem Docker Netzwerk standen. Insofern
Zitat von: Wernieman am 22 September 2022, 10:48:22
@Otto: Bist Du Dir da total sicher?
Nein, es wird wohl so sein wie stauraum sagt ;)
Zitat- 7411:7411 # rpc for hmccu only hm
      - 7420:7420 # rpc for hmccu hm-ip
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

Kharim

stauraum mein Held :-) :-)

Treffer!

Das wars. Super. Vielen Vielen Dank :-)

P.s.: Keine Portfreigaben an der CCU2 zu finden/nötig. Vollzugriff reicht.
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)