FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Tueftler1983 am 15 Mai 2016, 19:41:40

Titel: GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 15 Mai 2016, 19:41:40
Hallo zusammen ich habe im Garten eine Pool Steuerung basierend auf E2000 mit einem AVR NET IO.
Jetzt würde ich gerne die Werte von Luft Temperatur, Wasser Temperatur und PH Wert über das Webinterface von E2000 abrufen
definiert habe ich es wie folgt:
define Pool HTTPMOD 192.168.2.91/p2? 60

In FHEM bekomme ich jetzt im buf vom Modul folgendes angezeigt:
HTTP/1.1 200 OK <html><head><title>E2000-NET-IO</title></head> <body text=white link=white alink=white vlink=white bgcolor=black><font face='Courier New'><h1>E2000-NET-IO</h1> <div style='float:left;margin:5px'><a href='p0'>POOL Pum</a></div> <div style='float:left;margin:5px'><a href='p1'>Pool Lic</a></div> <div style='background:#333;float:left;margin:5px'><a href='p2'>Temperat</a></div> <div style='float:left;margin:5px'><a href='p3'>Garten</a></div> <div style='float:left;margin:5px'><a href='p4'>Carport</a></div> <div style='float:left;margin:5px'><a href='p5'></a></div> <div style='float:left;margin:5px'><a href='s '>Status</a></div><table style='clear:both;width:400px'> <tr><td>Luft</td><td> 135</td></tr> <tr><td>Wasser</td><td> 170</td></tr> <tr><td>PH Anheb</td><td> 204</td></tr> <tr><td>???</td><td> 20</td></tr> <tr><td>PH in</td><td> 0</td></tr> </table><p>Created by <a href='http://elektronik2000.de/'>Elektronik2000.de</a></p> <meta http-equiv='refresh' content='3; URL=?'></font></body></html>

Wie bekomme ich jetzt
Luft 135 = 13,5°C
Wasser 170 = 17°C
Und PH Anheb 204 = 2

Ausgelesen sodass ich sie in FHEM anzeigen kann.
Wenn das mit der Komma Setzung nicht geht das würde ich auch in E2000 noch programmiert bekommen.

Bin dankbar für eure hilfe
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 15 Mai 2016, 22:11:45
indem du attribute definierst. Zb

reading1Name temperature

und dann ein regex definierst

reading1Regex Luft<\/td><td> ([\d]+)

das machst du für jedes reading. Am besten kopierst du den buffer und gehst auf: https://regex101.com/

dort kopierst du den bufferinhalt in das Feld Teststring. Mit meinem regex oben kannst du starten, kopier das in die obere Zeile. Das ist mal ein Anfang, jetzt siehst du schonmal was er findet und musst das regex entsprechend modifizieren dass er nur den Wert abgreift (da habe ich jetzt keine Lust zu :-) )
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Devender am 15 Mai 2016, 23:16:27
###Problem gelöst - siehe ganz unten ###

Salü zusammen,

ich hoffe der Threadersteller ist mir nicht böse, dass ich mich hier anhänge...

Ich habe ebenfalls heute angefangen mit HTTPMOD mir eine Webseitenabruf zu bauen.
Nach mehreren Stunden  :-X habe ich es auch geschafft, meine Information so zu lesen, mit Regex zu bearbeiten, dass ich genau das habe was ich brauche.

Hintergrund: Ich filtere mir gewisse Staumeldungen von einer Webseite aus und speichere diese im Reading. Hier als Beispiel für die Autobahn A3:

Meine Regex: (?s)text__copytext">A3(.*?)<\/p>

Das Ergebnis im Reading lautet dann: Frankfurt  - Würzburg im Bereich der Begrenzung befinden sich Personen auf der Fahrbahn.

Soweit so gut - alles perfekt. Jetzt kommt das ABER...

Ich wollte mir das Ganze Ergebnis nun vom Sonosplayer vorlesen lassen. Leider kann dieser mit dem " - " (Bindestrich) nichts anfangen. Der Vorlesevorgang wird schlicht und einfach abgebrochen.
Nach stundenlangem Suchen habe ich dann einen Befehl gefunden den ich in meinem at mit rein packen konnte.


Original war es so:

Temperatur { my $val = (ReadingsVal("$name", "Wassertemperatur", 0)); $val =~ s/,/\./g; return $val;}

ich habe mir dann nur das hier rausgezogen:
$val =~ s/ - / /g; return $val;;

Hier wird einfach der " - " durch ein Leerzeichen ersetzt

mein at
*18:10:00 {
            my $stau = "Die aktuellen Staumeldung von "
            . TimeNow()
            . ReadingsVal("Staumeldung","A3","") ;;
               fhem "set Staudummy $stau";
              $stau =~ s/ - / /g; return $stau;;
             fhem "set Staudummy2 $stau";
             fhem "set Sonosplayer Speak 50 de $stau";;
            }


Was passiert ist nun folgendes:
Das at wird korrekt ausgeführt, bis zu dem Punkt, wo das Ersetzen stattfindet.
Im Log sehe ich nichts ungewöhnliches - keine Fehler. Man sieht sogar, dass das Ersetzen durchgeführt wird.

2016.05.15 18:32:00 3: TESTWERT STAT, Die aktuellen Staumeldung von 2016-05-15 18:32:00
Frankfurt  - Würzburg im Bereich der Begrenzung befinden sich Personen auf der Fahrbahn.
##Kommentar von mir: Hier wird scheinbar der "-" entfernt. - Das Ergebnis kommt aber im Staudummy2 nicht an
2016.05.15 18:32:00 3: Staumelder: Die aktuellen Staumeldung von 2016 05 15 18:32:00
Frankfurt  Würzburg im Bereich der Begrenzung befinden sich Personen auf der Fahrbahn.
2016.05.15 18:32:00 5: redefine at command Staumelder as *18:32:00 {
            my $stau = "Die aktuellen Staumeldung von "
. TimeNow()
            . ReadingsVal("Staumeldung","A3","");;
            fhem "set Staudummy $stau";
{ Log 3, "TESTWERT STAT, $stau,";}
             $stau =~ s/-/ /g; return $stau;
{ Log 3, "TESTWERT VAL, $stau,";}
             fhem "set Staudummy2 $stau";
            }

Ebenfalls hab ich es schon mit einer Funktion in der 99_myUtils probiert. Bekomme allerdings das gleiche Bild zurückgeliefert. Es wird ersetzt aber das Ergebnis kommt nicht an.

Hat jemand eine Idee??

Danke und Grüße,
Dirk


####Edit##########

Problem gelöst:
mein at
*18:10:00 {
            my $stau = "Die aktuellen Staumeldung von "
            . TimeNow()
            . ReadingsVal("Staumeldung","A3","") ;;
               fhem "set Staudummy $stau";
              $stau =~ s/ - / /g; return $stau;;
             fhem "set Staudummy2 $stau";
             fhem "set Sonosplayer Speak 50 de $stau";;
            }


Es lag scheinbar an den "unsichtbaren" Zeilenumbrüchen die sich beim Einlesen in die Variablen gebildet haben.
Mit Hilfe von
$stau =~ tr{\n}{ };

hat sich das Problem gelöst.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 13:04:37
Bin jetzt soweit das mir unter Readings "MATCHED_READING" Angezeigt wird. Aber den Wert sehe ich immer noch nicht.

Was fehlt denn noch?
Wenn ich erstmal einen hinbekomme schaffe ich den Rest auch.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 16 Mai 2016, 13:21:48
Na, du hast das ja genau so genommen wie ich zuerst geschrieben habe. Das greift aber auch den Text usw.
Die Kunst ist das regex so zu verfeinern dass es nur den Wert hinter zb Luft greift.
Vielleicht hast du Glück und Frank schaut mal hier rein, der ist der regex Experte hier.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 16 Mai 2016, 13:34:15
ZitatBin jetzt soweit das mir unter Readings "MATCHED_READING" Angezeigt wird. Aber den Wert sehe ich immer noch nicht.
in deinem screenshot sehe ich kein matched_readings. wenn dort dein reading auftaucht, sollte auch das reading sichtbar werden.
besser ist, wenn du "list Pool" in die eingabezeile tipst und dann das ergebis in codetags postest.

edit: du hast die attribute nicht so benannt, wie ernst es dir empfohlen hat.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 16:14:41
war nach einem wiki eintrag vorgegangen hier zwei screenshots

Einmal von regex101 und von Fhem
hoffe es hilft weiter

Achso ein list Pool habe ich auch gemacht
Internals:
   BUSY       0
   DEF        http://192.168.2.90/p2? 60
   Interval   60
   LASTSEND   1463407824.21779
   MainURL    http://192.168.2.90/p2?
   NAME       Pool
   NR         91
   STATE      Error evaluating Pool stateFormat: Can't find string terminator '"' anywhere before EOF at (eval 72948) line 1.

   TRIGGERTIME 1463407884.21497
   TRIGGERTIME_FMT 2016-05-16 16:11:24
   TYPE       HTTPMOD
   addr       http://192.168.2.90:80
   buf        HTTP/1.1 200 OK



<html><head><title>E2000-NET-IO</title></head>                                                              <body text=white link=white alink=white vlink=white bgcolor=black><font face='Courier New'><h1>E2000-NET-IO</h1>               <div style='float:left;margin:5px'><a href='p0'>POOL Pum</a></div>                                                             <div style='float:left;margin:5px'><a href='p1'>Pool Lic</a></div>                                                             <div style='background:#333;float:left;margin:5px'><a href='p2'>Temperat</a></div>                                             <div style='float:left;margin:5px'><a href='p3'>Garten</a></div>                                                               <div style='float:left;margin:5px'><a href='p4'>Carport</a></div>                                                              <div style='float:left;margin:5px'><a href='p5'></a></div>                                                                     <div style='float:left;margin:5px'><a href='s '>Status</a></div><table style='clear:both;width:400px'>                         <tr><td>Luft</td><td>   145</td></tr>                                                                                          <tr><td>Wasser</td><td>   170</td></tr>                                                                                        <tr><td>PH Anheb</td><td>   204</td></tr>                                                                                      <tr><td>???</td><td>    20</td></tr>                                                                                                                                                                                                                                                                                                                                                         <tr><td>PH in</td><td>     0</td></tr>                                                                                                                                                                                                                        </table><p>Created by <a href='http://elektronik2000.de/'>Elektronik2000.de</a></p>                                            <meta http-equiv='refresh' content='3; URL=?'></font></body></html>
   code       200
   conn
   data       {"get" :["Luft"]}
   displayurl http://192.168.2.90/p2?
   header
   host       192.168.2.90
   httpheader HTTP/1.1 200 OK
   httpversion 1.0
   hu_blocking 0
   hu_filecount 13
   ignoreredirects 0
   loglevel   4
   path       /p2?
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.2.90/p2?
   value      0
   QUEUE:
   Readings:
     2016-05-16 16:10:24   MATCHED_READINGS
   Request:
     data       {"get" :["Luft"]}
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.2.90/p2?
     value      0
   Defptr:
     Readingbase:
       Luft       reading
       LuftTemperatur reading
       PH         reading
       WasserTemperatur reading
     Readingnum:
       Luft       01
       LuftTemperatur 1
       PH         3
       WasserTemperatur 2
   Sslargs:
Attributes:
   reading01Name Luft
   reading01Regex Luft<\/td><td> ([\d.]+)
   requestData {"get" :["Luft"]}
   showMatched 1
   stateFormat {sprintf("%.1f Grad, ReadingsVal($name,"Luft",0))}
   userattr   reading01Name reading01Regex requestData
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 16 Mai 2016, 17:08:28
genau, in dem regex siehst du ja was greift, unten blau unterlegt. Jetzt musst du halt deinem Namen Ehre machen und oben an dem Ausdruck solange tüfteln bis du nur die Zahl unterlegt hast.
Ich würde es dir sagen wenn ich es wüsste, aber ich müsste auch probieren einlesen usw
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 17:59:55
Ich dachte rechts bei matches ist das was erkannt wird weil da bei matches ja nur 135 steht.
Hmm okay dann muss ich mal gucken wie das funktioniert.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 21:17:54
Habe jetzt soviel probiert aber sobald ich hier: Luft<\/td><td> ([\d.]+)       was ändere findet regex.com nix mehr oder nur noch zahlen dann aber nicht mehr die Temperatur sondern die erste zahlenkombination im buffer
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 22:11:08
Hallo ich bin jetzt etwas weiter.
Ich bekomme jetzt unter readings Temperatur angezeigt allerdings ohne das ein wert dabei steht.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 16 Mai 2016, 22:36:58
änder mal spaßeshalber in stateformat das '%.1f' in '%s' und schau was er dann ausgibt.

Das hier kannst du auch mal versuchen
(Wasser<\/td><td>) ([0-9]+)
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 16 Mai 2016, 23:33:52
Hallo Ernst
Wenn ich das state Format ändere kommt statt 0.0 Grad nur 0 Grad
Mit:
(Wasser<\/td><td>) ([0-9]+)
Kommt nix, mit
(Wasser<\/td><td>) ([0-9]*)
Kommen 2 readings allerdings sehe ich da auch nirgendwo Werte
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 17 Mai 2016, 09:31:59
was bringt denn folgendes:
(?s).*?Luft.*?([\d]+)
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 09:47:16
Zitat von: Tueftler1983 am 16 Mai 2016, 23:33:52
Hallo Ernst
Wenn ich das state Format ändere kommt statt 0.0 Grad nur 0 Grad
Ah ok, war ein Versuch. Dachte evtl gibt es da ein Problem bei der Umwandlung string nach float, aber perl ist da wohl nicht so picky.

Tja, was soll ich sagen, weiter testen. Oder darauf hoffen dass einer der Experten hier dein Bemühen als solches anerkennt, ein Einsehen hat und dir den entscheidenden Tip gibt.

Oder du kopierst den buffer in einen Text Editor und speicherst das file z.B als pool.html ab und schaust dir das Ergebnis im Browser an. Ein bisschen viel schwarz für meinen Geschmack aber über denn kann man ja bekanntlich  .....
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 10:08:49
Zitat von: frank am 17 Mai 2016, 09:31:59
was bringt denn folgendes:
(?s).*?Luft.*?([\d]+)

ne greift alles ab vom Anfang bis 170. Jedenfalls auf https://regex101.com. Habe jetzt noch den hier gefunden: http://www.regextester.com
Der bringt ganz andere Ergebnisse, da sagt er bei deinem code 'no match'.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 17 Mai 2016, 10:28:34
seltsam, bei mir bringt regex101 => 135. also, die gewünschte zahl.
der andere tester versteht die singleline-option "(?s)" nicht.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 10:35:45
vielleicht liegt es an der Vorgehensweise. Ich copy und paste seinen buffer  unten in das entsprechende Feld?

Ist denn bei dir unten im Suchtext nur die gesuchte Zahl hinterlegt, oder rechts im Feld match?
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 10:54:21
Ich werde jedenfalls weiter testen. Vielleicht auch mal mit telnet. Das E2000 System ist klasse da gibt es nix aber ich hätte halt gerne alles unter einem Dach. Und umstellen auf fhem geht nicht da ich dann die Busmodule von E2000 nicht mehr verwenden kann.

Irgendwie muss ich die werte ja von der Seite bekommen
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 17 Mai 2016, 10:55:53
siehe bild.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 11:03:02
ok so sieht das bei mir mit deinem regex auch aus. Hier als Bsp mal mit:
(Wasser<\/td><td>) ([0-9]+)
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 11:13:07
Das selbe habe ich ja auch. Und bei Wasser müßte ich ja das reading wasser-2 nehmen aber auch dann wird kein wert angezeigt.
Ich verstehe es nicht von dem was regex.com ausspuckt sollte es ja gehen.

HTTP/1.1 200 OK <html><head><title>E2000-NET-IO</title></head> <body text=white link=white alink=white vlink=white bgcolor=black><font face='Courier New'><h1>E2000-NET-IO</h1> <div style='float:left;margin:5px'><a href='p0'>POOL Pum</a></div> <div style='float:left;margin:5px'><a href='p1'>Pool Lic</a></div> <div style='background:#333;float:left;margin:5px'><a href='p2'>Temperat</a></div> <div style='float:left;margin:5px'><a href='p3'>Garten</a></div> <div style='float:left;margin:5px'><a href='p4'>Carport</a></div> <div style='float:left;margin:5px'><a href='p5'></a></div> <div style='float:left;margin:5px'><a href='s '>Status</a></div><table style='clear:both;width:400px'> <tr><td>Luft</td><td> 130</td></tr> <tr><td>Wasser</td><td> 170</td></tr> <tr><td>PH Anheb</td><td> 204</td></tr> <tr><td>Luft1</td><td> 13</td></tr> <tr><td>Wasser1</td><td> 17</td></tr> <tr><td>PH in</td><td> 0</td></tr> </table><p>Created by <a href='http://elektronik2000.de/'>Elektronik2000.de</a></p> <meta http-equiv='refresh' content='3; URL=?'></font></body></html>

Habe auch versucht bei e2000 Wasser1 und Luft1 anzulegen und die Werte in e2000 schon durch 10 geteilt damit dann beim auslesen schon 13.5 ausgegeben wird aber auch so keinen erfolg.
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 17 Mai 2016, 11:19:21
hast du denn nun schon meine letzte regex probiert? was kommt dann?
(?s).*?Luft.*?([\d]+)

ist dein fhem aktuell?
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 11:58:02
Das sieht schonmal super aus es kommen werte jetzt muss es nur noch mit der , setzung klappen siehe screenshot

das (?s).*?Luft.*?([\d]+)

nur es sind keine 155 °C und 165°C sondern 15,5°C und 16,5°C

Internals:
   BUSY       0
   DEF        http://192.168.2.90/p2? 60
   Interval   60
   LASTSEND   1463479078.9998
   MainURL    http://192.168.2.90/p2?
   NAME       Pool
   NR         91
   STATE      Wasser 165.0 Grad, Luft 160.0 Grad
   TRIGGERTIME 1463479138.99687
   TRIGGERTIME_FMT 2016-05-17 11:58:58
   TYPE       HTTPMOD
   addr       http://192.168.2.90:80
   buf        HTTP/1.1 200 OK



<html><head><title>E2000-NET-IO</title></head>                                                              <body text=white link=white alink=white vlink=white bgcolor=black><font face='Courier New'><h1>E2000-NET-IO</h1>               <div style='float:left;margin:5px'><a href='p0'>POOL Pum</a></div>                                                             <div style='float:left;margin:5px'><a href='p1'>Pool Lic</a></div>                                                             <div style='background:#333;float:left;margin:5px'><a href='p2'>Temperat</a></div>                                             <div style='float:left;margin:5px'><a href='p3'>Garten</a></div>                                                               <div style='float:left;margin:5px'><a href='p4'>Carport</a></div>                                                              <div style='float:left;margin:5px'><a href='p5'></a></div>                                                                     <div style='float:left;margin:5px'><a href='s '>Status</a></div><table style='clear:both;width:400px'>                         <tr><td>Luft</td><td>   160</td></tr>                                                                                          <tr><td>Wasser</td><td>   165</td></tr>                                                                                        <tr><td>PH Anheb</td><td>   204</td></tr>                                                                                      <tr><td>Luft1</td><td>    16</td></tr>                                                                                         <tr><td>Wasser1</td><td>    16</td></tr>                                                                                                                                                                                                                      <tr><td>PH in</td><td>     0</td></tr>                                                                                                                                                                                                                        </table><p>Created by <a href='http://elektronik2000.de/'>Elektronik2000.de</a></p>                                            <meta http-equiv='refresh' content='3; URL=?'></font></body></html>
   code       200
   conn
   data
   displayurl http://192.168.2.90/p2?
   header
   host       192.168.2.90
   httpheader HTTP/1.1 200 OK
   httpversion 1.0
   hu_blocking 0
   hu_filecount 9
   ignoreredirects 0
   loglevel   4
   path       /p2?
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.2.90/p2?
   value      0
   QUEUE:
   Readings:
     2016-05-16 23:17:33   MATCHED_READINGS
     2016-05-16 22:14:31   Temperatur
     2016-05-17 11:57:59   temperature     160
     2016-05-17 11:57:59   wasser          165
     2016-05-17 11:46:59   wasser-1        Wasser</td><td>
     2016-05-17 11:46:59   wasser-2
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.2.90/p2?
     value      0
   Defptr:
     Readingbase:
       Luft       reading
       LuftTemperatur reading
       PH         reading
       Temperatur reading
       Wasser     reading
       WasserTemperatur reading
       temperature reading
       wasser     reading
       wasser-1   reading
       wasser-2   reading
     Readingnum:
       Luft       01
       LuftTemperatur 1
       PH         3
       Temperatur 01
       Wasser     02
       WasserTemperatur 2
       temperature 01
       wasser     02
       wasser-1   02
       wasser-2   02
     Readingoutdated:
     Readingsubnum:
       Temperatur
       temperature
       wasser
       wasser-1   -1
       wasser-2   -2
   Sslargs:
Attributes:
   reading01Name temperature
   reading01Regex (?s).*?Luft.*?([\d]+)
   reading02Name wasser
   reading02Regex (?s).*?Wasser.*?([\d]+)
   stateFormat {sprintf("Wasser %.1f Grad, Luft %.1f Grad", ReadingsVal($name,"wasser",0,),  ReadingsVal($name,"temperature",0))}
   userattr   reading01Name reading01Regex reading02Name reading02Regex requestData


Aber bis hier hin schon mal herzlichen DANK
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: frank am 17 Mai 2016, 13:08:02
dann sind im html-code wahrscheinlich newline-/tab-character versteckt.

zum nachträglichen bearbeiten der geparsten daten, kannst du zb das attribut readingXXOExpr nutzen. wahrscheinlich so:
reading01OExpr $val / 10
Titel: Antw:HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 13:30:59
Absulute spizenklasse!!!!

#############Korrektur######

Danke euch für die hilfe!!

Jetzt muss ich mir nur noch ein notify basteln das ich die Werte auch in FhemSwitch richtig angezeigt bekomme da steht immernoch 165.0 Grad, aber das wird schon klappen so in der oberfläche ist es perfekt!!
######

Alles wunderbar!! FhemSwitch und AndFhem brauchten nur etwas länger!!
Vielen Vielen Dank nochmal und den PH wert bekomme ich dank euch auch selber hin
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 15:43:48
schön des es jetzt klappt. Du kannst natürlich auch den readings andere Namen geben so wie es dir sinnvoll erscheint. Also Lufttemperatur und Wassertemperatur oder wie du halt magst.
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 18:43:10
Das geht habe mir die Stats Namen angepaßt echt klasse.

Kann ich mit dem Modul eigentlich nur zahlen auswerten oder auch Zustände und ggf sogar schaltbefehle senden?

Dafür müßte ich dann eh nen 2. HTTPMOD machen weil es auf ne 2. Bzw 3. Seite von dem e2000 Device ist.
Screenshot zeigt das ergebnis
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 19:08:20
okay und am Wochenende kommen wir dann alle zu schwimmen. Obwohl 17°C Wasser, naja vielleicht lieber nicht
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 19:33:53
Hehe Nein noch steht der Pool nicht, der Temperaturfühler vom Pool ist im Keller und der von der Lufttemperatur hängt aus dem Kellerfenster. Außerdem würde ich nicht in einen Pool gehen der nen PH Wert von 2.0 hat!
Aber ich muss mal los werden das Elektronik2000 auch ein super System ist egal ob das alte e2000 basierend auf einem AVR NET IO oder das neue e2000Plus basierend auf einem Raspberry.
Mit den Bus Modulen absulut super und günstig
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 19:50:05
Hab in Chemie nicht so aufgepasst, 2.0 ist stark basisch, oder?
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 17 Mai 2016, 20:04:28
Ne 2.0 ist sehr sauer sauber ist man dann sozusagen bis auf die knochen!  ;D
Ph von 7,2 ist ideal für den Pool.
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 17 Mai 2016, 20:51:45
Zitat von: Tueftler1983 am 17 Mai 2016, 20:04:28
Ne 2.0 ist sehr sauer sauber ist man dann sozusagen bis auf die knochen!  ;D
Ph von 7,2 ist ideal für den Pool.

Ich wusste es ging in die Richtung, gut dann halt jetzt in die andere  :)
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 18 Mai 2016, 20:17:20
Weiß jemand wie man als State ne Text anzeigen kann?

Readings bringen On oder Off
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 22 Mai 2016, 20:49:56
Für alle die es interessiert, hier meine configuration um mit e2000 zu kommunizieren.
Anzeige von Wasser Temperatun, Luft Temperatur, PH Wert des Wassers im Pool.
Anzeige und Steuerung von PoolPumpe Automatik Betrieb, Manueller Betrieb, Filter Verstopft und Reset Filter.
Anzeige und Steuerung von Garten Beleuchtung, Springbrunnen, Carport Beleuchtung und Steckdosen.

define Pool HTTPMOD http://192.168.2.90/p2? 30
attr Pool userattr reading01Name reading01OExpr reading01Regex reading02Name reading02OExpr reading02Regex reading03Name reading03OExpr reading03Regex requestData
attr Pool alias Temperaturen und PH
attr Pool reading01Name temperature
attr Pool reading01OExpr $val / 10
attr Pool reading01Regex (?s).*?Luft.*?([\d]+)
attr Pool reading02Name wasser
attr Pool reading02OExpr $val / 10
attr Pool reading02Regex (?s).*?Wasser.*?([\d]+)
attr Pool reading03Name PH
attr Pool reading03OExpr $val / 100
attr Pool reading03Regex (?s).*?PH Anheb.*?([\d]+)
attr Pool room Garten,Holger
attr Pool stateFormat {sprintf("Wasser %.1f Grad, Luft %.1f Grad, PH Wert %.1f", ReadingsVal($name,"wasser",0,),  ReadingsVal($name,"temperature",0), ReadingsVal ($name,"PH",0))}
define Pool_Pumpe HTTPMOD http://192.168.2.90/p0? 30
attr Pool_Pumpe userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex set01Name set01NoArg:0,1 set01URL set02Name set02NoArg:0,1 set02URL set03Name set03NoArg:0,1 set03URL
attr Pool_Pumpe reading01Name Automatik
attr Pool_Pumpe reading01Regex (?s).*?Pumpe AE.*?(Off|On).*?
attr Pool_Pumpe reading02Name Manuell
attr Pool_Pumpe reading02Regex (?s).*?Pool M E.*?(Off|On).*?
attr Pool_Pumpe reading03Name Pumpe
attr Pool_Pumpe reading03Regex (?s).*?Pool P E.*?(Off|On).*?
attr Pool_Pumpe reading04Name Filter
attr Pool_Pumpe reading04Regex (?s).*?Filter.*?(Off|On).*?
attr Pool_Pumpe room Garten,Holger
attr Pool_Pumpe set01Name Automatik_S
attr Pool_Pumpe set01NoArg 1
attr Pool_Pumpe set01URL http://192.168.2.90/p0?t000
attr Pool_Pumpe set02Name Manuell_S
attr Pool_Pumpe set02NoArg 1
attr Pool_Pumpe set02URL http://192.168.2.90/p0?t001
attr Pool_Pumpe set03Name FilterReset_S
attr Pool_Pumpe set03NoArg 1
attr Pool_Pumpe set03URL http://192.168.2.90/p0?t007
attr Pool_Pumpe stateFormat {sprintf("Automatik: %s , Manuell: %s , Steckdose: %s , Fliter: %s", ReadingsVal($name,"Automatik",0,), ReadingsVal($name,"Manuell",0), ReadingsVal ($name,"Pumpe",0), ReadingsVal($name,"Filter",0))}
define d_Filter dummy
attr d_Filter alias Filter Verstopft
attr d_Filter room Garten,Holger
define di_Filter DOIF ([Pool_Pumpe:Filter] eq "On") (set d_Filter on, set PushBullet message Filter Verstopt: Rückspühlen erfoderlich) DOELSEIF ([Pool_Pumpe:Filter] eq "Off") (set d_Filter off)
define Automatik_Notify notify d_Automatik:on_intern set Pool_Pumpe Automatik_S
define d_Automatik dummy
attr d_Automatik devStateIcon on_internon.*:on-for-timer
attr d_Automatik readingList Pool_Pumpe Automatik
attr d_Automatik room Garten,Holger
attr d_Automatik setList on off on_intern
attr d_Automatik webCmd on_intern
define Manuell_Notify notify d_Manuell:on_intern set Pool_Pumpe Manuell_S
define d_Manuell dummy
attr d_Manuell devStateIcon on_intern.*:on-for-timer
attr d_Manuell room Garten,Holger
attr d_Manuell setList on off on_intern
attr d_Manuell webCmd on_intern
define FilterReset_Notify notify d_FilterReset:on_intern { fhem "set Pool_Pumpe FilterReset_S"}
define d_FilterReset dummy
attr d_FilterReset devStateIcon on_intern.*:FS20.on
attr d_FilterReset room Garten,Holger
attr d_FilterReset setList on off on_intern
attr d_FilterReset webCmd on_intern
define di_Automatik DOIF ([Pool_Pumpe:Automatik] eq "Off") (set d_Automatik off) DOELSEIF ([Pool_Pumpe:Automatik] eq "On") (set d_Automatik on)
define di_Manuell DOIF ([Pool_Pumpe:Manuell] eq "Off") (set d_Manuell off) DOELSEIF ([Pool_Pumpe:Manuell] eq "On") (set d_Manuell on)
define di_Filter_Reset DOIF ([Pool_Pumpe:FilterReset] eq "Off") (set d_FilterReset off) DOELSEIF ([Pool_Pumpe:FilterReset] eq "On") (set d_FilterReset on)
define Carport HTTPMOD http://192.168.2.90/p4? 10
attr Carport userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex set01Name set01NoArg:0,1 set01URL set02Name set02NoArg:0,1 set02URL set03Name set03NoArg:0,1 set03URL set04Name set04NoArg:0,1 set04URL
attr Carport reading01Name CarPort_L
attr Carport reading01Regex (?s).*?CarP L.*?(Off|On).*?
attr Carport reading02Name CarPort_S
attr Carport reading02Regex (?s).*?CarP S.*?(Off|On).*?
attr Carport reading03Name Brunnen_S
attr Carport reading03Regex (?s).*?Brun S.*?(Off|On).*?
attr Carport reading04Name GartenL
attr Carport reading04Regex (?s).*?Garten L.*?(Off|On).*?
attr Carport room Garten,Holger
attr Carport set01Name CarPort_L_S
attr Carport set01NoArg 1
attr Carport set01URL http://192.168.2.90/p4?t021
attr Carport set02Name CarPort_S_S
attr Carport set02NoArg 1
attr Carport set02URL http://192.168.2.90/p4?t022
attr Carport set03Name Brunnen_S_S
attr Carport set03NoArg 1
attr Carport set03URL http://192.168.2.90/p4?t023
attr Carport set04Name Garten_L_S
attr Carport set04NoArg 1
attr Carport set04URL http://192.168.2.90/p4?t027
attr Carport stateFormat {sprintf("CarPort_L: %s , CarPort_S: %s , Brunnen_S: %s , GartenL: %s ", ReadingsVal($name,"CarPort_L",0,), ReadingsVal($name,"CarPort_S",0), ReadingsVal ($name,"Brunnen_S",0) , ReadingsVal ($name,"GartenL",0))}
define di_CarPort_L DOIF ([Carport:CarPort_L] eq "Off") (set d_Carport_L off) DOELSEIF ([Carport:CarPort_L] eq "On") (set d_Carport_L on)

define di_CarPort_S DOIF ([Carport:CarPort_S] eq "Off") (set d_Carport_S off) DOELSEIF ([Carport:CarPort_S] eq "On") (set d_Carport_S on)


define di_GartenL DOIF ([Carport:GartenL] eq "Off") (set d_GartenL off) DOELSEIF ([Carport:GartenL] eq "On") (set d_GartenL on)

define CarPort_L_notify notify d_Carport_L:on_intern set Carport CarPort_L_S

define CarPort_S_notify notify d_Carport_S:on_intern set Carport CarPort_S_S

define Brunnen_notify notify d_Brunnen:on_intern set Carport Brunnen_S_S

define GartenL_notify notify d_GartenL:on_intern set Carport Garten_L_S
define d_Brunnen dummy
attr d_Brunnen devStateIcon on_intern.*:on-for-timer
attr d_Brunnen room Garten,Holger
attr d_Brunnen setList on off on_intern
attr d_Brunnen webCmd on_intern
define d_Carport_L dummy
attr d_Carport_L devStateIcon on_intern.*:on-for-timer
attr d_Carport_L room Garten,Holger
attr d_Carport_L setList on off on_intern
attr d_Carport_L webCmd on_intern
define d_Carport_S dummy
attr d_Carport_S devStateIcon on_intern.*:on-for-timer
attr d_Carport_S room Garten,Holger
attr d_Carport_S setList on off on_intern
attr d_Carport_S webCmd on_intern
define d_GartenL dummy
attr d_GartenL devStateIcon on_intern.*:on-for-timer
attr d_GartenL room Garten,Holger
attr d_GartenL setList on off on_intern
attr d_GartenL webCmd on_intern
define di_Brunnen_S DOIF ([Carport:Brunnen_S] eq "Off") (set d_Brunnen off) DOELSEIF ([Carport:Brunnen_S] eq "On") (set d_Brunnen on)
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 22 Mai 2016, 21:56:06
na, da ist ja einiges zusammen gekommen.  :)
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 23 Mai 2016, 08:18:25
Ja aber hat sich gelohnt jetzt noch Pumpen Icons suchen bzw machen
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: Tueftler1983 am 27 Mai 2016, 22:32:23
Icons sind auch fertig!

Wer Interesse hat hier sind sie
Titel: Antw:GELÖST!! HTTPMOD verwendet mit E2000
Beitrag von: ernst1024 am 28 Mai 2016, 23:52:54
sieht super aus!