[vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Klaus Reichenecker
kr at kr123.de
Sun Dec 10 16:04:01 CET 2017
Hallo Frank,
die %2d fügt ESPEasy ein
Wenn ich allerdings das Ganze mit den %2d in Chrome zum VZ schicke funktioniert es
Ich habe jetzt allerdings mal einen kleinen Syslog-Server aufgesetzt, dort sehe ich etwas mehr: (von unten nach oben)
12-10-2017 15:58:23 Kernel.Debug 192.168.178.90 ESP Unit: 0 : /volkszaehler_neu/volkszaehler.org/htdocs/middleware.php/data/579f6430%2dd82b%2d11e7%2d9b16%2d319ab8bfd2e1.json?operation=add&value=19.3
12-10-2017 15:58:23 Kernel.Debug 192.168.178.90 ESP Unit: 0 : HTTP : connecting to 217.160.233.140:80
Wenn der ESP tatsächlich den Wert nicht an meinedomain.de sondern an 192.168.178.90 schickt landet er auf dem 1und1 Kundenserver
Was mich halt total irritiert ist die Antwort:
12-10-2017 16:00:39 Kernel.Debug 192.168.178.90 ESP Unit: 0 : {"version":"0.3","exception":{"message":"Invalid UUID: '579f6430%2dd82b%2d11e7%2d9b16%2d319ab8bfd2e1'","type":"Exception","code":0}}
Das heisst er erreicht auf jeden Fall irgend einen VZ?
Weiss jemand wann VZ mit invalid UUID statt No entity found antwortet?
Vielleicht liegt es auch doch an den %2d, und meine ältere VZ-Installation kann damit nichts anfangen?
Logge ich auf eine lokale aktuelle Installation geht es mit den %2d problemlos
----- Original Message -----
From: Frank Richter
To: volkszaehler.org - users
Sent: Sunday, December 10, 2017 3:56 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo Klaus,
das mit den Anführungszeichen habe ich inzwischen rausgefunden, das liegt an meiner 0.4er Middleware des lokalen VZ. Mit 0.3 seht Invalid UUID bei mir genauso aus wie bei dir.
Aber: wenn ich die UUID aus deiner Fehlermeldung an meinen lokalen VZ schicke, bekomme ich nicht "Invalid UUID" zurück, sondern nur:
{"version":"0.3","exception":{"message":"No entity found with UUID: 'f9ac2b20-dd9e-11e7-b6a1-bd8af09249ec'","type":"Exception","code":0}}
Invalid UUID kann ich nur provozieren, indem ich Zeichen entferne oder hinzufüge. Also ist das bei dir vermutlich ein Format-Problem im gesendeten Request.
Woher kommen die %2d statt der Minuszeichen? Minuszeichen sollten in URLs doch eigentlich kein Problem darstellen?
Grüße
Frank
Am 10. Dezember 2017 um 15:39 schrieb Klaus Reichenecker <kr at kr123.de>:
Hallo Frank,
in ESPEasy habe ich nur
volkszaehler_neu/volkszaehler.org/htdocs/middleware.php/data/%valname%.json?operation=add&value=%value%
die UUID habe ich beim Sensor unter Name stehen
Leider zeigt mir ESPEasy im Log nicht an was es schickt, das würde die Fehlersuche sehr vereinfachen
Logge ich auf eine lokale VZ-Installation, funktioniert es (vielleicht liegt das aber auch daran das die Version auf dem Webserver älter ist, anderes Problem, kann die nicht updaten)
Habe auch mal testweise das Ganze zu meinem Raspberry geschickt, dort auf mit ncat -l 1234 das Gesendete angeschaut, scheint zu passen
Muss mir wohl doch irgendwas mit Wireshark basteln
Viele Grüße
Klaus
----- Original Message -----
From: Frank Richter
To: volkszaehler.org - users
Sent: Sunday, December 10, 2017 3:30 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo Klaus,
in deiner Fehlermeldung sind nochmal einfache Anführungszeichen um die UUID - wenn ich meinem lokalen vz einen Request mit falscher UUID unterjubele, bekomme ich die gleiche Fehlermeldung, allerdings OHNE diese Anführungszeichen. Hast du die in ESPeasy im Formular eingegeben?
Grüße
Frank
Am 10. Dezember 2017 um 15:18 schrieb Klaus Reichenecker <kr at kr123.de>:
Hallo Frank,
genau das mit dem DNS-Namen geht leider nicht, ich weiss nicht wirklich warum
Komischwerweise bekomme ich ein
" : {"version":"0.3","exception":{"message":"Invalid UUID: 'f9ac2b20%2ddd9e%2d11e7%2db6a1%2dbd8af09249ec'","type":"Exception","code"
zurück, obwohl die UUID definitiv die richtige ist
gebe ich das was der ESP sendet zusammen mit meiner Domain in Chrome ein funktioniert es.
Habe leider nicht so einfach die Möglichkeit das Ganze zu loggen, meine Unitymedia-Fritzpox erlaubt es nicht den Traffic mitzschneiden
Falls jemand Lust und die Gegebenheiten hat das Ganze mit z.B. Wireshark anzusehen schccke ich ihm gerne den Link zu meinem VZ
Viele Grüße
Klaus
----- Original Message -----
From: Frank Richter
To: volkszaehler.org - users
Sent: Sunday, December 10, 2017 3:13 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo zusammen,
könnt ihr statt IP (die man bei billigem Hosting wohl kaum für sich alleine hat) nicht den DNS-Namen verwenden?
Ich hab, auch angeregt durch diesen Thread, vor ein paar Tagen ESPeasy dev 12 auf ein Wemos D1 mini installiert und konnte beim HTTP-Controller wählen, ob der Server per IP oder per DNS angegeben werden soll. Lokal läuft das bei mir problemlos, eine vz-installation bei einem Hoster hab ich nicht. Versuch mit demo.volkszaehler.org hat nicht geklappt, da vermute ich allerdings dass es an der generellen Umleitung auf HTTPS liegt, damit kann der ESP anscheinend nicht verbinden.
Grüße
Frank
Am 10. Dezember 2017 um 15:01 schrieb Klaus Reichenecker <kr at kr123.de>:
Hallo Michael,
die bei denen es funktioniert, haben ihren VZ vermutlich lokal installiert und erreichen ihn über die IP-Adresse
Mäch mal einen Ping auf Deine Domain wo Dein VZ liegt - nimm die dort angezeigte IP-Adresse und versuche ob Du damit auf auch wieder auf Deine Domain kommst?
Das merkwürdige bei menen Versuchen ist, das ich eine Rückmeldung bekomme, nur die UUID nicht stimmt - hat da etwa 1und1 auch einen VZ im Hauptverzeichnis?
----- Original Message -----
From: Koch, Michael
To: volkszaehler.org - users
Sent: Sunday, December 10, 2017 2:43 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo Klaus,
mein VZ liegt bei Hetzner.
Wie komme ich an die Developer-Version ? Würde es damit funktionieren?
Habe ich den soweit alles richtig gemacht? Ich war der Meinung, das es bei einigen schon funktioniert?
Beste Grüße,
Michael
------------------------------------------------------------------
From: Klaus Reichenecker [mailto:kr at kr123.de]
Sent: Sunday, Dec 10, 2017 14:24 GMT+0100
To: volkszaehler.org - users <volkszaehler-users at demo.volkszaehler.org>
Subject: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo Michael,
> Leider finde ich aber keine Möglichkeit das ESPeasy Interface so zu konfigurieren, das ich den DS18B20 auf meinen VZ im Rechenzentrum connecte...
genau damit kämpfe ich auch gerade
Bei welchem Hoster liegt Dein VZ?
Bei mir 1und1, es liegt wohl irgendwie daran das die IP nicht passt
Beispiel:
Domain test.de ergibt bei einem Ping die 123.123.123.123
Aber über die IP erreiche ich nicht test.de sondern den 1und1 Kundenserver
Es muss was in der Form 123.123.123.123/kundenserver/id12345678 sein
Ich hatte es in einer alten Version geschafft indem ich direkt im Code was angepasst hatte
Ich gebe Bescheid wenn ich weiter komme
Das von Christian genannte "http publish" gibt es nur beim advanced http controller, den brauchen wir aber vermutlich nicht
Um ihn zu installieren müsstest Du die Developer-Version flashen, da ist er mit drin
Viele Grüße
Klaus
----- Original Message -----
From: Koch, Michael
To: volkszaehler.org - users
Sent: Sunday, December 10, 2017 2:11 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Hallo Zusammen!
habe mir auch eure Unterhaltung zum Thema ESP8266 bzw. NodeMCU sehr aufmerksam durchgelesen und letzte Woche parallel ein bestellt.
Generell habe ich mich mit der Arduino Welt das erste mal befasst. Wahnsinn.
Habe dann auch ESPeasy mit dem bekannten Webinterface entdeckt.
Habe mich auf diese Seite verirrt: https://www.letscontrolit.com/wiki/index.php/ESPEasy#2.0.2B_firmware_on_1MB_modules
Und bin dort dann dem Link "ESPEasyUploaderMega" gefolgt. Das NodeMCU habe ich per USB angeschlossen. Mit Hilfe dieser Software dann den ESP8266 geflasht.
Diesen Flash-Vorgang habe ich mit den Parametern 3, 4096 und 120 gestartet. Ist 120 die richtige Build-Nummer? Frage dies wegen dem folgenden:
Das NodeMCU konnte ich dann nach gut 15 Minuten mit dem AP (Access Point) Namens "ESP_0" verbinden. Es öffnete sich ein Browser-Fenster.
Dort habe ich das NodeMCU dann mit dem Lokalen Netzwerk verbunden. Jetzt konnte ich mich über mein Netzwerk mit dem NodeMCU verbinden.
Leider finde ich aber keine Möglichkeit das ESPeasy Interface so zu konfigurieren, das ich den DS18B20 auf meinen VZ im Rechenzentrum connecte...
Zum Beispiel hast du Christian am 03.12.um 13:38 Uhr geschrieben, das der Parameter Controller Publish eingestellt werden muss - diesen finde ich gar nicht!
So jetzt meine Frage:Wo habe ich auf meinem Weg den Fehler gemacht, das es bei mir insgesammt wohl etwas anders aussieht?
Vielen Dank,
Michael Koch
--------------------------------------------------------------
From: Christian Wulff [mailto:christianwulff at gmx.de]
Sent: Sunday, Dec 3, 2017 16:50 GMT+0100
To: 'volkszaehler.org - users' <volkszaehler-users at demo.volkszaehler.org>
Subject: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Moin Klaus,
hmm, an anderer Stelle im ESPeasy hatte ich mal ein Problem mit der Länge des Textfeldes (bzw. deren Variable).
Bis 64 Zeichen ging das problemlos, aber mehr leider nicht.
Vielleicht ist das ja bei dir auch das Problem (ich habs jetzt nicht nachgezählt, sieht aber länger aus).
Mehr kann ich da leider nicht helfen.
Meine ein Jahr alte VZ Installation liegt ja auf einem lokalen Raspi3 mit USB SSD mit insgesamt 37 Temperaturkanälen, Wasseruhr, 3x Stromzähler und 3x Drehzahlsensor …..bis jetzt J
Das Display läuft auch sehr gut. Muss nur mal die Zeit finden das zu dokumentieren.
Lieben Gruß,
Chris
Von: Klaus Reichenecker [mailto:kr at kr123.de]
Gesendet: Sonntag, 3. Dezember 2017 16:26
An: volkszaehler.org - users
Betreff: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Da bist jetzt weiter als ich :-)
Ich hatte es ja in der Vergangenheit mit einem angepassten Generic HTTP gelöst, wollte es jetzt mal mit der neuen Version2 von ESPEasy testen, komme leider nicht weiter
Meine VZ-Installation liegt bei einem Webhoster
Als Controller nutze ich auch GenericHTTP
Im Log habe ich:
HTTP : connecting to 217.160.233.140:80
/volkszaehler_neu/volkszaehler.org/htdocs/middleware.php/data/579f6430%2dd82b%2d11e7%2d9b16%2d319ab8bfd2e1.json?operation=add&value=19.8
HTTP/1.1 200 OK
HTTP : Success!
Dann aber:
{"version":"0.3","exception":{"message":"Invalid UUID: '579f6430%2dd82b%2d11e7%2d9b16%2d319ab8bfd2e1'","type":"Exception","code":0}}
HTTP : closing connection
gebe ich in Chrome oder über Curl
ein: (direkt kopiert von oben)
meinserver.de//volkszaehler_neu/volkszaehler.org/htdocs/middleware.php/data/579f6430%2dd82b%2d11e7%2d9b16%2d319ab8bfd2e1.json?operation=add&value=19.8
funktioniert es prolemlos,die UUUID ist die richtige, es liegt auch nicht daran das die Bindestriche ersetzt werden
Auch die erste Idee, das die IP nicht wirklich eine Öffentliche ist und für alle Domains beim Webhoster die gleiche ist - dann würde ja gar nichts vom VZ zurück kommen
Hat jemand eine Idee?
Viele Grüße
Klaus
----- Original Message -----
From: Christian Wulff
To: 'volkszaehler.org - users'
Sent: Sunday, December 03, 2017 1:38 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Moin,
Dank Klaus habe ich auch mehrere ESP8266 mit ESPeasy am Volkszähler laufen J
Hier die Einstellungen in ESP Easy Mega dev 12:
unter „Controllers“ Protocol: „Generic HTTP“ auswählen
In den Controller Settings folgendes einstellen:
Locate Controller: „Use IP address“
Controller IP: “192.xxx.xxx.xx” (hier die IP vom Volkszähler einsetzen)
Controller Port: “80”
Controller Publish: “middleware.php/data/%tskname%.json?operation=add&value=%value%” (vielen Dank an Klaus nochmal :-) !!! )
Unter Devices:
Device: “Temperature – DS18b20”
Name: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” (hier muss die UUID des Kanals eingetragen werden)
Enabled: „Haken setzen“
Bei Sensor den Sensor auswählen
Data Acqusition: „Send to Controller“: „Haken setzen“
Delay: 60 Sekunden (Alle 60 Sekunden wird ein Wert gesendet)
Values: Name: „T06“ (ich meine hier muss man irgendeinen Namen setzen, darf nicht leer bleiben)
Decimals: „3“
Das geht standardmäßig bis 12 Sensoren.
Ich habe inzwischen eine Spezialversion im Einsatz mit 15 Temperatursensoren.
Leider gibt es momentan noch das Problem, dass nach 49,7 Tagen die Werte nicht mehr gesendet werden.
Das berichten mehrere User. An dem Problem wird bereits gearbeitet.
Alternativ hilft auch ein automatisierter reboot bevor die 49,7 Tage abgelaufen sind.
Lieben Gruß,
Chris
Von: Albert Dahmen [mailto:albert.dahmen at gmail.com]
Gesendet: Samstag, 2. Dezember 2017 17:15
An: volkszaehler.org - users
Betreff: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Ich habs :-)
Unter URI folgenden string eingeben und schon kommt die Temperatur an:
/volkszaehler.org/htdocs/middleware.php/data/515a3870-d76e-11e7-b694-cd18de9b01b1.json?operation=add&value=%val1%
Header und Body leer lassen ....
Am 2. Dezember 2017 um 17:05 schrieb Klaus Reichenecker <kr at kr123.de>:
Hallo Albert,
gute Frage, die systime brauchst auf alle Fälle nicht, macht VZ automatisch
Habe es mit systime nie probiert, aber vermutlich passt das Format von ESPEasy nicht zu VZ
Dann solltest wie in meiner vorigen Mail die UUID beim Sensor angeben, sonst kannst Du ja nachher nur einen Sensor zum VZ schicken
Du brauchst m.w. auch irgendwo das ?operation=add&value= , das fehlt bei Dir momentan komplett?
Ich versuche es hier auch gerade mit der neuen Version, wenn ich Erfolg habe gebe ich Bescheid
Viele Grüße
Klaus
----- Original Message -----
From: Albert Dahmen
To: Klaus Reichenecker
Sent: Saturday, December 02, 2017 5:01 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Inzwischen habe ich den Advanced Http Controller aktiv. Man muss die Test-Version der Firmware nutzen (im ZIP sind 3 verschiedene enthalten).
Aber nun bleibt die Frage, wie die Maske zu bestücken ist.
Es kommt auch schon was an ... aber leider immer nur der Wert 1 ... da stimmt also wohl noch was nicht :-)
Unter http-uri habe ich
/volkszaehler.org/htdocs/middleware.php/data/515a3870-d76e-11e7-b694-cd18de9b01b1.json
Und unter http body habe ich
&ts=%systime%&value=%value%
Aber ich denke hier stimmt noch was nicht ....
Hast Du eine Idee?
Ich habe schon viele Varianten probiert, aber noch kommt kein Wert an.
Am 2. Dezember 2017 um 16:45 schrieb Klaus Reichenecker <kr at kr123.de>:
Hallo Albert,
habe bei mir ESP mit VZ nur mit der alten Version laufen, musste damals noch was im Code anpassen
Ich glaube den Advanced Controller gibt es bei der 2.0 nicht mehr, eigentlich müsstest Du alles bei Controller Settings - Controller Publish eintragen können
Versuch mal beim Sensor z.B. als Name die UUID einzutragen, dann bei Controller publish %valname%
Bei der Vorgängerversion war es z.B.:
pfad_zum_VZ/%valname%.json?operation=add&value=%value%
such mal im Web nach den ESPEasy-Variablen
Grüße
Klaus
----- Original Message -----
From: Albert Dahmen
To: volkszaehler.org - users
Sent: Saturday, December 02, 2017 4:00 PM
Subject: Re: [vz-users] Onewire Temperatursensoren verkabeln (DS18B20)
Danke für die Rückmeldung.
Ich habe parallel mal einen Wemos D1 Mini mit ESPEasy bestückt und meinen dritten Sensor angehängt (der noch nicht in Benutzung war) ... und er zeigt brav die richtige Temperatur. Als Firmware habe ich die aktuellste 2.0er (dev12) installiert.
Nun brauchen ich nur noch einen kleinen Hinweis, wie ich die Temperatur direkt an die middleware schicken kann.
Ich denke ich brauche den Generic HTTP Advanced Controller, oder?.
Doch leider finde ich bei mir in der Auswahl nur den "Generic HTTP" Controller. Wie komme ich an den Advanced Controller?
Am 2. Dezember 2017 um 15:25 schrieb Udo1 <udo1 at gmx.net>:
Am 02.12.2017 um 13:33 schrieb Albert Dahmen:
Was kann falsch sein?
Such mal im Netz nach der AN148.pdf Das ist eine
Guidelines for Reliable Long Line 1-Wire Networks
von Maxim.
Gruß
Udo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20171210/d2d60fca/attachment-0001.html>
More information about the volkszaehler-users
mailing list