Neueste Beiträge

#11
Automatisierung / Aw: Neues Modul - 74_Unifi - F...
Letzter Beitrag von Gary - 12 Juni 2026, 11:50:27
Ich habe seit einigen Tagen das Problem, dass nach einer gewissen Laufzeit die Unifi Daten der Geräte nicht mehr aktualisiert werden. Der Timestamp der Readings ändert sich zwar weiterhin, aber die Werte der Readings nicht mehr. Nach einem Neustart von FHEM geht es wieder ein paar Stunden und dann wieder das Problem.

Zum Zeitpunkt, wo es nicht mehr geht, habe ich im Log diese Fehler:

2026.06.12 02:00:36 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1244.
2026.06.12 02:00:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_Unifi.pm line 2582.
2026.06.12 02:00:36 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1197.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1028.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1421.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1380.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1463.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 2016.
2026.06.12 02:00:37 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 1083.

Mit Verbose Debug sehe ich im Log, dass die API offenbar Fehler erzeugt, keine Werte kommen und immer nur die zuletzt abgefragten wieder neu zugewiesen werden:

2026.06.12 11:16:18 5: unifi (Unifi_Notify) - executed.
2026.06.12 11:16:18 5: unifi: get called with ?.
2026.06.12 11:16:58 5: unifi (Unifi_DoUpdate) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetEvents_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetEvents_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetEvents_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetUnarchivedAlerts_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetUnarchivedAlerts_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetUnarchivedAlerts_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetAccesspoints_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetAccesspoints_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetAccesspoints_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetClientInsights_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetClientInsights_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetClientInsights_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetVoucherList_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetVoucherList_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetVoucherList_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetWlans_Send) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetWlans_Receive) - executed.
2026.06.12 11:16:58 5: unifi (Unifi_GetWlans_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:58 5: unifi (Unifi_GetClients_Send) - executed.
2026.06.12 11:16:59 5: unifi (Unifi_GetClients_Receive) - executed.
2026.06.12 11:16:59 5: unifi (Unifi_GetClients_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:59 5: unifi (Unifi_GetHealth_Send) - executed.
2026.06.12 11:16:59 5: unifi (Unifi_GetHealth_Receive) - executed.
2026.06.12 11:16:59 5: unifi (Unifi_GetHealth_Receive) - Failed (without message)! - state:''
2026.06.12 11:16:59 5: unifi (Unifi_ProcessUpdate) - executed after 0.4984 seconds.
2026.06.12 11:16:59 5: unifi (Unifi_SetHealthReadings) - executed.
2026.06.12 11:16:59 5: unifi (Unifi_SetClientReadings) - executed.

Meine Vermutung wäre demnach, dass nach einer gewissen Zeit ein erneutes Login nötig ist. Und dass sich das kürzlich bei Unifi geändert hat.
Ich verwende eine Cloud Gateway Ultra mit Network Version 10.4.57. Ich verwende für FHEM einen dedizierten Admin User mit Local Access Rights in Unifi.

@KyleK: Du hast ja offenbar auch die Fehler im Log mit dieser Version - werden deine Werte überhaupt noch aktualisiert?
Irgendwelche Ideen? Ähnliche Probleme?
#12
MQTT / Aw: mqtt2.template: Contributi...
Letzter Beitrag von satprofi - 12 Juni 2026, 11:26:22
hallo.
hier noch patch für die genialen ZG-204ZM
name:zigbee2mqtt_human_body_presence_detector_ZG-204ZM
desc: Human body presence detector via zigbee2mqtt <br>Tested with: Tuya ZG-204ZM Presence Detector
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
order:L_08a001
par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal('DEVICE','devicetopic',AttrVal('DEVICE','readingList','')) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal('DEVICE','devicetopic',AttrVal('DEVICE','readingList','')) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
par:ICON;ICON as set, defaults to people_sensor;{ AttrVal('DEVICE','icon','people_sensor') }
attr DEVICE icon ICON
attr DEVICE devStateIcon Motion..true:people_sensor Motion..false:motion_detector
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE stateFormat Motion: presence
attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr DEVICE setList  \
 motion_detection_mode:only_pir,pir_and_radar,only_radar $DEVICETOPIC/set {"motion_detection_mode":"$EVTPART1"}
  distance:far,medium,near $DEVICETOPIC/set {"approach_distance":"$EVTPART1"}
  static_detection_sensivity:0,1,2,3,4,5,6 $DEVICETOPIC/set {"static_defection_sensivity":"$EVTPART1"}
 motion_detection_sensitivity:0,1,2,3,4,5,6,7,8,9,10 $DEVICETOPIC/set {"motion_detection_sensitivity":"$EVTPART1"}
attr DEVICE model zigbee2mqtt_human_body_presence_detector
setreading DEVICE attrTemplateVersion 20260612
#13
Sprachsteuerung / Aw: [37_echodevice] Amazon Ech...
Letzter Beitrag von kurt6908 - 12 Juni 2026, 11:12:55
Hallo,

erst mal vielen Dank an Michael für das Engagement den Fehler zu bereinigen. Dennoch komme ich mit dem Workaround nicht klar:

Ich habe

NPM Cookie Version Reading 3.4.1
npm --version 6.14.18

Das Reading 3.4.1 würde mich zu einem NPM-Update veranlassen, aber ich finde im Netz und auf der Seite von Michael kein Update, sondern nur Neuinstallationen von NPM.

Ein npm update verändert nichts an der --version und auch das Reading 3.4.1 verändert sich nicht.

Kann mir da jemand bitte einen Schubbser geben?

Vielen Dank.

 
#14
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Shadow3561 - 12 Juni 2026, 11:11:12
Moin, bei mir läuft seit dem letzte update nichts mehr wirklich rund.
Seit Tagen bekomme ich die Meldung
The AI for forecasting con is not yet operational.
Cause: Training aborted: insufficient number of valid datasets (141 < 2000)
Nun habe ich aus laute Verzweiflung ein "reset aiData" ausgeführt.
Hier mal mein aiControl aiConActivate=1 aiConProfile=v1_common_active_pv aiTrainStart=7 aiStorageDuration=3000 aiTreesPV=3 aiConHiddenLayers=50-25 aiConTrainStart=5:2 aiConLearnRate=0.005 aiConBitFailLimit=0.34
Was kann ich tun um wieder eine halbwegs aussagekräftige Vorhersage ui bekommen?
Gruss
#15
Ankündigungen / Aw: readingsProxy: überarbeite...
Letzter Beitrag von erwin - 12 Juni 2026, 09:10:45
Hallo Boris,
Es geht um die valueFn !
Da wird $DEVICE nicht definiert.
In der Vorgänger-version vom Modul hat folgendes funktioniert:
attr testdev valueFn {  my $opmode = (ReadingsVal($DEVICE,'HK4_OpMode','on') eq 'off')?'off':'on'; # on/auto/off
   my $status = ReadingsVal($DEVICE,'HK4_Pumpe','on');
   my $s1 = 'err';
   if($VALUE eq 'on') { 
      if ($opmode eq 'on') {
         $s1 = ($status eq 'on')?'heating':'waiting';
      } else {
         $s1 = 'cold';
      }
   } else {
      $s1 = ($opmode eq 'on')?'warm':'idle';
   }
   return "$opmode $s1";
}
Mit der neuen Version könnte man diesen code vereinfachen, allerdings bräuchte man dann auch den Namen vom readingsProxy im eval verfügbar, um auf die "eigenen" readings zuzugreifen.
l.g. erwin
#16
Sprachsteuerung / Aw: echodevice: wait for refre...
Letzter Beitrag von Snocksman - 12 Juni 2026, 09:01:24
Kurze Rückinfo: FHEM läuft auch heute morgen noch wie es soll. Der Workaround scheint also zu funktionieren.  8)
#17
FHEM Code changes / Revision 31351: controls_fhem....
Letzter Beitrag von System - 12 Juni 2026, 08:30:19
Revision 31351: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 31351: controls_fhem.txt: fhemupdate checkin
#18
Sprachsteuerung / Aw: echodevice: wait for refre...
Letzter Beitrag von punker - 12 Juni 2026, 07:47:42
@Michael
Sieht alles weiterhin gut aus.
Keine erhöhte Systemlast.
Danke
#19
Sprachsteuerung / Aw: [37_echodevice] Amazon Ech...
Letzter Beitrag von DerTom71 - 12 Juni 2026, 07:43:22
Guten Morgen,

Danke an Michael. Kann es sein das der Patch alleine nicht langt? Ich habe ein Memory-Leak (FHEM RAM zuwachs 25MB/1h). Das Device disabled: sofort weg.

Gruß
#20
Heizungssteuerung/Raumklima / Aw: THZ Tecalor (LWZ Stiebel E...
Letzter Beitrag von TheTrumpeter - 12 Juni 2026, 07:08:34
Zitat von: erlassen am 05 Juni 2026, 22:00:10Ich habe die externe Heizkreispumpe nun testweise direkt an den Ausgang ,,KÜHL" angeschlossen. Seitdem läuft die Anlage deutlich anders.
D.h. Du hast noch keine Brücke gesetzt, sondern die externe HK-Pumpe vom "Heiz"- auf den "Kühl"-Anschluss umgehängt, richtig?

WENN die Ausgänge für Heizen und Kühlen von derselben externen Phase versorgt werden, ist ein Brücken völlig problemlos, unabhängig davon ob die Anlage die Ausgänge sauber verODERt oder ev. auch mal gleichzeitig durchschaltet.
Im Schaltplan meiner 404SOL konnte ich das leider nicht herauslesen, wenngleich ich vermute, dass die externe Pumpe über den Stromanschluss der "Steuerung" (1-phasig) der LWZ versorgt werden.
Um ganz sicher zu gehen, hast Du mehrere Möglichkeiten das herauszufinden:
Miss' die STROMaufnahme des Anschlusses "Steuerung" 1x ohne externen Pumpenlauf, dann im Heizbetrieb und anschließend im Kühlbetrieb. Wenn Heiz- und Kühlbetrieb ungefähr gleich sind und die Differenz zum Betrieb ohne Pumpenlauf ungefähr der Leistungsaufnahme der externen Pumpe (Datenblatt oder separat messen) entspricht, wird meine Theorie richtig sein. (Eventuell kann die Leistung der Pumpe auch extern moduliert werden? Dann könntest Du die Messungen mit unterschiedlichen Leistungen durchführen, um ganz sicher zu gehen.)
Alternative: Miss' die Spannung der Phase der HK-Pumpe bei Ansteuerung gegen die Phase des Steuerungseingangs der LWZ, 1x im Heiz- und 1x im Kühlbetrieb. Wenn da keine Spannungsdifferenz vorliegt, kommt alles von derselben Versorgung.

(Ich gehe davon aus, dass Du weißt was Du tust, weise also nicht explizit auf die Gefahren von elektrischem Strom auf den menschlichen Körper hin...)


Wenn Dir das alles zu mühsam/unsicher ist, führ' den Heiz- und Kühl-Ausgang über einen Umschalter an die Pumpe. Den musst Du dann einfach 2x jährlich betätigen.