#!/bin/bash #~/ecometer.sh # Daten aus einem Ecometer von Proteus per USB # an die Middleware eines volkszaehler.org uebergeben # 06.03.2019 Daniel Lauckner # Schnittstelle ECO_DEV=/dev/ttyUSB0 # VZ HOST=localhost UUID=12345678-1234-1234-1234-123456789012 # PATH fuer Cronjob setzen PATH=/usr/local/bin:$PATH # Schnittstelle konfigurieren stty < "$ECO_DEV" cs8 cstopb -ixon raw speed 115200 # Daten holen echo "Warte auf Daten" ECO_DATA=$(cat $ECO_DEV | xxd -l 22 -ps) # Timestamp TS=$(date +%s) TS=$(($TS*1000)) # Plausibilität ECO_HEAD=$(echo $ECO_DATA | cut -c1-4) if [ $ECO_HEAD=="5349" ]; # 0x5349 = "SI" then ECO_VALUE=$(printf "%d" "0x$(echo $ECO_DATA | cut -c33-36)") # Daten senden # echo wget -O - -q "http://$HOST/middleware.php/data/$UUID.json?operation=add&ts=$TS&value=$ECO_VALUE" wget -O - -q "http://$HOST/middleware.php/data/$UUID.json?operation=add&ts=$TS&value=$ECO_VALUE" printf "\n" else printf "Header 0x%s ungültig\n" $ECO_HEAD fi