HTTPMOD Abfrage von Arduino Server

Begonnen von daruel, 01 Januar 2018, 12:13:27

Vorheriges Thema - Nächstes Thema

daruel


viegener

Was mir im Code auffällt, ist, dass Du eine Mac-Adresse setzt. Das kann natürlich auch das Routing durcheinanderbringen, hat das einen bestimmten Grund und ist diese Mac vielleicht auch bei dem anderen Arduino im Einsatz?

Wenn nicht kannst Du die mal ändern oder muss man die überhaupt setzen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

Habe die Mac mal getauscht, keine Änderung

Habe bis jetzt keine Anleitung und keinen Sketch ohne gefunden, aber auch keinen Grund ob notwendig oder nicht.

Würde ja auch mal versuchen, das EthernetShield zu tauschen, aber es geht ja nunmal an dem einen Rechner....

Vielleicht starte ich den Versuch trotzdem, muss dann nur die Firmata kurzfristig außer betrieb nehmen

viegener

ich glaube auch nicht, dass es am Ethernetshield liegt.

Dein Code ist so, dass er nur eine Verbindung zu einer Zeit zulässt, also kann es sein, dass von irgendwo ein Client verbunden ist?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

Das kann eigentlich nicht sein. Seit dem ich die IP nochmal getauscht habe, habe ich es nur an 2 Rechnern versucht. Selbst wenn der iMac aus ist, geht es nicht.

Aber was auch eventuell merkwürdig ist:

Pinge ich vom Terminal aus bekomme ich

Request timeout for icmp_seq 0

Gehe ich erst per ssh auf den Pi und pinge dann :

icmp_seq=2 Destination Host Unreachable

Ich glaube, ich muss mir mal einen andere Code basteln.


viegener

Probier doch mal einfach die Beispiel-Anwendung aus der Arduino-Ethernet-Lib - da gibt es auch einen Webserver
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

#21
Also das Beispiel sieht ziemlich genau so aus wie mein Sketch.

Habe jetzt nur schnell im Beispiel meine Sensoren eingebunden und den HTML Teil kopiert und siehe da: im Moment läufts!

Nur das state format zeigt die Werte nicht an, was wäre da falsch?

Die Readings passen, aber der Dewpoint kommt nicht automatisch, obwohl ich das mal für alle Devices mit T / H aktiviert hatte

      ---->Edit   Dewpoint allgemein mit "define dew_state dewpoint dewpoint .* T H D"  scheint ja dann nur zu funktionieren, wenn ich nur 1x T und H als reading bekomme und nicht wie bei mir Ti (inside) Hi und To (outside) Ho ??

reading01Name
Temperature inside
deleteattr
reading01Regex
Temperature inside:.([\d\.]+)
deleteattr
reading02Name
Humidity inside
deleteattr
reading02Regex
Humidity inside:.([\d\.]+)
deleteattr
reading03Name
Temperature outside
deleteattr
reading03Regex
Temperature outside:.([\d\.]+)
deleteattr
reading04Name
Humidity outside
deleteattr
reading04Regex
Humidity outside:.([\d\.]+)
deleteattr
room
Keller
deleteattr
stateFormat
stateFormat Ti: Temperature inside Hi: Humidity inside To: Temperature outside Ho: Humidity outside
deleteattr
userattr
get1CheckAllReadings:0,1 reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex
deleteattr
verbose
5

viegener

Sorry das ist so kaum lesbar, kannst Du mal ein list von Deinem Device machen?

Also list <devicename> eingeben und das Ergebnis posten?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

Habe das o.g. Device  gelöscht und nochmal ein neues angelegt.

StateFormat passt soweit, es fehlt mir nur noch das Reading dewpoint

Was mir aber mal wieder aufgefallen ist, die Readings wurden, bis auf eines, das letzte Mal gestern Abend aktualisiert. Was kann das wieder sein?

Internals:
   BUSY       0
   DEF        http://192.168.178.12/ 60
   Interval   60
   LASTSEND   1515143157.55835
   MainURL    http://192.168.178.12/
   ModuleVersion 3.4.0 - 9.9.2017
   NAME       Temp_Server
   NR         117
   STATE      T in: 19.30 H in: 37.30 T out: 21.20 H out: 41.40
   TRIGGERTIME 1515143217.55667
   TRIGGERTIME_FMT 2018-01-05 10:06:57
   TYPE       HTTPMOD
   addr       http://192.168.178.12:80
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl http://192.168.178.12/
   header     
   host       192.168.178.12
   httpheader HTTP/1.1 200 OK
Content-Type: text/html
Connection: close
Refresh: 5
   httpversion 1.0
   hu_blocking 0
   hu_filecount 899
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.12/
   value      0
   QUEUE:
   READINGS:
     2018-01-04 19:05:18   Hi              37.30
     2018-01-04 19:05:18   Ho              41.40
     2018-01-05 10:05:57   Ti              19.30
     2018-01-04 19:05:18   To              21.20
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.12/
     value      0
   defptr:
     readingBase:
       Ti         reading
     readingNum:
       Ti         01
     readingOutdated:
     requestReadings:
       update:
         Ti         reading 01
   sslargs:
Attributes:
   reading01Name Ti
   reading01Regex Temperature inside:.([\d\.]+)
   room       Keller
   stateFormat T in: Ti H in: Hi T out: To H out: Ho
   userattr   reading01Name reading01Regex reading02Name reading02Regex

viegener

Das ist so nicht erkennbar, was sagt denn der logfile? (FHEM-log)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

Kommando zurück!

Habe erst jetzt gesehen, dass die anderen Regex wohl bei einem Neustart noch nicht gespeichert waren!


Wenn das alles jetzt so läuft, fehlen mir nur noch die Dewpoint readings.

Kann man auch für die Temperature eine art Dummy erzeugen, so dass es aussieht als wären es 2 eigenständige Sensoren?

Internals:
   BUSY       0
   DEF        http://192.168.178.12/ 60
   Interval   60
   LASTSEND   1515143998.24216
   MainURL    http://192.168.178.12/
   ModuleVersion 3.4.0 - 9.9.2017
   NAME       Temp_Server
   NR         117
   STATE      T in: 19.70 H in: 37.20 T out: 19.80 H out: 39.70
   TRIGGERTIME 1515144058.24033
   TRIGGERTIME_FMT 2018-01-05 10:20:58
   TYPE       HTTPMOD
   addr       http://192.168.178.12:80
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl http://192.168.178.12/
   header     
   host       192.168.178.12
   httpheader HTTP/1.1 200 OK
Content-Type: text/html
Connection: close
Refresh: 5
   httpversion 1.0
   hu_blocking 0
   hu_filecount 913
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.12/
   value      0
   QUEUE:
   READINGS:
     2018-01-05 10:19:58   Hi              37.20
     2018-01-05 10:19:58   Ho              39.70
     2018-01-05 10:19:58   Ti              19.70
     2018-01-05 10:19:58   To              19.80
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.12/
     value      0
   defptr:
     readingBase:
       Hi         reading
       Ho         reading
       Ti         reading
       To         reading
     readingNum:
       Hi         02
       Ho         04
       Ti         01
       To         03
     readingOutdated:
     requestReadings:
       update:
         Hi         reading 02
         Ho         reading 04
         Ti         reading 01
         To         reading 03
   sslargs:
Attributes:
   reading01Name Ti
   reading01Regex Temperature inside:.([\d\.]+)
   reading02Name Hi
   reading02Regex Humidity inside:.([\d\.]+)
   reading03Name To
   reading03Regex Temperature outside:.([\d\.]+)
   reading04Name Ho
   reading04Regex Humidity outside:.([\d\.]+)
   room       Keller
   stateFormat T in: Ti H in: Hi T out: To H out: Ho
   userattr   reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex

viegener

Nicht sicher ob ich Deine Frage richtig verstehe, aber über ReadingsProxy kannst Du Readings als neues Device verfügbar machen

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

daruel

Danke, das war schonmal ein guter Hinweis!

Kann man da auch 2 Readings einlesen?  Habe Device:To Ho versucht lässt aber nur eins zu, auch nicht mit Komma

Internals:
   CFGFN     
   DEF        Temp_Server:To
   DEVICE     Temp_Server
   NAME       Temp_aussenTEST
   NOTIFYDEV  Temp_Server,global
   NR         493
   NTFY_ORDER 50-Temp_aussenTEST
   READING    To
   STATE      20.00
   TYPE       readingsProxy
   CONTENT:
     Temp_Server 1
   READINGS:
     2018-01-05 10:31:12   state           20.00
Attributes:

viegener

Zitat von: daruel am 05 Januar 2018, 10:33:40
Danke, das war schonmal ein guter Hinweis!

Kann man da auch 2 Readings einlesen?  Habe Device:To Ho versucht lässt aber nur eins zu, auch nicht mit Komma


Soweit ich die Commandref lese nicht, aber ich muss zugeben ich benutze ReadingsProxy nicht selber
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Tesla