Skip to main content

Skript ausführen (RestAPI curl POST)

auf openhab server:
/home/openhabian/tb-temp.sh

#!/bin/bash

#while :
#do
#  cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')
#  memUsage=$(free -m | awk '/Mem/{print $3}')
#  sleep 10
#done


key01=$1
value01=$2
echo 'Starte Thingsboard POST Request mit: '$key01' und '$value01

curl -v -X POST -d "{\"$key01\": $value01}" https://thingsboard.cloud/api/v1/EYDyfp3Ep14qyFuluIZM/telemetry --header "Content-Type:application/json"

 

 

in openhab rules:
e3dc-to-thingsboard.rules

rule "Sende PV-Anlagedaten Hausverbrauch an Thingsboard"
when
    Item E3DC_Haus changed
then
    logInfo("Thingsboard","Sende Power House")
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_House_W@@"+E3DC_Haus.state.toString, 2*1000)
end

rule "Sende PV-Anlagedaten minütlich an Thingsboard"
when
    Time cron "0 * * * * ?" //jede Minute (wenn Sekunden = 0)
then
    logInfo("Thingsboard","Sende minütlich")
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_Grid_W@@"+E3DC_Netz.state.toString, 2*1000)
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_PV_W@@"+E3DC_PV.state.toString, 2*1000)
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_Battery_W@@"+E3DC_Battery.state.toString, 2*1000)
    executeCommandLine("/home/openhabian/tb-temp.sh@@SOC_Battery_Perc@@"+E3DC_SOC.state.toString, 2*1000)
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_PV-String-East_W@@"+E3DC_Power_String1.state.toString, 2*1000)
    executeCommandLine("/home/openhabian/tb-temp.sh@@Power_PV-String-West_W@@"+E3DC_Power_String2.state.toString, 2*1000)
end