ETA Touch - Rest API

Begonnen von Heimweh, 11 November 2015, 23:21:54

Vorheriges Thema - Nächstes Thema

jojoja

Hallo,

kann es sein, dass wegen Minusgraden kein Match stattfindet? Ich habe folgenden Regex:

strValue="(-?\d+(,\d*)?)"

Gruß Johannes
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

Heimweh

Bei mir funktioniert es.


#
# ------------------------
# - ETA Aussentemperatur -
# ------------------------
#
define au ja erssentempEta HTTPMOD http://192.168.178.27:8080/user/var/40/10241/0/0/12197 1800
attr aussentempEta userattr event-min-interval event-on-change-reading reading01Name reading01Regex readingsExpr1 stateFormat verbose
attr aussentempEta alias Eta Aussentemperatur
attr aussentempEta enableControlSet 1
attr aussentempEta event-min-interval AT_Eta:3600
attr aussentempEta event-on-change-reading .*:1
attr aussentempEta group ETA
attr aussentempEta reading01Name AT_Eta
attr aussentempEta reading01Regex strValue="([\d,-]+)"
attr aussentempEta room EG Temperaturen,Eta
attr aussentempEta stateFormat {no warnings 'numeric' ;; sprintf("%.1f Grad",int(ReadingsVal($name,"AT_Eta",0)))}
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

George_Best


Perfekt - vielen, vielen Dank! Das funktioniert nun bei mir auch.

Aber, bitte entschuldigt die Anfängerfrage, aber was genau hat es mit der letzten Zeile in deinem Code auf sich?


attr aussentempEta stateFormat {no warnings 'numeric' ;; sprintf("%.1f Grad",int(ReadingsVal($name,"AT_Eta",0)))}


Gut - ich kapier zwar, dass es sich um Perl-Code handelt und du irgendwie dadurch das " Grad" anhängst...

Heimweh

Ehrlicherweise kann ich Dir das nicht erklären, ich hab das auch aus den verschiedensten Beispielen zusammengeschustert.....
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Frank_Huber

#19
--schnipp--
Inhalt hier gelöscht und einen neuen Thread aufgemacht zum generellen umgehen mit HTTP-POST
https://forum.fhem.de/index.php/topic,72250

jojoja

#20
Hallo,

soweit ich weiß geht das mit GetFileFromURL: https://wiki.fhem.de/wiki/HttpUtils
Im Parameter "data" soll dann die POST Nachricht rein. Könnte mir vorstellen, dass das dann z.B. "value=1803" heißen könnte, wie im HM forum...
Selbst habe ich das aber noch nicht gemacht.

Gruß Johannes

Edit: Da kam der --schnipp-- wohl beim Schreiben :D
FHEM 6.0 @ IntelNUC6CAYH;  Unifi USG, Switch, AP AC Pro; HM-MOD-UART;  Sonos Play 1 & 3, One, Beam; Philips Hue

Frank_Huber

für alle die hier mitlesen, ein erster Erfolg ist erzielt...
mit {GetFileFromURL("http://192.168.12.82:8080/user/var/40/10021/0/0/12112",5,"value=1803",0,4)} kann ich über FHEM die Entaschung starten.

MH1973

Hallo
die ETA Regelung ist Modbus IP fähig
damit können alle Werte ausgelesen und sogar geschrieben werden.
Für die Regelung gibt es keine Register-liste, diese muss an der Regelung selber eingestellt werden.

Gruß
Markus

Frank_Huber

Hi Markus,
Wenn man weiß wie geht das bestimmt....[emoji6]
Hast dazu evtl nen Beispiel Code?

Gesendet von meinem S3_32 mit Tapatalk


Frank_Huber

So,
Ein weiterer Meilenstein ist erreicht. Zirkulation Warmwasser nur wenn jemand zuhause ist.
Über IP PRESENCE schalte ich einen dummy auf on = jmd da oder off = niemand da.
Die ETA dann über diesen DOIF:
([Anwesenheit] eq "on")
(set TelegramBot message Zirkulation AN,
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1082",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1086",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1090",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1094",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1098",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1102",5,"begin=24&end=92",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1106",5,"begin=24&end=92",0,4)})
DOELSEIF ([Anwesenheit] eq "off")
(set TelegramBot message Zirkulation AUS,
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1082",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1086",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1090",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1094",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1098",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1102",5,"begin=0&end=0",0,4)},
{GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12175/0/1106",5,"begin=0&end=0",0,4)})


Die Telegrambot Zeilen fliegen die Tage wieder raus. Die sind nur zur Überprüfung. :)

/FRank

Frank_Huber

Mahlzeit,

Die nächste Funktion ist eingebaut. Einstellung der Warmwassertemperatur per FHEM Dummy.
Ein doif überwacht den DUMMY und stellt dann im ETA Kessel die Warmwassertemperatur ein.

Dummy:
defmod ETA_Warmwasser dummy
attr ETA_Warmwasser event-on-change-reading state
attr ETA_Warmwasser group Heizungssteuerung
attr ETA_Warmwasser room zentrale Funktionen
attr ETA_Warmwasser setList 40 45 50 55 60


DOIF:
defmod DOIF_Warmwasser DOIF ([ETA_Warmwasser:"^.*$"])\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1082",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1086",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1090",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1094",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1098",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1102",5,"value=$EVENT0&begin=0&end=96",0,4)})\
({GetFileFromURL("http://192.168.12.82:8080/user/var/72/10531/12318/0/1106",5,"value=$EVENT0&begin=0&end=96",0,4)})
attr DOIF_Warmwasser DbLogExclude .*
attr DOIF_Warmwasser do always
attr DOIF_Warmwasser group Heizungssteuerung
attr DOIF_Warmwasser room zentrale Funktionen
attr DOIF_Warmwasser verbose 0



vielleicht kann es ja jemand brauchen. :)

Grüße
Frank

wusa

Hallo Zusammen,

ich habe nun auch seit 4 Wochen eine ETA Heizung. Eine PU 11.

Da ich mir anfangs eigentlich einen Raspi mit Temperatursensoren aufstellen wollte, habe ich hier gelesen, dass man die Werte auch direkt auslesen kann.
Der Heizung habe ich auch eine feste IP vergeben und angeschlossen.
Über folgenden Link erreiche ich die Heizung: http://192.168.7.100:8080/user/menu
Problem hierbei ist allerdings, dass folgende Fehlermeldung erscheint:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<eta xmlns="http://www.eta.co.at/rest/v1" version="1.0">
<error>No such application or domain</error>
</eta>


Muss hier am Kessel noch etwas eingestellt werden, oder mache ich etwas falsch?

Heimweh

Hallo Wusa,

erreichst Du denn die ETA über das Portal von Eta? Hast Du es mal lokal mit VNC probiert?

Über Systemeinstellungen / meinETA musst Du alle 4 "Schalter" einschalten. Bei mir ist es eine Weile her,
aber mehr war nicht zu tun erinnere ich mich.

Dein link (sofern Deine IP stimmt) ist auf jeden Fall richtig und sollte funktionieren
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

wusa

Hi Heimweg,

über das Portal von ETA habe ich mich noch nicht registriert. Muss dass sein, oder ist wäre das eine Empfehlung?
VNC habe ich noch nicht getestet.

Über die Systemeinstellung / meinETA werde ich heute nachsehen, da habe ich bisher noch nichts gemacht. Bist habe ich nur die IP vergeben und angeschlossen.
Mache ich aber heute Abend.

Danke vorerst. Ich melde mich ob es geklappt hat!

Frank_Huber

Zitat von: wusa am 11 August 2017, 13:23:23
Muss hier am Kessel noch etwas eingestellt werden, oder mache ich etwas falsch?
Du musst in MeinETA noch die API freischalten. kann ich Dir nachher zuhause genauer erklären und die API pdfs hier posten.