FHEM Forum

FHEM => Sonstiges => Thema gestartet von: chanky am 29 November 2020, 11:23:13

Titel: [Gelöst]update wird nicht sauber beendet
Beitrag von: chanky am 29 November 2020, 11:23:13
Hallo zusammen,
Ich brauche eure Expertise.

Bei mir geht das update seit vor kurzem nicht mehr sauber. Das Update bleibt hängen, im log wird folgende eingetragen:

2020.11.29 10:57:20 3: telnetForBlockingFn_1606643840: port 41555 opened
2020.11.29 10:57:22 1: Connection refused from 10.0.0.62:54308


10.0.0.62-> FHEM server

Noch einmal updaten (nach c.a. eine Stunde) provoziert die Meldung "An update is already running"-> deutet hin das es nicht abgeschlossen war.

Nach einem neuen Start  ("shutdown restart") wenn ich check update  triggere wird alles gut angezeigt

Downloading https://fhem.de/fhemupdate/controls_fhem.txt

fhem
nothing to do...
Downloading https://raw.githubusercontent.com/uniqueck/fhem-abfall/master/controls_fhemabfall.txt

fhemabfall
nothing to do...


Hat jemand eine Idee was da los ist?

Danke euch im Voraus!

LG
Chanky
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 29 November 2020, 11:38:19
Vermutlich steht im FHEM-Log mehr, das wuerde mich interessieren.
Welche telnet Instanzen sind definiert, mit welchen Attributen bzw. allowed-Zuweisungen?
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 29 November 2020, 12:47:09
Hi

telnet verwende ich nicht, aber habe gerade gesehen dass ein neues Gerät mit einer kryptischen Name angelegt wurde

Internals:
   CFGFN     
   CONNECTS   1
   DEF        0
   FD         38
   FUUID      5fc37744-f33f-ac5a-da9c-ae4ff060151ea8f7
   NAME       telnetForBlockingFn_1606645572
   NR         206
   PORT       40965
   STATE      Initialized
   TEMPORARY  1
   TYPE       telnet
   READINGS:
     2020-11-29 11:26:12   state           Initialized
Attributes:
   allowfrom  127.0.0.1
   room       hidden


im log file steht wirklich nicht mehr drinnen.
Ich hab bevor ich das update getriggert habe mein Logfile ausgeleert gehabt und nachher waren nur die zwei Zeile (im original post)

Und ich habe 2 allowed devices siehe Anhang




Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 29 November 2020, 16:26:22
Neu:
Im logfile gibt es neue Einträge:
2020.11.29 14:26:00 1: ERROR evaluating {
    cyclic_60s();
}: Can't use an undefined value as a subroutine reference at ./FHEM/99_myUtils.pm line 216.

2020.11.29 14:26:00 3: cyclic_60sec: Can't use an undefined value as a subroutine reference at ./FHEM/99_myUtils.pm line 216.

2020.11.29 14:27:00 1: PERL WARNING: Use of uninitialized value $isUsedForHeating in string eq at ./FHEM/99_myUtils.pm line 489.
2020.11.29 14:27:00 3: eval: {
    cyclic_60s();
}


die Funktion cyclic_60s() gibts in 99_myUtils.pm. die Datei 99_myUtils.pm habe ich seit lange nicht mehr angegriffen.

Für jede Hilfe bin ich sehr dankbar!

LG
Titel: Antw:update wird nicht sauber beendet
Beitrag von: mcfly71 am 30 November 2020, 07:40:20
Servus chanky,

da wird man dir soo nicht helfen können. Mit fhem kannst du die Datei 99_myUtils.pm editieren,
und könntest mal in den Zeilen 216 und 489 nachschauen.
Allerdings: Der Inhalt der Datei ist selbst geändert (hat nichts mit dem System zu tun) und anscheinend
hat der Fehler in Zeile 216 etwas mit einem Varibalennamen zu tun, den Perl dort nicht kennt, und
das ganze wird wohl vermutlich jede Minute 1 mal aufgerufen und hat wohl irgendwas mit Heizung oder
Hitze zu tun...... Selbst Ideen dadurch ?

VG
mcfly
Titel: Antw:update wird nicht sauber beendet
Beitrag von: betateilchen am 30 November 2020, 10:34:55
In den Meldungen tauchen die Namen cyclic_60s() und cyclic_60sec() auf, sind das zwei unterschiedliche Funktionen?
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 30 November 2020, 10:36:39
Zu den myUtils Problemen siehe die Kommentare von mcfly71 und betateilchen.

Zum update Problem: laut Code hast du "attr global allowfrom" gesetzt, dessen Wert 10.0.0.62 nicht matcht.

Wenn update im Hintergrund laufen soll (Voreinstellung), muss eine Verbindung zugelassen werden.
Der Hintergrundprozess versucht per telnet eine Verbindung zum Hauptprozess aufzunehmen, via localhost.
Warum localhost zu 10.0.0.62 gemappt wird, und nicht zu 127.0.0.1, ist mir noch ein Raetsel, da ich es fuer unplausibel halte, dass jemand es in /etc/hosts so gesetzt hat.
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 12:57:07
Zitat von: mcfly71 am 30 November 2020, 07:40:20
Servus chanky,

da wird man dir soo nicht helfen können. Mit fhem kannst du die Datei 99_myUtils.pm editieren,
und könntest mal in den Zeilen 216 und 489 nachschauen.
Allerdings: Der Inhalt der Datei ist selbst geändert (hat nichts mit dem System zu tun) und anscheinend
hat der Fehler in Zeile 216 etwas mit einem Varibalennamen zu tun, den Perl dort nicht kennt, und
das ganze wird wohl vermutlich jede Minute 1 mal aufgerufen und hat wohl irgendwas mit Heizung oder
Hitze zu tun...... Selbst Ideen dadurch ?

VG
mcfly

Hi danke euch! zu myUtils habe ich gefixt ich hatte ein C-Style Aufruf zu meine zyklische Funktion was nicht perl Konform war. Hat bis jetzt funktioniert aber wurscht ich hab ausgebessert  ;).

Internals:
   COMMAND    {cyclic_60s()}
   DEF        +*00:01:00 {cyclic_60s()}
   FUUID      5c42ddfd-f33f-ccf0-7532-2229fa6d677a260e
   NAME       cyclic_60sec
   NR         71
   NTM        12:35:00
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 12:35:00
   TIMESPEC   00:01:00
   TRIGGERTIME 1606736100
   TRIGGERTIME_FMT 2020-11-30 12:35:00
   TYPE       at
   READINGS:
     2020-11-30 12:34:00   state           Next: 12:35:00
Attributes:
   alignTime  00:00


alt
{
    cyclic_60s();
}


neu

{cyclic_60s()}


zum update:
komme ich nicht zu recht:
bei mir ist das "allowfrom" Attribut in global nie gesetzt gewesen.
siehe unten

Internals:
   BYTES_READ 580080
   BYTES_WRITTEN 1252021
   CONNECTS   2869
   CSRFTOKEN  <myToken>   DEF        8083 global
   FD         5
   FUUID      5c42ddf0-f33f-ccf0-402e-6184d4fe16ee9f9b
   NAME       WEB
   NR         3
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2020-11-30 01:45:41   state           Initialized
Attributes:
   csrfToken  <myToken>
   longpoll   websocket
   menuEntries Update,cmd=update,UpdateCheck,cmd=update+check,Restart,cmd=shutdown+restart
   styleData  {
"f18": {
  "Pinned.menu": "true",
  "hidePin": true,
  "cols.bg": "FFFFE7",
  "cols.fg": "000000",
  "cols.link": "278727",
  "cols.evenrow": "F8F8E0",
  "cols.oddrow": "F0F0D8",
  "cols.header": "E0E0C8",
  "cols.menu": "D7FFFF",
  "cols.sel": "A0FFFF",
  "cols.inpBack": "FFFFFF",
  "savePinChanges": true,
  "rightMenu": false,
  "showDragger": false,
  "Pos.style_list_Styles": {
   "left": 0,
   "top": 0,
   "width": 240,
   "height": 300,
   "oTop": 20,
   "oLeft": 0
  },
  "Pos.style_list_f18_special": {
   "left": 0,
   "top": 320,
   "width": 240,
   "height": 140,
   "oTop": 40,
   "oLeft": 0
  },
  "Pos.style_list_f18__Room_specific": {
   "left": 0,
   "top": 500,
   "width": 240,
   "height": 460,
   "oTop": 40,
   "oLeft": 0
  },
  "snapToGrid": false,
  "wrapcolumns": false,
  "fixedInput": false
}
}
   stylesheetPrefix default


/etc/hosts -> localhost auf 127.0.0.1 gemappt siehe Anhang

Danke Euch noch einmal!
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 30 November 2020, 13:15:17
Ok, mit allowfrom rudere ich zurueck, das wird beim Erzeugen der temporaeren telnet Instanz auf 127.0.0.1 gesetzt.

Bleibt also die Frage, warum localhost zu 10.0.0.62 uebersetzt wird.
Diese Uebersetzung passiert vom Systembibliothek, da Blocking.pm die Verbindung per
IO::Socket::INET->new(PeerAddr=>"localhost:port")
aufbaut. Womoeglich ist hosts in nsswitch.conf nicht an erster Stelle?
Was sagt "ping localhost" in einem Terminal?
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 14:34:38
Zitat von: rudolfkoenig am 30 November 2020, 13:15:17
Ok, mit allowfrom rudere ich zurueck, das wird beim Erzeugen der temporaeren telnet Instanz auf 127.0.0.1 gesetzt.

Bleibt also die Frage, warum localhost zu 10.0.0.62 uebersetzt wird.
Diese Uebersetzung passiert vom Systembibliothek, da Blocking.pm die Verbindung per
IO::Socket::INET->new(PeerAddr=>"localhost:port")
aufbaut. Womoeglich ist hosts in nsswitch.conf nicht an erster Stelle?
Was sagt "ping localhost" in einem Terminal?

nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         files
group:          files
shadow:         files
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis


Also ping

PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.130 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.127 ms
64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.155 ms
64 bytes from localhost (::1): icmp_seq=4 ttl=64 time=0.162 ms

--- localhost ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 92ms
rtt min/avg/max/mdev = 0.127/0.143/0.162/0.019 ms


Vielleicht noch zu erwähnen, auf dem gleichen Rpi läuft ein piVCCU ( über wireless bridge) die Firmware wurde über apt-get aktualisiert bevor mein update Problem angefangen hat, das hat aber wahrscheinlich mit dem nichts zu tun oder?
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 30 November 2020, 16:08:07
Kannst Du bitte in der Datei Blocking.pm das Wort localhost gegen 127.0.0.1 austauschen, FHEM neu starten, und erneut probieren?
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 17:46:20
gleiche fehler:

2020.11.30 17:36:41 1: HMCCU: [d_ccu : 2158] Graceful shutdown in 8 seconds
2020.11.30 17:36:41 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Stopping RPC server CB2001253001253002
2020.11.30 17:36:41 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Deregistering RPC server http://10.0.253.2:7411/fh2001 with ID CB2001253001253002 at http://10.0.253.2:2001
2020.11.30 17:36:41 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Callback for RPC server CB2001253001253002 deregistered
2020.11.30 17:36:41 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Sending signal INT to RPC server process CB2001253001253002 with PID=2221
2020.11.30 17:36:41 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Cleaning up immediately
2020.11.30 17:36:41 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Housekeeping called. Cleaning up RPC environment
2020.11.30 17:36:41 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2221] CB2001253001253002 received signal INT
2020.11.30 17:36:41 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2221] CB2001253001253002 received signal INT
2020.11.30 17:36:41 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2221] RPC server CB2001253001253002 stopped handling connections. PID=2221
2020.11.30 17:36:41 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2221] Number of I/O errors = 0
2020.11.30 17:36:43 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] RPC server process CB2001253001253002 deleted
2020.11.30 17:36:43 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] Stop I/O handling
2020.11.30 17:36:43 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 2158] RPC server stopped. Cancel delayed shutdown.
2020.11.30 17:36:44 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Stopping RPC server CB9292253001253002
2020.11.30 17:36:44 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Deregistering RPC server http://10.0.253.2:14702/fh9292 with ID CB9292253001253002 at http://10.0.253.2:9292/groups
2020.11.30 17:36:44 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Callback for RPC server CB9292253001253002 deregistered
2020.11.30 17:36:44 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Sending signal INT to RPC server process CB9292253001253002 with PID=2222
2020.11.30 17:36:44 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Cleaning up immediately
2020.11.30 17:36:44 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Housekeeping called. Cleaning up RPC environment
2020.11.30 17:36:44 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2222] CB9292253001253002 received signal INT
2020.11.30 17:36:44 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2222] CB9292253001253002 received signal INT
2020.11.30 17:36:44 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2222] RPC server CB9292253001253002 stopped handling connections. PID=2222
2020.11.30 17:36:44 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2222] Number of I/O errors = 0
2020.11.30 17:36:46 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] RPC server process CB9292253001253002 deleted
2020.11.30 17:36:46 1: HMCCU: [d_ccu : 2158] All RPC servers inactive
2020.11.30 17:36:46 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] Stop I/O handling
2020.11.30 17:36:46 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 2158] RPC server stopped. Cancel delayed shutdown.
2020.11.30 17:36:47 1: Server shutdown delayed due to d_rpc253002BidCos_RF,d_rpc253002VirtualDevices,d_ccu,gassistant for max 10 sec
2020.11.30 17:36:47 3: gassistant: read: end of file reached while sysread
2020.11.30 17:36:47 3: gassistant: stopped
2020.11.30 17:36:57 0: Server shutdown
2020.11.30 17:36:57 1: HMCCU: [d_ccu : 2158] Graceful shutdown
2020.11.30 17:36:58 3: set LigistHeater off : Please define LigistHeater first
2020.11.30 17:36:59 1: PERL WARNING: Subroutine getStateText redefined at ./FHEM/99_myUtils.pm line 434.
2020.11.30 17:36:59 1: Including fhem.cfg
2020.11.30 17:37:00 3: WEB: port 8083 opened
2020.11.30 17:37:00 2: eventTypes: loaded 1340 events from ./log/eventTypes.txt
2020.11.30 17:37:00 3: Opening CUL_0 device /dev/serial/by-id/usb-busware.de_CUL868-if00
2020.11.30 17:37:00 3: Setting CUL_0 serial parameters to 9600,8,N,1
2020.11.30 17:37:00 3: CUL_0: Possible commands: BbCFiAZEkGMKUYRTVWXefmltux
2020.11.30 17:37:00 3: CUL_0 device opened
2020.11.30 17:37:02 3: WEBphone: port 8084 opened
2020.11.30 17:37:02 3: WEBtablet: port 8085 opened
2020.11.30 17:37:02 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^(.*)({ <-- HERE .*})(.*)$/ at ./FHEM/10_MQTT_GENERIC_BRIDGE.pm line 1358, <$fh> line 502.
2020.11.30 17:37:03 3: Opening signalduino_CUL device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900VMIM-if00-port0
2020.11.30 17:37:03 3: Setting signalduino_CUL serial parameters to 57600,8,N,1
2020.11.30 17:37:03 1: signalduino_CUL: DoInit, /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900VMIM-if00-port0@57600
2020.11.30 17:37:03 3: signalduino_CUL device opened
2020.11.30 17:37:03 3: signalduino_CUL: Attr, setting Verbose to: 0
2020.11.30 17:37:03 1: PERL WARNING: given is experimental at ./FHEM/98_PID20.pm line 305, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 307, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: given is experimental at ./FHEM/98_PID20.pm line 339, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 341, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 345, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 356, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 363, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 370, <$fh> line 656.
2020.11.30 17:37:03 1: PERL WARNING: when is experimental at ./FHEM/98_PID20.pm line 385, <$fh> line 656.
2020.11.30 17:37:03 3: WEBLigist: port 8087 opened
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] Initialized version 4.3.025
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] HMCCU: Initializing device
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] HMCCU: Read 16 devices with 188 channels from CCU 10.0.253.2
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] HMCCU: Read 3 interfaces from CCU 10.0.253.2
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] HMCCU: Read 0 programs from CCU 10.0.253.2
2020.11.30 17:37:05 1: HMCCU: [d_ccu : 6739] HMCCU: Read 3 virtual groups from CCU 10.0.253.2
2020.11.30 17:37:05 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] Initialized version 1.9.001 for interface BidCos-RF with I/O device d_ccu
2020.11.30 17:37:05 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] Initialized version 1.9.001 for interface VirtualDevices with I/O device d_ccu
2020.11.30 17:37:06 1: Including ./log/fhem.save
2020.11.30 17:37:06 0: HMCCU: Start of RPC server after FHEM initialization in 12 seconds
2020.11.30 17:37:06 2: gassistant: starting gassistant-fhem: /usr/bin/gassistant-fhem -c ./gassistant-fhem.cfg
2020.11.30 17:37:06 3: gassistant: starting
2020.11.30 17:37:06 3: gassistant: using logfile: ./log/gassistant-2020-11-30.log
2020.11.30 17:37:06 3: initialiseSystem return value: none
2020.11.30 17:37:06 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .TempSens.*$/ at ./FHEM/33_readingsGroup.pm line 154.
2020.11.30 17:37:06 1: PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .TempSens.*$/ at ./FHEM/33_readingsGroup.pm line 160.
2020.11.30 17:37:06 0: Featurelevel: 6
2020.11.30 17:37:06 0: Server started with 137 defined entities (fhem.pl:23205/2020-11-21 perl:5.028001 os:linux user:fhem pid:6739)
2020.11.30 17:37:09 2: AttrTemplates: got 219 entries
2020.11.30 17:37:11 1: <myBroker>:1883 reappeared (MQTT_Broker)
2020.11.30 17:37:18 2: HMCCU: [d_ccu : 6739] Get RPC device for interface BidCos-RF
2020.11.30 17:37:18 2: HMCCU: [d_ccu : 6739] Get RPC device for interface VirtualDevices
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] RPC server process started for interface BidCos-RF with PID=6808
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6808] Initializing RPC server CB2001253001253002 for interface BidCos-RF
2020.11.30 17:37:18 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] RPC server starting
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] RPC server process started for interface VirtualDevices with PID=6809
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6809] Initializing RPC server CB9292253001253002 for interface VirtualDevices
2020.11.30 17:37:18 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] RPC server starting
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6808] Callback server CB2001253001253002 created. Listening on port 7411
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6808] CB2001253001253002 accepting connections. PID=6808
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] RPC server CB2001253001253002 enters server loop
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] Registering callback http://10.0.253.2:7411/fh2001 of type A with ID CB2001253001253002 at http://10.0.253.2:2001
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6809] Callback server CB9292253001253002 created. Listening on port 14702
2020.11.30 17:37:18 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6809] CB9292253001253002 accepting connections. PID=6809
2020.11.30 17:37:19 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] RPC server CB2001253001253002 running
2020.11.30 17:37:19 1: HMCCURPCPROC: [d_rpc253002BidCos_RF : 6739] Scheduled CCU ping every 300 seconds
2020.11.30 17:37:19 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] RPC server CB9292253001253002 enters server loop
2020.11.30 17:37:19 2: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] Registering callback http://10.0.253.2:14702/fh9292 of type A with ID CB9292253001253002 at http://10.0.253.2:9292/groups
2020.11.30 17:37:29 1: HMCCURPCPROC: [d_rpc253002VirtualDevices : 6739] RPC server CB9292253001253002 running
2020.11.30 17:37:29 1: HMCCU: [d_ccu : 6739] All RPC servers running
2020.11.30 17:37:29 2: HMCCU: [d_ccu : 6739] Updating 12 of 12 client devices matching devexp=.* filter=ccudevstate=active,ccuif=BidCos-RF|VirtualDevices
2020.11.30 17:37:29 2: HMCCU: [d_ccu : 6739] Update success=12 failed=0
2020.11.30 17:38:06 3: telnetForBlockingFn_1606754286: port 35405 opened
2020.11.30 17:38:08 1: Connection refused from 10.0.0.62:55136


Die Änderungen:


sub
BlockingInformParent($;$$$)
{
  my ($informFn, $param, $waitForRead, $noEscape) = @_;
  my $ret = undef;
  $waitForRead = 1 if (!defined($waitForRead));

  # Write the data back, calling the function
  if(!$telnetClient) {
    my $addr = "127.0.0.1:$defs{$BC_telnetDevice}{PORT}";
    $telnetClient = IO::Socket::INET->new(PeerAddr => $addr);
    if(!$telnetClient) {
      Log 1, "BlockingInformParent ($informFn): Can't connect to $addr: $@";
      return;
    }
  } 

Titel: Antw:update wird nicht sauber beendet
Beitrag von: betateilchen am 30 November 2020, 18:31:37
In dem Logauszug finden sich aber noch ein paar Hinweise auf ganz andere Probleme, um die man sich mal kümmern sollte.
Auch wenn die im jetzigen update-Problem vermutlich keine wichtige Rolle spielen.
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 30 November 2020, 18:34:57
D.h. wenn auf deinem Rechner ein Client eine Verbindung nach 127.0.0.1 aufbaut, dann wird es von dem Server als "kommt von 10.0.0.62" erkannt. Hast du irgendwelche routing oder iptables Eintraege, die das erklaeren koennten?

Als Workaround kann man "attr global updateInBackground 0" verwenden.
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 19:22:58
IP routing table:

pi@Home-Server:~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.138      0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wlan0
10.0.253.0      0.0.0.0         255.255.255.0   U     0      0        0 br0



pi@Home-Server:~ $ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:10.0.253.2:80
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1999 to:10.0.253.2:1999
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2000 to:10.0.253.2:2000
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2001 to:10.0.253.2:2001
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2002 to:10.0.253.2:2002
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2010 to:10.0.253.2:2010
    4   240 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8088 to:10.0.253.2:8088
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8181 to:10.0.253.2:8181
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8183 to:10.0.253.2:8183
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8700 to:10.0.253.2:8700
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8701 to:10.0.253.2:8701
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9099 to:10.0.253.2:9099
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2048 to:10.0.253.2:2048
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2049 to:10.0.253.2:2049

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
  577 36042 MASQUERADE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
# Warning: iptables-legacy tables present, use iptables-legacy to see them



pi@Home-Server:~ $ sudo iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
  634 47608 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain f2b-sshd (1 references)
pkts bytes target     prot opt in     out     source               destination         
  615 45428 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0       


Die Zeile unten ist suspekt :

# Warning: iptables-legacy tables present, use iptables-legacy to see them
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 19:41:08
@Rudi, Mit dem Workaround funktioniert
@Betateilchen welche andere Dinge hast du gemeint?
Ich kennen nur diesen:

set LigistHeater off : Please define LigistHeater first
PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .TempSens.*$/ at ./FHEM/33_readingsGroup.pm line 154


1: Da das Problem hier ist das meine Funktion aufgerufen wird, bevor die Initialisierung fertig ist,  Das Device existiert schon, ich muss nur noch ein Delay einbauen.
2: Tut nicht weh, da muss ich mein regex Ausdrück fein tunen.

Was sollte noch ausgebessert werden?

LG
Titel: Antw:update wird nicht sauber beendet
Beitrag von: betateilchen am 30 November 2020, 19:52:34
Na immerhin hast Du ja ein paar Mängel schon selbst erkannt.

Zitat von: chanky am 30 November 2020, 19:41:08

set LigistHeater off : Please define LigistHeater first

1: Da das Problem hier ist das meine Funktion aufgerufen wird, bevor die Initialisierung fertig ist,  Das Device existiert schon, ich muss nur noch ein Delay einbauen.

Wo wird denn der set Befehl ausgeführt? Und warum so früh?

Zitat von: chanky am 30 November 2020, 19:41:08

PERL WARNING: ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .TempSens.*$/ at ./FHEM/33_readingsGroup.pm line 154

2: Tut nicht weh, da muss ich mein regex Ausdrück fein tunen.

Nein, weh tut das nicht, aber aus Performancegründen sollte man sowas grundsätzlich beseitigen.



Zitat von: chanky am 30 November 2020, 19:41:08

2020.11.30 17:36:59 1: PERL WARNING: Subroutine getStateText redefined at ./FHEM/99_myUtils.pm line 434.


Das deutet darauf hin, dass entweder die 99_myUtils.pm zweimal geladen wird, oder dass eine bereits vorhandene Funktion getStateText() in Deiner 99_myUtils.pm unter gleichem Namen nochmal vorhanden ist und damit die erste Funktion überschreibt.
Titel: Antw:update wird nicht sauber beendet
Beitrag von: rudolfkoenig am 30 November 2020, 20:27:28
Ich tippe auf die MASQUERADE Zeile, aber ich bin kein iptables Experte, und will meinen Rechner auch nicht zum Test verkonfigurieren. Sonst habe ich keine Idee.
Wenn jemand die Ursache erklaeren kann: ich bin neugierig.
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 30 November 2020, 22:01:14
Zitat von: betateilchen am 30 November 2020, 19:52:34
Na immerhin hast Du ja ein paar Mängel schon selbst erkannt.

Wo wird denn der set Befehl ausgeführt? Und warum so früh?

Nein, weh tut das nicht, aber aus Performancegründen sollte man sowas grundsätzlich beseitigen.



Das deutet darauf hin, dass entweder die 99_myUtils.pm zweimal geladen wird, oder dass eine bereits vorhandene Funktion getStateText() in Deiner 99_myUtils.pm unter gleichem Namen nochmal vorhanden ist und damit die erste Funktion überschreibt.

mein set Befehl wird hier ausgeführt:

sub LigistUtils_Initialize($$)
{
    my ($hash) = @_;
    fhem("set LigistHeater off");
}


1:Ich wollte ein Failsafe Funktion simulieren dass wenn mein RPi neue gestartet wird zB. durch ein Reset  dass die Heizung immer von off startet (neustart neues spiel).
Ich werde das mit dem "at" + offset command austauschen außer du hast noch etwas eleganter  :P

2:Regex habe ich von *.TempSens.* auf ^[a-zA-Z]+TempSens.*

3:Das zwei mal laden kommt nur wenn Änderungen in 99_myUtils.pm gespeichert werden.

zum IP  routing Debian hat was umgestellt, ich werde da einlesen  ich kenne mich zu wenig aus und danach  werde ich probieren meine Ip Tables aufzuräumen.
https://unix.stackexchange.com/questions/584637/iptables-legacy-with-normal-iptables-in-debian-buster (https://unix.stackexchange.com/questions/584637/iptables-legacy-with-normal-iptables-in-debian-buster)

Vielen Dank euch alle für eure Hilfe mit dem "Update" work around bin ich zu frieden. Ich werde dann das Thread als gelöst markieren

LG
Chanky



Titel: Antw:[Gelöst]update wird nicht sauber beendet
Beitrag von: MadMax-FHEM am 30 November 2020, 22:15:46
Eleganter für Ausführung bei fhem-Start:


define nStartup notify global:INITIALIZED set LigistHeater off


Gruß, Joachim
Titel: Antw:update wird nicht sauber beendet
Beitrag von: chanky am 01 Dezember 2020, 01:28:15
Zitat von: rudolfkoenig am 30 November 2020, 20:27:28
Ich tippe auf die MASQUERADE Zeile, aber ich bin kein iptables Experte, und will meinen Rechner auch nicht zum Test verkonfigurieren. Sonst habe ich keine Idee.
Wenn jemand die Ursache erklaeren kann: ich bin neugierig.


pi@Home-Server:~ $ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
   16   960 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.253.2:80
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1999 to:192.168.253.2:1999
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2000 to:192.168.253.2:2000
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2001 to:192.168.253.2:2001
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2002 to:192.168.253.2:2002
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:2010 to:192.168.253.2:2010
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8181 to:192.168.253.2:8181
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8183 to:192.168.253.2:8183
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8700 to:192.168.253.2:8700
    0     0 DNAT       tcp  --  wlan0  *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8701 to:192.168.253.2:8701

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
   43  2884 MASQUERADE  all  --  *      *       192.168.253.0/24     0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         


Super Tipp! Ich hab jetzt mein WLAN bridge neu eingerichtet (die Zeile mit MASQUERADE schaut auch besser jetzt )und aufgeräumt und das Update geht jetzt wieder ganz normal. Schuld war piVCCU3 update hat das Tool mein Routing Table hin gemacht, böses Tool!