Seite 2 von 2

Re: FOSHKplugin: Einbinden externer Datenquellen - Sensoren emulieren

Verfasst: 16 Jun 2025, 17:32
von rsgaf
Hi,

hab die Zeile eingefügt und das Script manuell ausgeführt:

Code: Alles auswählen

pi@raspberrypi:/opt/FOSHKplugin $ addScript.sh dies=das&jenes=nix
[1] 23003
pi@raspberrypi:/opt/FOSHKplugin $ bash: addScript.sh: Kommando nicht gefunden.
Neugierhalber habe ich auch mal nur das Script ohne dies=das&jenes=nix ausgeführt:

Code: Alles auswählen

i@raspberrypi:/opt/FOSHKplugin $ sudo ./addScript.sh
*<?xml version='1.0' encoding='ISO-8859-1' ?><state><datapoint ise_id='HmIP-RF.002762698ABB74:1.RAINING' value='false'/></state>*
&srain_piezo=0
pi@raspberrypi:/opt/FOSHKplugin $ 

Re: FOSHKplugin: Einbinden externer Datenquellen - Sensoren emulieren

Verfasst: 16 Jun 2025, 18:16
von olicat
Hi!

Der Aufruf sollte schon dieser sein:

Code: Alles auswählen

sudo ./addScript.sh dies=das&jenes=nix
Ansonsten sieht die Antwort doch deutlich anders aus als gestern mitgeteilt.
Das Script sucht den Substring value="true" - Deinem Beitrag nach wird das value aber nicht in doppelten sondern in einfachen Anfruehrungszeichen geschickt: value='true".
Somit muss man dann natuerlich auch danach innerhalb des Scriptes suchen:

Code: Alles auswählen

#!/bin/bash
# name this script addScript.sh and place it in the FOSHKplugin directory
# make script executable - chmod ug+x addScript.sh
# use in config file as Export\ADD_SCRIPT = ./addScript.sh

# the original output data from FOSHKplugin
instr="$@"

# address to gather the state from
address="http://foshkplugin.phantasoft.de/temp/rsgaf.html?sid=INSERTTOKEN&datapoint_id=HmIP-RF.002762698ABB74:1.RAINING"

# if sensor outputs 0 for no rain and 1 for is raining via http call
statetext=`curl -s $address`

#echo *"$statetext"*

if [ ! -z "${statetext}" ]; then 
  if [[ $statetext == *"value='true'"* ]]; then
    statestring="&srain_piezo=1"
  else
    statestring="&srain_piezo=0"
  fi
fi

# merge the original string with the new components
echo "${instr}${statestring}"
Oliver

Re: FOSHKplugin: Einbinden externer Datenquellen - Sensoren emulieren

Verfasst: 16 Jun 2025, 19:22
von rsgaf
Hi,

Code: Alles auswählen

Ansonsten sieht die Antwort doch deutlich anders aus als gestern mitgeteilt.
Das Script sucht den Substring value="true" - Deinem Beitrag nach wird das value aber nicht in doppelten sondern in einfachen Anfruehrungszeichen geschickt: value='true".
Sorry dafür, war keine Absicht. Das wird mir leider so in jedem Browser ausgegeben:
Unbenannt.PNG
Unbenannt.PNG (17.7 KiB) 257 mal betrachtet

Mit dem angepassten Script bekomme ich leider gar keine Ausgabe:

Oh man, aus versehen einen Absatz doppelt in das Script kopiert....
Jetzt funktioniert alles wie es soll.

Vielen Dank für Deine Hilfe und Geduld!

Re: FOSHKplugin: Einbinden externer Datenquellen - Sensoren emulieren

Verfasst: 16 Jun 2025, 19:41
von olicat
Hi!

Vermutlich musst Du die address noch entsprechend anpassen?
In Zeile 15 kannst Du versuchsweise das # am Anfang der Zeile entfernen, damit wir den Inhalt der Variable statetext angezeigt bekommen.
Das wird mir leider so in jedem Browser ausgegeben:
Interessant. Mir war nicht bewusst, dass Browser den Inhalt anders anzeigen koennen als curl.
Massgeblich ist aber, was curl sieht.

Ah, schon erledigt. Wunderbar.

Oliver