Autor Thema: [gelöst] UserReading: Warum werden immer alle erzeugt  (Gelesen 225 mal)

Offline Timmy.m

  • Full Member
  • ***
  • Beiträge: 252
Liebe Fhem Gemeinde.

Ich habe mehrere UserReadings in einem HTTPSRV definiert.
Alle UserReadings verarbeiten verschiedene Readings des gleichen HTTPSRV.
Warum werden immer alle getriggert, wenn sich doch nur ein Reading ändert?

Kann man dies verhindern? Vielen Dank.

Grüße Tim
« Letzte Änderung: 23 Juli 2019, 10:45:49 von Timmy.m »
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4012
  • Wer anderen eine Bratwurst brät...
Antw:UserReading: Warum werden immer alle Erzeugt
« Antwort #1 am: 22 Juli 2019, 16:51:23 »
Wie soll man Dir helfen können wenn keine weiteren Angaben gemacht wurden?
Ohne den kleinsten Nenner (nämlich ein list des betroffenden Devices) wird wohl niemand helfen können.
Woher sollen potentiell Helfende wissen wie Du die userReadings erstellt hast?

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7325
  • eigentlich eher user wie "developer"
Antw:UserReading: Warum werden immer alle Erzeugt
« Antwort #2 am: 22 Juli 2019, 16:52:13 »
Kann man verhindern, wenn man die Trigger entsprechend definiert. Mangels list kann ich aber nicht detaillierter helfen.
Daher bitte selbst in die commandref sehen.

Beispiele mit Trigger finden sich auch in der file mqtt2.template im Verzeichnis /lib/AttrTemplate (allerdings für eine ganz andere Device-Type, aber das ist hier eigentlich irrelevant).
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM@VCCU | MySensors: seriell, v.a. 2.3.1@RS485 | MQTT2: MiLight@ESP-GW | SIGNALduino | MapleCUN | ZWave | HUE@deCONZ@docker
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Timmy.m

  • Full Member
  • ***
  • Beiträge: 252
Antw:UserReading: Warum werden immer alle Erzeugt
« Antwort #3 am: 22 Juli 2019, 16:55:18 »
Vielen Dank für die Antworten. Weitere Infos gebe ich gerne. Sorry.

Internals:
   DEF        snom fhem/snom snom Web
   FUUID      5c519ae0-f33f-1001-a6b3-42232c144ce39e70
   NAME       snom
   NR         14
   STATE      snom
   TYPE       HTTPSRV
   READINGS:
     2019-07-22 16:40:11   AwIn            0123456789@sipgate.de
     2019-07-22 16:40:18   AwNummerIn      0123456789
     2019-07-22 16:40:18   AwNummerOut     0123456789
     2019-07-22 16:31:04   AwOut           0123456789
     2019-07-22 16:40:18   AwStatus        1
     2019-07-22 16:06:24   MsIn            12@sipgate.de
     2019-07-22 16:40:18   MsNummerIn      12
     2019-07-22 16:40:18   MsNummerOut     0123456789
     2019-07-22 16:07:26   MsOut           0123456789@sipgate.de
     2019-07-22 16:26:01   MsStatus        0
     2019-07-22 16:04:03   TmIn            0123456789@sipgate.de
     2019-07-22 16:40:18   TmNummerIn      0123456789
     2019-07-22 16:40:18   TmNummerOut     55000
     2019-07-22 16:19:21   TmOut           55000@sipgate.de
     2019-07-22 16:19:24   TmStatus        0
   fhem:
     directory  fhem/snom
     friendlyname snom Web
     infix      snom
Attributes:
   readings   TmOut,TmIn,TmStatus,AwOut,AwIn,AwStatus,MsOut,MsIn,MsStatus
   room       Telefon
   userReadings TmNummerOut { my $string = ReadingsVal("snom","TmOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, TmNummerIn { my $string = ReadingsVal("snom","TmIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, AwNummerOut { my $string = ReadingsVal("snom","AwOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, AwNummerIn { my $string = ReadingsVal("snom","AwIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, MsNummerOut { my $string = ReadingsVal("snom","MsOut",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }, MsNummerIn { my $string = ReadingsVal("snom","MsIn",""); $string =~ s/sipgate.de//; $string =~ s/@//g; return $string }
   userattr   readings
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7325
  • eigentlich eher user wie "developer"
Antw:UserReading: Warum werden immer alle Erzeugt
« Antwort #4 am: 22 Juli 2019, 17:01:10 »
Dann sollte es z.B. gehen mit (ohne die Punkte, das soll nur das "auszugsweise" markieren):

...TmNummerOut:TmOut.* {...Die Syntax ist ansonsten wie bei notify.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM@VCCU | MySensors: seriell, v.a. 2.3.1@RS485 | MQTT2: MiLight@ESP-GW | SIGNALduino | MapleCUN | ZWave | HUE@deCONZ@docker
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Timmy.m

  • Full Member
  • ***
  • Beiträge: 252
Antw:UserReading: Warum werden immer alle Erzeugt
« Antwort #5 am: 23 Juli 2019, 10:45:25 »
Funktioniert perfekt. Herzlichen Dank!
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

 

decade-submarginal