FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: laserrichi am 03 Juni 2023, 17:40:12

Titel: Notify aufruf von shell script und übergabe von readings aus andere devices
Beitrag von: laserrichi am 03 Juni 2023, 17:40:12
Folgende Aufgabestellung:

ich habe bisher über doif shell scripte aufgerufen und werte übergeben, funktionert auch seit langem gut.
Jetzt will ich mir auch mit notify so etwas basteln, aber ich glaube fast das ich das nicht so trivial lösen kann mit auslesen von anderen readings und im ausführungsteil einbauen.

bei DOIF ist es mit den eckigen klammern, aber das geht ja bei notify nicht, man nimmt eigentlich "" aber genau da ist jetzt der haken, das ja beim aufruf von shell script keine übergabe mehr ermöglicht.


defmod notify_Dispaytest notify FritzAnrufe:event:.ring "sudo sh /opt/fhem/FHEM/notifyanruf.sh [FritzAnrufe:external_name] [FritzAnrufe:external_number]"
ein weiteres Thema.. ich kann alle shell scripte mit "sh ..." aufrufen, nur bei dem neu gebastelten nicht mehr, da muss ich sudo mitgeben, was mir ein rätsel ist denn der user fhem hat ja die rechte. Liegt es evtl. am curl ? wget geht ja in den anderen scripten.

Inhalt vom shell script:
#!/bin/sh
curl -X POST --data '{"text":"'$1:$2'","color":[0,255,255],"icon":"35"}' -H 'Content-Type: application/json' 'http://192.168.10.22/api/notify'
Titel: Aw: Notify aufruf von shell script und übergabe von readings aus andere devices
Beitrag von: laserrichi am 03 Juni 2023, 18:43:38
ok... ich kann mir jetzt selbst fast die Antwort geben :-)

FritzAnrufe:event:.ring {my $a = ReadingsVal($NAME,"external_name",""); my $b = ReadingsVal($NAME,"external_number",""); system("sh /opt/fhem/FHEM/notifyanruf.sh $a $b")}
wenn man im Ausführungsteil das nicht einbauen kann, muss man die readings vorher in variablen schreiben und braucht nur diese dann anhängen.

nur mit dem sudo bei dem script bin ich noch auf kriegsfuß aber mit system gehts auch ohne sudo...