Autor Thema: UserReading in TRX_LIGHT  (Gelesen 911 mal)

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2168
UserReading in TRX_LIGHT
« am: 28 Januar 2017, 17:05:28 »
Hi zusammen,

In TRX_LIGHT devices lassen sich bei mir keine userreadings anlegen (die readings werden trotz event nicht erzeugt). Gleiches Userreading z.B. im Dummy funktioniert, am Coding kann's also nicht liegen.
Ich habe mir die 46_TRX_LIGHT.pm mal angesehen und dabei ist mir aufgefallen, dass TRX_LIGHT_Set() kein bulkUpdate durchführt sondern nur STATE im hash aktualisiert. Ich stecke nicht genug in den Internas von FHEM drin um zu beurteilen, was bulkUpdate tatsächlich alles macht, aber kann es möglicherweise daran liegen? Ich habe testhalber mal ein bulkUpdate auf state mit eingefügt und siehe da, userreadings werden erzeugt. Bisher habe ich noch keine Nebenwirkungen festgestellt. Kann sich das mal jemand ansehen, der etwas davon versteht?

Grüße,

Oli
RasPi: RFXTRX, HM, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline KernSani

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 2168
Antw:UserReading in TRX_LIGHT
« Antwort #1 am: 31 Januar 2017, 21:57:35 »
ich habe nun doch Nebenwirkungen festgestellt... Seit ich das bulkUpdate hinzugefügt hatte wurde ein HourCounter, der auf ein TRX_LIGHT lauscht nicht mehr aktualisiert... daher habe ich es wieder rausgenommen, aber jetzt wir das userreading nicht mehr aktualisiert :-( Hat niemand das Problem?

EDIT: Hobe das Problem mit dem hourcounter in den Griff bekommen. Folgende Änderung in 46_TRX_LIGHT.pm löst mein Problem mit den user readings:

ab Zeile 527:
  my $tn = TimeNow();
  $hash->{CHANGED}[0] = $command_state;
  $hash->{STATE} = $command_state;
  $hash->{READINGS}{state}{TIME} = $tn;
  $hash->{READINGS}{state}{VAL} = $command_state;
# Oli: Add readingsBulkUpdate to enable update of userReadings
   readingsBeginUpdate($hash);
   readingsBulkUpdate($hash, "state", $command_state);
   readingsEndUpdate($hash, 1);
# Oli: End
« Letzte Änderung: 31 Januar 2017, 22:30:17 von KernSani »
RasPi: RFXTRX, HM, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Offline DaRealDan

  • New Member
  • *
  • Beiträge: 14
Antw:UserReading in TRX_LIGHT
« Antwort #2 am: 13 August 2017, 22:28:45 »
Möchte mich auf diesem Wege kurz vielmals bedanken! Habe wie verrückt seit Stunden versucht via Alexa-FHEM meine somfy Rolläden über RFXTRX (TRX_LIGHT) zu steuern, wozu ich ein userreading benötigte. Dieses wurde jedoch NIE geschrieben. Dank der drei Codezeilen von Dir, geht es jetzt. Danke, danke, danke!