SMA Sunny Webbox

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
rroettgen
Beiträge: 3
Registriert: 14. Aug 2023 10:05
Answers: 0

SMA Sunny Webbox

Beitrag von rroettgen »

Hallo zusammen.
Ich lese schon eine ganze Weile im Forum mit, nun habe ich mich angemeldet, damit ich Fragen stellen kann,
dennn ich komme nicht weiter.
Ich nutze OpenHab3 auf einem Raspbian Pi4.
Mein Problem ist die Anbindung einer 10 Jahre alten SMA Sunny Webbox.
Ich habe viel im Netz gelesen, aber die Lösungen bezogen sich nicht auf OH3.

Ich kann die RPC Api an von der Pi Console aus abfragen:
curl -X POST --silent -d 'RPC={"version":"1.0","proc":"GetPlantOverview","id":"1","format":"JSON"}' -H 'content-type:text/plain;' http://192.168.178.4/rpc

Die Ergebnisse sehen auch brauchbar aus:
{"format":"JSON","result":{"overview":[
{"unit":"W","meta":"GriPwr","name":"GriPwr","value":"2058"},
{"unit":"kWh","meta":"GriEgyTdy","name":"GriEgyTdy","value":"2.331"},
{"unit":"kWh","meta":"GriEgyTot","name":"GriEgyTot","value":"43923.682"},
{"unit":"","meta":"OpStt","name":"OpStt","value":""},{"unit":"","meta":"Msg","name":"Msg","value":""}]},"proc":"GetPlantOverview","version":"1.0","id":"1"}

Ich habe keine Idee, wo ich denn jetzt in OH3 den curl Befehl einsetze. Im HTTP-Binding klappt das nicht.
Ich hoffe auf Tipps.

Danke und Gruß,
Reiner

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: SMA Sunny Webbox

Beitrag von udo1toni »

Doch, tatsächlich sollte das http Binding hier das richtige Werkzeug sein. Das Ding ist halt: Du musst genau wissen, wie Du den RPC korrekt setzt. Eventuell geht es nur mit dem http Binding von Smarthome/J, das kannn einige Dinge, die im Original Addon wohl Probleme bereiten.

Eine mögliche Alternative: Du sammelst die Daten per Script ein und nutzt das Exec Addon. Allerdings ist auch das Exec Binding nicht ohne Tücken, und der ankommende String (das JSON Objekt) enthält Anführungszeichen, was evtl. bei der Übergabe nach openHAB Probleme bereiten könnte.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

rroettgen
Beiträge: 3
Registriert: 14. Aug 2023 10:05
Answers: 0

Re: SMA Sunny Webbox

Beitrag von rroettgen »

Moin,

ich habe das mit http-url getestet, die Logs auf einen Webserver gesendet und von dort dann eingelesen. Da ich habe im http-url es nicht hinbekommen habe eine Einheit an den Wert zu bekommen, habe ich das ganze nochmal neu programmiert und mit mqtt erledigt.

Ich rufe jede Minute folgendes bash Script auf:

Code: Alles auswählen

#!/bin/bash


#set -xv
host="192.168.178.4"

#Mosquitto Server
host_m="192.168.178.150"

log="/home/rr/sma.json"
#log="/var/www/html//sma.json"

mqu="sma"
mqp=`echo "xxx"`

#echo "$mqu : $mqp"
#exit

#Alive check

ping -c3 "$host" > /dev/null 2>&1

if [ $? != 0 ]

then

        #echo "$host not available"

        exit 1

fi




# 3 Versuche Datenabfrage

for i in 1 2 3 4 5 6

do
        #Wert
        cp=$(curl -s http://$host/home.htm | grep Power  | awk -F '>' '{print $2}' | awk -F ' ' '{print $1}')
      
        cpe=$(curl -s http://$host/home.htm | grep DailyYield  | awk -F '>' '{print $2}' | awk -F ' ' '{print $1}' | sed 's/\,/./g')
        cpe_e=$(curl -s http://$host/home.htm | grep DailyYield  | awk -F '>' '{print $2}' | awk -F '</td' '{print $1}' | awk -F ' ' '{print $2}')
        #Achtung:Wenn als Einheit Wh angegeben ist rechnen wir das in kWh um !
        if [ "$cpe_e" = "Wh" ];
        then
        cpe=`echo "scale=3;$cpe/1000" | bc -l| awk '{printf "%.3f\n", $0}'   `
        cpe_e="kWh"
        fi

        cpt=$(curl -s http://$host/home.htm | grep TotalYield  | awk -F '>' '{print $2}' | awk -F ' ' '{print $1}' | sed 's/\,/./g')
       
        if [ "$cp" != "" ]

        then

                DATETIME=`date "+%Y-%m-%d%H:%M:%S"`

                mosquitto_pub -h "$host_m" -u "$mqu" -P $mqp -t sma/sb4tl/SENSOR -m "{\"Time\":\"$DATETIME\",\"ENERGY\":{\"Power\":$cp,\"Today\":$cpe,\"Total\":$cpt}}"

                exit 0

        fi

        sleep 1

done






Das Passwort zum mqtt-Broker darf kein "!" enthalten, denn das Interpretiert die Bash als Befehlsinterpreter. Zum Glück kann man im mqtt-Broker mehrere Benutzer anlegen, denn ich hatte schon einige Tasmota-Geräte am Broker mit ! im PW angemeldet.

Das passende Thing in OH sieht dann wie folgt aus:

Code: Alles auswählen

UID: mqtt:topic:mqtt-broker-roett:PV_DACH
label: PV_DACH
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mqtt-broker-roett
location: Attic
channels:
  - id: pv_dach_current
    channelTypeUID: mqtt:number
    label: PV Dach Leistung
    description: PV Dach Leistung
    configuration:
      stateTopic: sma/sb4tl/SENSOR
      transformationPattern: JSONPATH:$.ENERGY.Power
      unit: W
  - id: pv_dach_today
    channelTypeUID: mqtt:number
    label: PV Dach Tagesertrag
    description: PV Dach Tagesertrag
    configuration:
      stateTopic: sma/sb4tl/SENSOR
      transformationPattern: JSONPATH:$.ENERGY.Today
      unit: kWh
  - id: pv_dach_total
    channelTypeUID: mqtt:number
    label: PV Dach Ertrag Total
    description: PV Dach Ertrag Total
    configuration:
      stateTopic: sma/sb4tl/SENSOR
      transformationPattern: JSONPATH:$.ENERGY.Total
      unit: MWh
Viel Erfolg mit eurer SMA Webbox, da ich nichts passendes gefunden hatte hoffe ich, dass ich hiermit weiteren Leidensgenossen helfen kann.

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: SMA Sunny Webbox

Beitrag von udo1toni »

Bitte Code immer als Code markieren, die Forensoftware verändert die Formatierung, was insbesondere bei yaml fatal ist, da yaml Indentation nutzt.

Aber auch sonst trägt es zur Lesbarkeit bei... ;)

Was meinst Du damit?
rroettgen hat geschrieben: 19. Aug 2023 13:08 Da ich habe im http-url es nicht hinbekommen habe eine Einheit an den Wert zu bekommen,
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

rroettgen
Beiträge: 3
Registriert: 14. Aug 2023 10:05
Answers: 0

Re: SMA Sunny Webbox

Beitrag von rroettgen »

Damit meinte ich, dass ich mit dem http-Binding zwar Werte auslesen und darstellen konnte, aber leider keine EInheit (W / kWh /MWh) anfügen. Da ich das mit den Tasmota Steckdosen als mqtt Thing konnte, habe ich auf mqtt umprogrammiert.

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: SMA Sunny Webbox

Beitrag von udo1toni »

Dafür gibt es den unit Parameter (Voraussetzung: Number Channel). Funktioniert hier einwandfrei mit diversen http Channels
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Tokamak
Beiträge: 169
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: SMA Sunny Webbox

Beitrag von Tokamak »

Ich habe eine Sunny Webbox, 16 Jahre alt. Die die aktuelle Leistung, den Tages- und Gesamtertrag hole ich mit dem Modbus - Binding.

Man muss nur Modbus in der Webbox einschalten.

Bin gerade nicht am Rechner, kann aber auf Wunsch Things und Items bereitstellen

Gesendet von meinem HD1900 mit Tapatalk

Produktiv: Proxmox mit OH 3.4 und HABApp im LXC-Container
Entwicklung: Proxmox mit OH 4.1 und HABApp im LXC-Container

Antworten