[gelöst] TelegramBot sendet nicht aus 99_myUtils aufgerufen

Begonnen von RalfRog, 25 März 2023, 20:15:09

Vorheriges Thema - Nächstes Thema

RalfRog

Edit: Habe die Frage in den Support Thraed gegeben:

https://forum.fhem.de/index.php?msg=1269995

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

Ursache in kurz:

es sieht so aus, als wenn non Blocking in non Blocking nicht funktioniert. ...
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Beta-User

Kannst du mal testen, ob es klappt, wenn du in deinen fhem-Aufruf im Script ein kurzes "sleep" einbaust?  Ungetestet (kann v.a. sein, dass du das Semikolon maskieren musst):

 
fhem("sleep 0.1; set teleBot message @#UserName LogCheck: $Variable1 Text  $Variable2",1);
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

RalfRog

Ich glaube da hatte ich was sprobiert und es hat nicht geholfen.
Aber hier https://forum.fhem.de/index.php?msg=1270723 (geht schon vorher los) sind die Gründe diskutiert.

Die Ursache liegt wohl tatsächlich darin, dass (im FritzBox-Modul) ein Funktion nonBlocking aufgerufen wird aus der heraus der TelegramBot aufgerufen wird und darin wieder ein nonBlocking-Call erfolgt.


Jo Wiemann hat im FritzBox-Modul die Funktion wahlweise auf Blocking umgestellt dann geht es.
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

Beta-User

Das (korrekt angewendete) FHEM-sleep sollte gerade verhindern, dass das Kommando unmittelbar rausgeht, sondern erst, wenn der Code (incl. blocking-Aufruf) fertig ist.

Hatte schon gesehen, dass ihr das anders gelöst hat, es wäre halt interessant gewesen, ob der FHEM-sleep-Weg auch eine Variante gewesen wäre...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

RalfRog

#5
Zitat von: Beta-User am 04 April 2023, 19:14:50...
Hatte schon gesehen, dass ihr das anders gelöst hat, es wäre halt interessant gewesen, ob der FHEM-sleep-Weg auch eine Variante gewesen wäre...

Hat mich dann auch noch interessiert und es gerade mal in den nonBlocking Teil (den es ja neben dem Blocking-Teil gibt) reingesetzt.
Ist eher eine  Verschlimmbesserung. Mit Sleep wird der Bot gar nicht mehr aufgerufen (habe ; und ;; probiert). Nehme ich das sleep raus sehe ich die verbose4 Meldungen vom Bot  ::)  hmmmm...

mit sleep ;
2023.04.04 22:41:41.702 3: INFO: Aufruf von <get fritzLog hash sys> nonBlocking, damit funktioniert der TelegramBot nicht
2023.04.04 22:41:41.706 3: INFO: Blocking Aufruf verwenden <get fritzLog hash sys off>

mit sleep ;;
2023.04.04 22:44:37.740 3: INFO: Aufruf von <get fritzLog hash sys> nonBlocking, damit funktioniert der TelegramBot nicht
2023.04.04 22:44:37.745 3: INFO: Blocking Aufruf verwenden <get fritzLog hash sys off>

ohne sleep
2023.04.04 22:47:07.499 3: INFO: Aufruf von <get fritzLog hash sys> nonBlocking, damit funktioniert der TelegramBot nicht
2023.04.04 22:47:07.503 3: INFO: Blocking Aufruf verwenden <get fritzLog hash sys off>
2023.04.04 22:47:07.510 4: TelegramBot_Set teleBot: Processing TelegramBot_Set( message )
2023.04.04 22:47:07.515 4: TelegramBot_GetFullnameForContact # Contacts is -123456789::#USER-Name:
2023.04.04 22:47:07.518 4: TelegramBot_GetFullnameForContact # name is #USER-Name
2023.04.04 22:47:07.535 4: TelegramBot_SendIt parseMode 0
2023.04.04 22:47:07.539 4: TelegramBot_SendIt teleBot: Message for sending :--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="chat_id"

-123456789
--TelegramBot_boundary-x0123
Content-Disposition: form-data; name="text"

nonBlocking Test neue Sub myUtilsFritzLogExPostnb
--TelegramBot_boundary-x0123--:
2023.04.04 22:47:07.543 4: TelegramBot_SendIt teleBot: timeout for sent :30:

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder