Neuer FHEM Befehl "msg" für Benachrichtigungen (Push,Mail,Audio,Light,Screen)

Begonnen von Loredo, 13 August 2015, 19:31:07

Vorheriges Thema - Nächstes Thema

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Aeroschmelz

Das sieht so aus:


[code]define Signalbot Signalbot
attr Signalbot DbLogExclude .*
attr Signalbot defaultPeer #Family
attr Signalbot event-on-change-reading .*
attr Signalbot group Netzwerk
attr Signalbot registerMethod Voice
attr Signalbot room Kommunikation
attr Signalbot showtime 1
#   FD         19
#   FUUID      63b03e41-f33f-0756-8160-385828ecc0605362
#   NAME       Signalbot
#   NOTIFYDEV  global
#   NR         52
#   NTFY_ORDER 50-Signalbot
#   STATE      0
#   TYPE       Signalbot
#   VERSION    Signalbot:3.11 signal-cli:0.11.4 Protocol::DBus:0.22
#   model      Raspbian GNU/Linux 11 (bullseye)
#   .attraggr:
#   .attreocr:
#     .*
#   .attrminint:
#   READINGS:
#     2023-01-12 21:07:51   account         +49XXXXXXXX
#     2023-01-12 21:07:51   accountName     
#     2023-01-10 20:47:17   fhemMsgPush     test
#     2023-01-10 20:47:17   fhemMsgPushGw   Signalbot:UNAVAILABLE
#     2023-01-10 20:47:17   fhemMsgPushPrio 0
#     2023-01-10 20:47:17   fhemMsgPushState 0
#     2023-01-10 20:47:17   fhemMsgPushTitle -
#     2023-01-10 20:47:17   fhemMsgState    0
#     2023-01-10 20:47:17   fhemMsgStateTypes push:0
#     2023-01-10 19:53:49   joinedGroups    Family
#     2023-01-12 21:07:51   lastError       ok
#     2023-01-08 18:31:11   msgAttachment   
#     2023-01-08 18:31:11   msgAuth         0
#     2023-01-08 18:31:11   msgGroupName   
#     2023-01-08 18:31:11   msgSender       Marcus
#     2023-01-08 18:31:11   msgText         Test zur�ck
#     2023-01-08 18:31:11   msgTimestamp    08-01-2023 18:31:10
#     2023-01-13 20:13:00   sentMsg         Test
#     2023-01-13 20:13:04   sentMsgRecipient Marcus
#     2023-01-13 20:13:04   sentMsgTimestamp 13-01-2023 20:13:01
#     2023-01-08 13:50:48   state           0
#   helper:
#     accounts   1
#     init       1
#     multi      1
#     signalpath /org/asamk/Signal/_49XXXXXXXX
#     version    1104
#     accountlist:
#       +49XXXXXXXXX
#     contacts:
#       +49XXXXXXXX XXXXX
#       +49XXXXXXXX XXXXX
#       +49XXXXXXXX XXXXX
#       +49XXXXXXXX
#
setstate Signalbot 0
setstate Signalbot 2023-01-12 21:07:51 account +49XXXXXXXX
setstate Signalbot 2023-01-12 21:07:51 accountName
setstate Signalbot 2023-01-10 20:47:17 fhemMsgPush test
setstate Signalbot 2023-01-10 20:47:17 fhemMsgPushGw Signalbot:UNAVAILABLE
setstate Signalbot 2023-01-10 20:47:17 fhemMsgPushPrio 0
setstate Signalbot 2023-01-10 20:47:17 fhemMsgPushState 0
setstate Signalbot 2023-01-10 20:47:17 fhemMsgPushTitle -
setstate Signalbot 2023-01-10 20:47:17 fhemMsgState 0
setstate Signalbot 2023-01-10 20:47:17 fhemMsgStateTypes push:0
setstate Signalbot 2023-01-10 19:53:49 joinedGroups Family
setstate Signalbot 2023-01-12 21:07:51 lastError ok
setstate Signalbot 2023-01-08 18:31:11 msgAttachment
setstate Signalbot 2023-01-08 18:31:11 msgAuth 0
setstate Signalbot 2023-01-08 18:31:11 msgGroupName
setstate Signalbot 2023-01-08 18:31:11 msgSender Marcus
setstate Signalbot 2023-01-08 18:31:11 msgText Test zur�ck
setstate Signalbot 2023-01-08 18:31:11 msgTimestamp 08-01-2023 18:31:10
setstate Signalbot 2023-01-13 20:13:00 sentMsg Test
setstate Signalbot 2023-01-13 20:13:04 sentMsgRecipient Marcus
setstate Signalbot 2023-01-13 20:13:04 sentMsgTimestamp 13-01-2023 20:13:01
setstate Signalbot 2023-01-08 13:50:48 state 0


CoolTux

Hast Du in den letzten Tagen ein Update von FHEM gemacht? Wenn nicht bitte machen und noch mal probieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Aeroschmelz

Heute noch mal ein Update durchgeführt, macht aber leider keinen Unterschied.


msg push Test



2023.01.14 16:46:01 3: msg globalMsg: ID=1673711161.41052.1 TYPE=push ROUTE=Signalbot RECIPIENT=@+49XXXXXXXX STATUS=UNAVAILABLE PRIORITY=0 TITLE='' 'test'


Msg schickt die Nachricht dann an die hinterlegte Email Adresse

CoolTux

Der state Deines Signalbot Devices ist 0

2023-01-08 13:50:48   state           0


Da bedeutet für msg das es aktuell keine Nachrichten zustellen kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Adimarantis

Das reading "state" wird von Signalbot nicht gesetzt - nur "STATE".
Das ist aber im dump auch "0", was es eigentlich gar nicht geben sollte.

Muss "state" zwingend gesetzt sein? Was erwartet "msg" hier?
Das müsste ich dann in Signalbot noch entsprechend setzen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

CoolTux

Zitat von: Adimarantis am 15 Januar 2023, 12:07:02
Das reading "state" wird von Signalbot nicht gesetzt - nur "STATE".
Das ist aber im dump auch "0", was es eigentlich gar nicht geben sollte.

Muss "state" zwingend gesetzt sein? Was erwartet "msg" hier?
Das müsste ich dann in Signalbot noch entsprechend setzen.

Ich schaue heute Abend einmal genauer, gibt da vieles zur Auswahl. Schreibe Dir dann
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: Adimarantis am 15 Januar 2023, 12:07:02
Das reading "state" wird von Signalbot nicht gesetzt - nur "STATE".
Das ist aber im dump auch "0", was es eigentlich gar nicht geben sollte.

Muss "state" zwingend gesetzt sein? Was erwartet "msg" hier?
Das müsste ich dann in Signalbot noch entsprechend setzen.

@unavailabilityIndicators = (
                        "0",            "false",
                        "absent",       "disappeared",
                        "unauthorized", "unavailable",
                        "unreachable",  "disconnected")


Das sind alles Werte für state welche als unavailability ausgewertet werden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Adimarantis

Danke. Hab nochmal tiefer gegraben und die unavailbilityIndicators werden mit
ReadingsVal($gatewayDev,"state","present")
abgefragt.
Wenn "state" also nicht existiert, was aktuell bei Signalbot der Fall ist, sollte also der default "present" genommen werden und alles funktionieren.
@aeroschmelz: Warum bei dir state=0 ist, weiss ich nicht. Du kannst aber mal versuchen es mit
deletereading Signalbot state
einfach zu entfernen.
Dann sollte "msg" eigentlich kein Problem mehr haben.

Ich werden trotzdem einbauen das Signalbot "state" in Zukunft entsprechend setzt, da es ja tatsächlich auch einen "disconnected" Status gibt.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Aeroschmelz

Hi Adimarantis,

auf die gleiche Idee kam ich auch schon, leider ändert das aber nichts am Resultat Staus "Unvailable"


2023.01.16 20:33:11 3: msg globalMsg: ID=1673897591.86601.1 TYPE=push ROUTE=Signalbot RECIPIENT=@+49XXXXXXXX STATUS=UNAVAILABLE PRIORITY=0 TITLE='' 'test'
2023.01.16 20:33:12 1: sendemail returned: Jan 16 20:33:12 fhem sendemail[27898]: Email was sent successfully!
2023.01.16 20:33:12 3: msg globalMsg: ID=1673897591.86601.2 TYPE=mail ROUTE=XXXXX.XXXXXXXXX@XXXXXXXX.com STATUS=OK PRIORITY=0 TITLE='System Message' MSG='test'


Direkt nach dem Aufrufen von msg mit


msg push test


taucht "state" dann nach ca. 1 Minute wieder auf und steht auf "0". Ich würde mal davona usgehen, dass msg da irgendetwas macht.


Adimarantis

Ich frag mich wer das setzt.
Das Update für Signalbot ist inzwischen online im SVN https://svn.fhem.de/fhem/trunk/fhem/FHEM/50_Signalbot.pm
Versuch doch gleich mal ob das was hilft.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Aeroschmelz

Ich teste das gleich mal. Habe inzwischen mal alle Readings gelöscht und das Backup wieder eingespielt. Mal sehen, ob das noch etwas zusammen mit dem Update bringt ;-)

Aktuell sieht das Device ohne jeglichen Aufruf von msg so aus. State 0 taucht aber schon wieder auf  :(


[code]define Signalbot Signalbot
attr Signalbot DbLogExclude .*
attr Signalbot defaultPeer #Family
attr Signalbot event-on-change-reading .*
attr Signalbot group Netzwerk
attr Signalbot registerMethod Voice
attr Signalbot room Kommunikation
attr Signalbot showtime 1
#   FD         22
#   FUUID      63b03e41-f33f-0756-8160-385828ecc0605362
#   NAME       Signalbot
#   NOTIFYDEV  global
#   NR         52
#   NTFY_ORDER 50-Signalbot
#   STATE      0
#   TYPE       Signalbot
#   VERSION    Signalbot:3.11 signal-cli:0.11.4 Protocol::DBus:0.22
#   eventCount 1
#   model      Raspbian GNU/Linux 11 (bullseye)
#   .attraggr:
#   .attreocr:
#     .*
#   .attrminint:
#   READINGS:
#     2023-01-16 21:03:37   account         +4961172389577
#     2023-01-16 21:03:37   accountName     
#     2023-01-16 21:12:58   joinedGroups    Family
#     2023-01-16 21:03:37   lastError       ok
#     2023-01-16 21:12:58   sentMsg         Hallo FHEM
#     2023-01-16 21:13:12   sentMsgRecipient Marcus
#     2023-01-16 21:13:12   sentMsgTimestamp 16-01-2023 21:12:58
#     2023-01-16 20:46:00   state           0
#   helper:
#     accounts   1
#     init       1
#     multi      1
#     signalpath /org/asamk/Signal/_49XXXXXXXX
#     version    1104
#     accountlist:
#       +49XXXXXXXX
#     contacts:


#     groups:
#       236 27 98 194 199 43 56 114 139 232 138 141 135 205 122 32 11 36 194 239 130 51 244 159 46 133 122 64 212 85 242 113:
#         active     1
#         blocked    0
#         name       Family
#
setstate Signalbot 0
setstate Signalbot 2023-01-16 21:03:37 account +49XXXXXXXX
setstate Signalbot 2023-01-16 21:03:37 accountName
setstate Signalbot 2023-01-16 21:12:58 joinedGroups Family
setstate Signalbot 2023-01-16 21:03:37 lastError ok
setstate Signalbot 2023-01-16 21:12:58 sentMsg Hallo FHEM
setstate Signalbot 2023-01-16 21:13:12 sentMsgRecipient Marcus
setstate Signalbot 2023-01-16 21:13:12 sentMsgTimestamp 16-01-2023 21:12:58
setstate Signalbot 2023-01-16 20:46:00 state 0


Im Log ist das direkt beim Server Shutdown für den Neustart....


2023.01.16 20:45:58 0: Server shutdown
2023.01.16 20:46:00 2: DbLog myDbLog - stopping SubProcess PID >649< ...
2023.01.16 20:46:00 2: DbLog myDbLog - SubProcess PID >649< stopped
2023.01.16 20:46:11 1: PERL WARNING: Useless use of a variable in void context at ./FHEM/99_myUtilsTelefon.pm line 174.
2023.01.16 20:46:11 1: Including fhem.cfg
2023.01.16 20:46:13 2: DbLog myDbLog - Subprocess >648< initialized ... ready for non-blocking operation
2023.01.16 20:46:14 2: eventTypes: loaded 8278 lines from ./log/eventTypes.txt
2023.01.16 20:46:14 2: Signalbot Define: Signalbot Signalbot
2023.01.16 20:46:15 1: mapleCUL1: Can't open /dev/ttyACM0: Device or resource busy
2023.01.16 20:46:15 2: Switched mapleCUL2 rfmode to HomeMatic
2023.01.16 20:46:18 1: Fritz_Box: Can't connect to 192.168.0.1:1012: Network is unreachable
2023.01.16 20:46:18 1: Fritz_Box: Can't connect to 192.168.0.1:1012: connect to http://192.168.0.1:1012: Network is unreachable
2023.01.16 20:46:18 2: FB_CALLMONITOR (Fritz_Box) - read 402 contacts from Cache
2023.01.16 20:46:22 1: Including ./log/fhem.save
2023.01.16 20:46:24 2: huebridge: autocreate: created 0/0/0 devices (ignored 0/0/18)
2023.01.16 20:46:25 1: usb create starting
2023.01.16 20:46:25 1: CUL: Can't open /dev/ttyACM1: Device or resource busy
2023.01.16 20:46:25 1: CUL: Can't open /dev/ttyACM2: Device or resource busy
2023.01.16 20:46:32 1: usb create end
2023.01.16 20:46:33 0: Featurelevel: 6.1
2023.01.16 20:46:33 0: Server started with 201 defined entities (fhem.pl:26868/2022-12-18 perl:5.032001 os:linux user:fhem pid:645)
2023.01.16 20:46:33 3: DbLog myDbLog - DB connection parameters are stored in SubProcess


Das ist scheinbar auch reproduzierbar bei einem Neustart.

Aeroschmelz

Guten Abend,

mit dem Update funktioniert es. Ich kann jetzt zumindest direkt über das GlobalMsg Device über die dort hinterlegten Attribute eine Nachricht an Signal schicken. Herzlichen Dank für das Update und die Fehlersuche. Ich bekomme es lediglich noch nicht hin an eine Gruppe zu schreiben ;-) Muss man wohl noch mal den Tip von Flachzange ansehen und den Code ändern. @#Gruppe funktioniert standardmäßig nicht.

Danke noch einmal... ;-)

Viele Grüsse
Marcus

Flachzange

Ja, das wäre tatsächlich toll, wenn der Maintainer von msg die Regex um die Raute ergänzen könnte. :D

@Aeroschmelz: was war denn jetzt der Fehler bei Dir? Ich habe es ehrlich gesagt nicht verstanden. Ist das ein Einzelschicksal bei Dir? Bei mir läuft msg mit signalbot nämlich ohne Auffälligkeiten.

Aeroschmelz

Der Status der Push Route bei msg hat immer auf STATUS=UNAVAILABLE gestanden, weil der state des Signalbot Devices auf 0 gesetzt wurde. Das ist bei mir mindestens beim Neustarten passiert. Kannst du mal deine Änderung in der Zeile 1247/1248 hier posten?

Danke.