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
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.