FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hdosw am 23 November 2021, 14:17:08

Titel: qx bringt seltsame Einträge im logfile
Beitrag von: hdosw am 23 November 2021, 14:17:08
Hallo an alle,

ich habe in einem notify den Befehl
{system('/opt/fhem/mycfg/scripts/netpower.sh set 2 on');;}
umgestellt auf
{qx (curl -s --user user:pw --data F1=O http://ip-adr/ctrl.htm);;}

Mit dem systemaufruf funktioniert alles mit korrektem Eintrag im log, mit dem qxaufruf hab ich diesen log-eintrag:

2021.11.22 16:48:19 3: Anel_SD_02_dummy_off return value: ���`I�%&/m�{J�J��t��`$ؐ@������iG#)�*��eVe]f@�흼��{���{���;�N'���?\fdl��J�ɞ!���?~|?"���j�^��t�.ʣ��<�����/N���n����/Z��}t�M���I�l��(�/����e�=�WE�zYg����O߭�:o��;ܰ-�2?:~q�|����
��m�����˫�����w�   �-���t^����j<mZ���}Դ�e����(ŀ?���ߵw��5ӺX�iSO?�8���������ߕ���?j�I���b���?�Y�;�T�,�����M����Ϊ=�%�2������L��uZ-�W�쳏�߿�/�>�x���wi� ��"oi�����}M���?��θX.���o�x���p%��9�qn�3��>z���i�5�g�����v�^��:��� �=#��GӪ��G?�駟zxH���l6+����}t��Ye��;;�>�(-h �@)jp�F�G�ӷ��ɗ���U^fEc=�� �����w|�t�sb�]ዻv�j�2���<��(���죣��tog�^�����m�����wWG�c�

Kann man dies irgendwie verhindern? Hab schon einiges versucht leider ohne Erfolg.

Viele Grüße
Dieter
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: Otto123 am 23 November 2021, 14:36:19
Hallo Dieter,

qx liefert Dir das Ergebnis von curl zurück, Du trägst diese Rückgabe offenbar irgendwo "Anel_SD_02_dummy_off" ein.
Der Logeintrag ist ein "normaler" 3: Anel_SD_02_dummy_off return value: ...

Wo/wie genau rufst Du das qx() Konstrukt auf?

Gruß Otto
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: hdosw am 23 November 2021, 19:04:45
Hallo Otto,

das wird von einem DoIf aufgerufen. Die Rawdefinition sieht so aus:

defmod Anel_SD_02_dummy_off notify Anel_SD_02_dummy:off {qx (curl -s --user user:pw --data F1=O http://ip-Adr/ctrl.htm);;}

setstate Anel_SD_02_dummy_off 2021-11-22 16:52:35
setstate Anel_SD_02_dummy_off 2021-11-22 16:40:18 state active
setstate Anel_SD_02_dummy_off 2021-11-22 16:52:35 triggeredByDev Anel_SD_02_dummy
setstate Anel_SD_02_dummy_off 2021-11-22 16:52:35 triggeredByEvent off



vorher hab ich mit einem systemaufruf ein Shell-Script gestartet und das shellscript wollte ich durch diesen qx ersetzen.
Wenn ich den Befehl auf der shell starte kommt kein return.

Gruß
Dieter
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: Otto123 am 23 November 2021, 19:24:01
Hallo Dieter,

was kommt zurück wenn Du den Befehl in die FHEM Kommandozeile wirfst?
{qx (curl -s --user user:pw --data F1=O http://192.168.178.34:88/ctrl.htm);;}

Du kannst versuchen die Ausgabe Deines Befehls umleiten:
{qx (curl -s --user user:pw --data F1=O http://192.168.178.34:88/ctrl.htm > /dev/null)}

Allerdings finde ich das Konstrukt so nicht sinnvoll. Der Befehl wirkt blockierend, wenn Du nichts zurück erwartest ist das uU nicht sinnvoll.
Du kannst auch einfach den FHEM Shell Befehl nehmen, der blockiert nicht:
defmod Anel_SD_02_dummy_off notify Anel_SD_02_dummy:off "curl -s --user user:pw --data F1=O http://ip-Adr/ctrl.htm > /dev/null"
Etwas zum lesen aus meinen Notizen (https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html).

Gruß Otto
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: hdosw am 23 November 2021, 19:31:14
derselbe Kauderwelsch  :( wie im logfile

Die Umleitung hab ich auch schon versucht klappt leider auch nicht.

Werde den shell-Befehl testen. Danke Dir.

Gruß
Dieter

Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: Otto123 am 23 November 2021, 19:34:55
So umleiten?
2>&1> /dev/null
Der Shell  Befehl wird auch ins Logfile schreiben  ::)
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: hdosw am 23 November 2021, 19:53:24
Der Befehl funktioniert aber egal wie ich umleite es kommt immer der datenmüll im log  :(
Hast Du noch eine Idee?
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: Otto123 am 23 November 2021, 20:16:11
Ja :) mach es wie bisher im Script. Ich sehe keinen Sinn darin, kein Script zu verwenden.

Hier gab es das Thema auch schon https://forum.fhem.de/index.php?topic=58673.15
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: hdosw am 24 November 2021, 10:16:06
ok Danke für Deine Mühe und Zeit  :)

Viele Grüße aus FFB
Dieter
Titel: Antw:qx bringt seltsame Einträge im logfile
Beitrag von: Otto123 am 24 November 2021, 10:27:00
Hallo Dieter,

ich weiß nicht ob Du noch meine Ergänzung in #3 gesehen hast.
Ich habe da selbst auch lange rumprobiert - mein gedankliches Resüme: wenn es mehr wie eine Hand voll Positionen in der Kommandozeile gibt wird es stressig. ;)
- Hochkommas verschachteln
- stdOut / Umleitung
- Variablennamen auflösen/schützen
- Parameter ans nächste Programm weiterreichen
- und und und

Ich glaube, man kann es noch etwas abmildern wenn man die Zeile an bash -c 'Kommandofolge' übergibt. Aber da hat man schon wieder eine Ebene mehr.

Gruß Otto