Wie kann ich diesen Logfile Eintrag mit einem notify triggern?

Begonnen von heinzfo, 11 Juni 2019, 16:37:24

Vorheriges Thema - Nächstes Thema

heinzfo

Hallo

Wie kann ich auf diesen Eintrag im Logfile mit einem notify triggern?

E 2019-06-11 13:42:04,459 yowsup.layers.network.dispatcher.dispatcher_asyncore - Traceback (most recent call last):


2019.06.11 12:49:28 4: authorize telnetPort/devicename/test: allowedTelnet returned allowed
2019.06.11 12:49:28 3: WhatsApp: sending /message send 49123145 'textnachricht'
2019.06.11 13:18:12 1: FHEMWEB SSL/HTTPS error:  SSL accept attempt failed (peer: 10.228.200.36)
2019.06.11 13:25:06 1: FHEMWEB SSL/HTTPS error:  SSL accept attempt failed (peer: 10.228.200.36)
E 2019-06-11 13:42:04,459 yowsup.layers.network.dispatcher.dispatcher_asyncore - Traceback (most recent call last):
  File "/usr/lib/python2.7/asyncore.py", line 83, in read
    obj.handle_read_event()
  File "/usr/lib/python2.7/asyncore.py", line 449, in handle_read_event
    self.handle_read()
  File "/opt/yowsup-master/yowsup/layers/network/dispatcher/dispatcher_asyncore.py", line 48, in handle_read
    self.connectionCallbacks.onRecvData(data)
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 107, in onRecvData
    self.receive(data)
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 110, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/noise/layer_noise_segments.py", line 39, in receive
    self.toUpper(bytes(data))
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/noise/layer.py", line 181, in receive
    self._flush_incoming_buffer()
  File "/opt/yowsup-master/yowsup/layers/noise/layer.py", line 169, in _flush_incoming_buffer
    self.toUpper(self._wa_noiseprotocol.receive())
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/coder/layer.py", line 21, in receive
    self.toUpper(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/logger/layer.py", line 14, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_control.py", line 35, in receive
    self.toUpper(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 194, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_receive.py", line 32, in receive
    self.onMessage(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_receive.py", line 48, in onMessage
    self.handleEncMessage(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_receive.py", line 62, in handleEncMessage
    self.handleWhisperMessage(node)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_receive.py", line 126, in handleWhisperMessage
    self.toUpper(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 194, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 130, in receive
    recv(node)
  File "/opt/yowsup-master/yowsup/layers/protocol_messages/layer.py", line 36, in recvMessageStanza
    message.conversation, MessageMetaAttributes.from_message_protocoltreenode(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 79, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/interface/interface.py", line 80, in receive
    self.entity_callbacks[entityType](entity)
  File "/opt/yowsup-master/yowsup/demos/cli/layer.py", line 504, in onMessage
    self.output(output, tag = None, prompt = not self.sendReceipts)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 180, in output
    print(message)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 74: ordinal not in range(128)


Ich habe bereits ein notify, das müsste ich anpassen:
Internals:
   .COMMAND   {
fhem 'set teleBot message @12345 yowsup.layers.network.dispatcher.dispatcher_asyncore'}
   CFGFN     
   DEF        yowsupOffline:.*yowsup.layers.network.dispatcher.dispatcher_asyncore.* {
fhem 'set teleBot message @12345 yowsup.layers.network.dispatcher.dispatcher_asyncore'}
   FUUID      5cffb7d1-f33f-3bd2-56bf-07eae77e535eeab4
   NAME       yowsupOffline
   NOTIFYDEV  yowsupOffline
   NR         9477
   NTFY_ORDER 50-yowsupOffline
   REGEXP     yowsupOffline:.*yowsup.layers.network.dispatcher.dispatcher_asyncore.*
   STATE      active
   TYPE       notify
   .attraggr:
   .attrminint:
   READINGS:
     2019-06-11 16:16:49   state           active
Attributes:
   disable    0
   icon       ios-off
   readLog    1
   room       TelegramBot,WhatsApp

rudolfkoenig

Ich vermute, diese Daten landen im FHEM-Log, weil beim Programmstart STDOUT/STDERR umgeleitet wurde.
notify/readlog kriegt nur das mit, was innerhalb von FHEM mit der Log Funktion ins FHEM-Log geschrieben wird.
Wenn man das Programm so startet:
Zitat{ Log 1, `pgm par1 par2... 2>&1` }
dann funktioniert notify, als Nebeneffekt ist aber FHEM blockiert, solange das Programm laeuft.