Rückgabe / Rückmeldung aus Python3-Script LINUX

Hallo Zusammen,
nach einigem Elend, habe ich jetzt die Scripte für meine Dimstal-Klima soweit, dass diese in der Shell die korrekte Antwort geben.
Allerdings: Es kommt in das IPS-Script was den Befehl aufruft nichts zurück.
Das bedeutet, wenn ich zum Beispiel das ausführe:

$output = exec(python3 /var/lib/symcon/midea-msmart/symcon.py 192.168.1.216 31885837363506 True 0 False 21 0 0 False False False);

Dann ist $output komplett leer. Wenn ich den Befehl auf der Shell ausführe, dann kommen reichaltige Meldungen.
Siehe:

Woran kann das liegen? Ich habe auch schon exec(python3 /var/lib/symcon/midea-msmart/symcon.py 192.168.1.216 31885837363506 True 0 False 21 0 0 False False False, $output) probiert, gleiches Problem!

dietpi@DietPi:/$ python3 /var/lib/symcon/midea-msmart/symcon.py 192.168.1.216 31885837363506 True 0 False 21 0 0 False False False
Funktionsname: /var/lib/symcon/midea-msmart/symcon.py
IP Adresse= 192.168.1.216
ID= 31885837363506
Power= True
Modus= 0
Tone= False
Solltemp= 21.0
Fan= 0
Swing= 0
Eco= False
Turbo= False
IPSMaster= False
DEBUG:msmart.lan:Attempting new connection to 192.168.1.216:6444
DEBUG:msmart.lan:Socket 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 0.0 tcp_key: None
DEBUG:msmart.lan:Sending 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 0.0 message: 8370004020000000d1200ba682cf2b4c95f011756d63ab5a0b4bad5d3a003d464197dc5d10c733919d4b05443df2f6d796196e43337834d41476b87388182b79d968dc82c61d986f
DEBUG:msmart.lan:Recv 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 0.36 Response: 837000402001000042bd68679b99e05beb8c65525b0c29c038c966346f23c4d3708216fe388f90e27dcebe82329724dcd768bc9c08ae6b59144b27dbd6075a9bf2f24506eb0fb862
INFO:msmart.lan:Got TCP key for 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 0.39 a0990e6a32fe805e7fdf638baf58f865376430e744d28d91cf8742c462982cd0
DEBUG:msmart.command:Finalize request data: aa20ac00000000000003418100ff03ff0002000000000000000000000000371223
DEBUG:msmart.device:pkt_builder: 192.168.1.216:6444 len: 104 data: 5a5a01116800200000000000073738001a03161432690200001d00000000000000000000000000006b000a76e27eed2c3647e57d8602df8b5d83c3d3bf05b1f7b20afd3884fc5234fabd9611a01068eac9c473549748254244a75895f92d8c496865e242694dd933
DEBUG:msmart.lan:Socket 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 1.4 tcp_key: a0990e6a32fe805e7fdf638baf58f865376430e744d28d91cf8742c462982cd0
DEBUG:msmart.lan:Sending 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 1.4 message: 8370008e2066a6c2c772c43f37a995f8698884fe07a01b5d1292c6ceb0fea6a82fc45c3174f26dfedb9946bdd2a1b287d305dac22b4defa572986ab0a208d79cc54cf262e7fe3bfb592f6af077b4be770a740d61ddd12a222fbda2b192ae650040dc1d372e9fdc0b66fea7282f453fb5bf1b4e2f8430da6adbaa425a6c2a691336d0008a2e7bfe737e6c11bf33721983176f8985957c
DEBUG:msmart.lan:Recv 192.168.1.100:38052 -> 192.168.1.216:6444 retries: 0 time: 1.97 Response: 8370008e206322ef8b24fdd38890ca3886cd74ecdaf418bbbeabbbe49ad8680ade788d44a4336933bef71814a420473b45806516ef9989ba2e00b4b57412f323f19a9a79cd04fce3827b56f5649470b9af1904240717a870b8a33decf43e87eb8806e697b9d4ebe84f0785e906a84c12e7e69038b2a78ce3ce2377da9347e47109b2dadd58b4d25c7f73ff9b2c9bf52fdc4399265974
DEBUG:msmart.lan:Got responses len: 150
DEBUG:msmart.device:Got responses from 192.168.1.216:6444 Version: 3 Count: 1 Spend time: 0.57
DEBUG:msmart.device:Update from 192.168.1.216:6444 aa22ac00000000000303c00047667f7f00300000005d46000000000000000000230ebd
DEBUG:msmart.command:Appliance response data: c00047667f7f00300000005d46000000000000000000230ebd
fan_speed gefunden: 102
OperationMode gefunden: 2
SwingMode gefunden: 0
{'id': 31885837363506, 'ipaddr': '192.168.1.216', 'power_state': False, 'prompt_tone': False, 'target_temperature': 23.0, 'operational_mode': 2, 'fan_speed': 102, 'swing_mode': 0, 'eco_mode': False, 'turbo_mode': False, 'indoor_temperature': 21.0, 'outdoor_temperature': 10.0}
IPS Master nicht aktiv - keine Befehlsverarbeitung

Auf dem System läuft Debian Bullseye und das Script ist definitv ausführbar (also von den Dateirechten her)!
Ich kann nur nicht prüfen, ob Python3 auch aus IPS geht, in der SHell selbst auf jeden Fall.
Achso: IPS und das Python-Script sind natürlich auf dem gleichen Gerät!

Danke schonmal & Gruß
Maeffjus

Update (immer noch kein Erfolg):
Ich habe übrigens folgendes versucht:

IPS_execute (mit true für Warten)
exec
shell_exec

Dann habe ich bei dem Befehl auch ein „bash“ und auch mal ein „sh“ vorgestellt.
Und das python3 habe ich auch mal entfernt…
Bei keinen Befehl kommt eine Ausgabe / Rückmeldung.

Wenn ich aus dem Script aber (zum Testen) „df /“ ausführe, dann kommen Werte zurück…
Hiiiilfe :man_shrugging::grin:

Versuch das mal so …

$ret = exec("$cmd", $out, $rc); 
var_dump($ret); // last output line
var_dump($rc); // int(0)
foreach ($out as $line) { 
    echo $line.'<br />';
}

Heiko

Hey @pitti, danke!
Hat auch nicht geklappt, aber:

sudo -i -u dietpi python3 usw...

War evtl ein Nutzer bei dem es nicht geht (root, wieso auch immer es da nicht geht).
Danke!

Achso, noch ne Frage: Ich weiß, dass es eig. ne dumme Frage ist - vor allem wenn man IPS schon länger nutzt:
Was nehme ich als "Eigene Aktion"für die Variablen aus diesem Script?:

Daher kam das Problem mit dem Script. (Im Post ist das unter Windows im Einsatz)
Also ich würde sagen, das genannte Script nicht, das geht bei mir jedenfalls nicht.
Gruß
Maeffjus

Ist das ein Skript, dass auf Daten der Klimaanlage wartet? Oder werden die darüber einmalig abgeholt und das Skript muss extern über einen Scheduler aufgerufen werden?

Mit dem python3 Modul mqtt kannst Du recht einfach Daten an IPS übergeben, egal wo das Skript läuft. Beispiele siehe hier: How to Use The Paho MQTT Python Client - Beginners Guide

Im letzten Fall lässt Du das Skript einfach alle 30 Sekunden laufen und legst dann über den mqtt-Konfigurator die Variablen an.