WebUI-Systemvariable per Raspi auslesen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

Re: WebUI-Systemvariable per Raspi auslesen

Beitrag von dtp » 22.04.2016, 14:41

alchy hat geschrieben:Du hast doch immer gesagt, " gar kein Problem mit Sonderzeichen" :P :mrgreen:
Ach, Pappalapap, oder wie auch immer man das schreiben mag. 8)

Wer denkt denn auch schon an den Zugriff auf die CCU von außen. ;) Vielleicht versuch ich's ja noch mal per XML_API.

Der Script Parser hat in der Tat so seine Probleme mit Umlauten. Der hatte mir ja auch schon die Anzeige der Umlaute über das "Programme-drucken"-Addon zerschossen.
alchy hat geschrieben: Wenn du die ISE_ID benutzen würdest, müsste deine Curl abfrage aber funktionieren.
Oder so.

Bis dann,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

schorsch05
Beiträge: 38
Registriert: 01.12.2020, 07:25
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 6 Mal

Re: WebUI-Systemvariable per Raspi auslesen

Beitrag von schorsch05 » 24.09.2022, 14:10

Hallo,
wie dtp baue ich mir gerade eine DoorPi auf. Dabei möchte ich eine Systemvariablen aus einer CCU3 auslesen. Die Systemvariable ist eine Werteliste mit Wörtern. dtp hatte dazu am 16.04.2016 etwas in diesem thread gepostet. Ich bekomme es trotz mehrerer Versuche einfach nicht hin.

Code von dtp vom 16.04.2016

Code: Alles auswählen

#!/bin/bash
CCU_IP=<IP-Adresse der CCU>
LBoxPi_IP=<IP-Adresse des Raspberry>
HMInfo=<Telegram Bot Token>
ChatId=<Telegram Chat-ID>

present=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject('Haus%20SV%20Anwesenheit').Value()")
present=${present##*<x>}
present=${present%%</x>*}

if [ "$present" == "true" ]
  then
    curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject('EG%20Briefkasten%20VT%20Klingel').DPByHssDP('PRESS_SHORT').State(1)"
elif [ "$present" == "false" ]
  then
    curl -s -k "https://api.telegram.org/bot${HMinfo}/sendMessage" -d text="Haustürklingel betätigt." -d chat_id=$ChatId
    wget -O /home/pi/Haustürklingel.jpg http://${LBoxPi_IP}:80/cam.jpg
    curl -s -k "https://api.telegram.org/bot${HMinfo}/sendPhoto" -F chat_id=$ChatId -F disable_notifications=1 -F photo="@/home/pi/Haustürklingel.jpg"
fi

exit 0
Ich habe dazu ein kleines Script im folgenden Verzeichnis erstellt
Bild

Mein Test-Script:

Code: Alles auswählen

#!/bin/bash
CCU_IP=xxx.xxx.xxx.xxx # IP-Adresse der CCU
LBoxPi_IP=xxx.xxx.xxx.yyy # IP-Adresse des LBoxPi

# Pushover Keys
PoHMwarning=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa # Token "HomeMatic Warnung" 
PoHMalarm=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb  # Token "HomeMatic Alarm"
PoUser1=cccccccccccccccccccccccccccccccccccc # API-Key Benutzer 1
PoUser2= # API-Key Benutzer 2
echo "Pushover Keys"

# HomeMatic CCU ISE_IDs
#HMiseid1= # "Haus SV Anwesenheit"
#HMiseid2= # "CCU SV Push Dienst" 0(aus) 1(alle) 2(Pushover)
echo "HMiseid1 :"$HMiseid1
echo "HMiseid2 :"$HMiseid2

# CCU-Systemvariable "Haus SV Anwesendheit" auslesen
present=$(curl -s -k "http://${CCU_IP}:8181/rega.exe?x=dom.GetObject(4991).Value()")
present=${present##*<x>}
present=${present%%</x>*}
echo "present : "$present

Wenn ich das Sricpt mit dem folgendem Befehl starte, erhalte ich diesen Ausdruck, jedoch nicht den Inhalt der Systemvariablen

Code: Alles auswählen

pi@DoorPiSv:~ $ sudo /usr/local/etc/DoorPi/scripts/DoorPiTest.sh
Pushover Keys
HMiseid1 :
HMiseid2 :
present : <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>401 - Unauthorized</title> </head> <body> <h1>401 - Unauthorized</h1> </body> </html>

Kann mir jemand den Fehler aufzeigen?
Liegt es unter Umständen an den Zugriffsrechten?

Bis dann
Schorsch
Dateianhänge
DoorPi.jpg
Grüße
Schorsch

Homematic: CCU3, Addons: RedMatic, CUxD
Apps: PocketControl

Antworten

Zurück zu „HomeMatic allgemein“