main::CallFn called by fhem.pl (773)

Begonnen von TomLee, 12 September 2021, 12:16:01

Vorheriges Thema - Nächstes Thema

Beta-User

Da ist nicht nur $hash->{NAME} leer, sondern eben auch die ReadFn, was bei einem PRESENCE-Device eigentlich nicht sein dürfte, und auch der mcse-Log spricht nicht unbedingt dafür, dass das der direkte Verursacher ist.

Klingt das nicht eher danach, als wäre eine myUtils  kaputt (wobei dann weiter unklar ist, warum da überhaupt eine ReadFn aufgerufen wird).

Zeigst du mal, wie die Datei aussieht in der myPresenceGTagCollectStateFormat() drin ist? (v.a. die Initialize-funktion wäre relevant).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Jamo

Gerne, so siehts aus. Alles bis auf die myPresenceGTagCollectStateFormat entfernt

# $Id: 99_MyUtils.pm 1932 2021-09-21 20:15:33Z Jamo $
package main;
use strict;
use warnings;
#use Blocking;
#use Net::hostent;
#use Socket;
#use IO::Socket::INET; ## only for Telnet Access
#use Time::Local;
#use FritzBoxUtils; ## only for web access login


sub MyUtils_Initialize {
  my ($hash) = @_;
  return;
}

.
.
.
.



#attr Presence_GTag_White_collect stateFormat { myPresenceGTagCollectStateFormat($name) }
sub myPresenceGTagCollectStateFormat {
  my $name        = shift // return "Error, myPresenceGTagCollectStateFormat: we need name as parameter!";
  my $Switch      = shift // 'none';
  my $Switchstate = ReadingsVal($Switch,'state','on');
  my $state       = ReadingsVal($name,'presence','nA');
  my $room        = ReadingsVal($name,'room','-');
  my $rooms       = ReadingsVal($name,'rooms','-');
  #Log 3, "[$sub] StatusMac=$StatusMac, Switchstate=$Switchstate, $MAC";
  #y $GTRred = $name eq 'Presence_GTag_RED_collect' && ReadingsVal($name,'room','nA') ne 'flurLE';
  if    ($state eq 'disabled') {return $state;}
  elsif ($Switchstate eq 'on'  && $state ne 'present') {return '<font color="red"><b>'. $room . " / " . $rooms . '</b></font>';}
  elsif ($Switchstate eq 'off' && $state ne 'present') {return $state;} #just absent
  else {return $room . ' / ' . $rooms;}
}

.
.
.



1;
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Beta-User

Hmm, sieht unverdächtig aus...
Keine weitere Idee grade.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Jamo

Schade. Vielleicht hat TomLee ja noch weitere Erkenntnisse. . .
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

TomLee

Sry, hatte den Vorschlag gestern Abend nicht mehr eingebaut gehabt und wie es der Zufall will gabs die Meldung diesmal genau/etwa zum Zeitpunkt der Zwangstrennung, hilft zwar denk ich nicht weiter, erwähns nur.

2021.09.21 03:16:19 0: Strange call for nonexistent : ReadFn
2021.09.21 03:16:19 1: stacktrace:
2021.09.21 03:16:19 1:     main::CallFn                        called by fhem.pl (774)


774 weil ich die debug-Ausgabe von oben noch drin und (sinnfrei  8) ) erweitert hatte, das es zu gar keiner debug-Ausgabe mehr kommt.

Jamo

JA, genau so siehts bei mir auch aus, der Fehler kommt immer zur Zwangstrennung.
Evtl irgendein Modul, das immer Internet benötigt?   
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack