wlanthermo-nano / wlanthermo_esp82xx_software Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Derzeit werden 2 Nachkommastellen angezeigt und Alex möchte nur 1ne Nachkommastelle anzeigen.
Folgendes muss geklärt werden:
Macht 1Nachkommastelle Sinn?
Wo soll das runden passieren? (Backend/Frontend)
@sochs
Brauchst du beide Nachkommastellen für die Pitmasterberechnung?
Hier ein Beispiel wie die Nachkommastelle im GUI gerundet werden kann:
var f="22.45"; f = parseFloat(f).toFixed(1);
Help Button der zur GitHub Doku weiter leitet
Betrifft
Backend: Integration in json.
Frontend: Switch erzeugen.
Folgende Tippfehler:
"über das Sendeintervall einstellen"
"Einstellungen zuerst speichern" (zusammen)
"einfach einen neuen Token im erzeugen" (im zu viel?)
"einmal mit jemandem teilen"
Gewisse Systemeinstellungen gehen nach einen Neustart verloren.
Hardwarealarm
Fastmode (da bin ich mir nicht sicher)
Die Werte werden korrekt gespeichert und laut Debug auch im EEProm richtig ausgelsen:
Hier beim aufruf und setzen von HWALARM
[INFO] Reading from EE: {"host":"NANO-82e95f","hwalarm":false,"ap":"NANO-AP","lang":"de","utc":0,"summer":true,"fast":true,"hwversion":1,"batmax":4185,"batmin":3600,"logsec":104}
[INFO] Clear EEPROM from: 300 to: 549
[INFO] Writing to EE: (154) {"host":"NANO-82e95f","hwalarm":true,"ap":"NANO-AP","lang":"de","utc":0,"summer":true,"fast":true,"hwversion":1,"batmax":4185,"batmin":3600,"logsec":104}
[INFO] 11:21:58 4.6.2017
Hier beim auslesen von HWALARM
[INFO] Reading from EE: {"host":"NANO-82e95f","hwalarm":true,"ap":"NANO-AP","lang":"de","utc":0,"summer":true,"fast":true,"hwversion":1,"batmax":4185,"batmin":3600,"logsec":104}
[INFO] System config loaded
Und hier was über die JSON übertragen wird
{"system":{"time":"1496575422","utc":0,"summer":true,"ap":"NANO-AP","host":"NANO-82e95f","language":"de","unit":"C","hwalarm":false,"fastmode":true,"version":"V0.3","hwversion":"V1"},"sensors":["Maverick","Fantast-Neu","100K6A1B","100K","SMD NTC","5K3A1B","MOUSER47K","Typ K"],"pid":[{"name":"SSR SousVide","id":0,"aktor":0,"Kp":165.00,"Ki":0.59,"Kd":1000.00,"Kp_a":100.00,"Ki_a":0.08,"Kd_a":5.00,"reversal":false,"DCmmin":0,"DCmmax":80},{"name":"TITAN 50x50","id":1,"aktor":1,"Kp":3.80,"Ki":0.01,"Kd":128.00,"Kp_a":6.00,"Ki_a":0.00,"Kd_a":10.00,"reversal":false,"DCmmin":22,"DCmmax":100},{"name":"TITAN 60x60","id":2,"aktor":1,"Kp":3.80,"Ki":0.01,"Kd":128.00,"Kp_a":6.20,"Ki_a":0.00,"Kd_a":5.00,"reversal":false,"DCmmin":33,"DCmmax":100}],"aktor":["SSR","FAN"],"charts":{"TSwrite":"488QLPLF6RMIR6M9","TShttp":"","TSchID":""},"hardware":["V1","V2"]}
Bei der Authentifizierung im GUI meldet sich das User/PWD Feld mit "asyncesp"
Bitte auf WLANThermo Nano umstellen
Wenn der Server bei der FW anfrage den Statuscode 301 sendet funktioniert es nicht.
301 wäre ein redirect inkl. neuer Url wo das File liegt. Er müsste quasi dies Url extrahieren und den request neu starten mit der neuen Url
Please add a button under IOT to send the displayed link via the configured push service.
Additionally trigger the same automatically when generating a new token.
Eventuell alle float aus dem Code verbannen:
http://forum.arduino.cc/index.php?topic=210398.0
Die Hardwarealarm-Anzeige wird nicht aktualisiert wenn eine Änderung an Backend vorgenommen wird. Im settings-json steht der richtige Wert, dieser wird von der Anzeige aber nicht angenommen. Ein verändern des Attributs im Backend durch eine Eingabe im Frontend ist jedoch möglich.
// HTTP UPDATE
else if (str == "update") {
if (update.version != "false"); // Macht diese Zeile Sinn?
update.state = 1;
return;
}
Mittels Arduino Core sollte ein Firmwareupdate auch über einen http Server funktionieren.
http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html#http-server
Denkbar wäre dass das GUI auf GITHUB überprüft ob ein neues Firmwareupdate ansteht und den Downloadlink an das Backend weiter gibt.
Macht diese funktion Sinn?
Bitte bei Gelegenheit folgendes klären:
Funktioniert der Download und das Flashen der Firmware über den Direktlink auf GIT
Funktioniert der Download und das Flashen des SPIFFS über den Direktlink auf GIT
Die Buttons der Menüführung soll folgendermaßen:
Die Icons dazu bitte in SVG Format erstellen und im WLANThermo_Icons Repository hochladen.
Bis diese eingebunden werden bitte im GUI "<" ">" verwenden.
Der "Back" Button soll immer ganz links stehen und der "Save" Button ganz rechts. Auch in der Desktopansicht.
Laut Steffen gibt es Probleme beim Datenabruf am WindowsPhone. Temp Werte etc. werden nicht geladen.
Die Probleme treten erst auf seit ich bei xmlhttprequest ein timout hinzugefügt habe.
Die Zeile
xobj.timeout = 1000;
muss bei WP unterhalb
xobj.open('POST', url, true);
stehen.
Eventuell das Timout auch auf 2000 stellen!
Testweise kannst du auch
xobj.timeout = 1000;
unterhalb von
xobj.setRequestHeader("Content-Type", "application/json");
geben.
Folgende Tippfehler:
"Einstellungen zu speichern."
"In der aktuellen Softwareversion"
Bitte beim Release v0.2 auch die Spiffs.bin Uploaden.
(Gilt auch für künftige Updates)
So, das settings.json hat sich gändert zu:
{"system":{"time":"1496323986","utc":1,"summer":false,"ap":"NANO-AP","host":"BOOM-Operator","language":"de","unit":"C","hwalarm":false,"fastmode":false,"version":"V0.3","hwversion":V1},"sensors":["Maverick","Fantast-Neu","100K6A1B","100K","SMD NTC","5K3A1B","MOUSER47K","Typ K"],"pitmaster":["SSR"],"charts":{"thingspeak":""},"hardware":["V1"]}
Neu hinzugekommen sind die Attribute "summer" (true/false), "fastmode" (true/false) und "hwversion".
Für "summer" = Sommerzeit und "fastmode" bitte einen Switch unter dem Reiter System anlegen.
Für "hwversion" = Hardwareversion bitte ein Auswahlmenü anlegen, die möglichen Werte liefert die Nano ebenfalls im json unter "hardware".
Außerdem haben wir schon länger das Attribut "ap" im json. Lass uns dafür noch ein Feld unter Host anlegen, wo man den AP-Namen ändern kann. Gleiche Zeichenbeschränkung wie beim Hostnamen.
Brauchen wir für den Fastmode noch eine andere Bezeichnung im GUI? z.B Schnelllauf. Und vll sollten wir Hardwarealarm in Piepser umbennen.
Folgende Tippfehler:
"Hierdurch eignet sich"
"Kanal 7 bzw. 8 abgebildet." (Bindestrich entfernen)
"einwandfrei funktionieren, dürfen"
Besteht die Möglichkeit, dass sich der Cursor von Texteingabe zu Pfeil ändert, sobald man über eine der SSIDs in der Liste drübergeht? Ansonsten hat man nicht den Eindruck, dass man dort etwas auswählen kann.
Wenn bei einen oder mehreren Kanälen kein Fühler angeschlossen sein bitte anstatt 999.9 den kompletten Kanal ausblenden.
Anscheinend gibt es teilweise ein Problem beim Datenzugriff. Das Thermo Logo oben links wird teilweise nicht geladen beim offnen/refresh der Seite. Der Webserver kommt hier teilweise mit Zugriff auf mehreren Files nicht klar.
Folgendes klären:
Können wir am Webserver noch was verbessern? ( @sochs )
Können wir das Bild binär in der index.html speichern ( @Phantomias2006)
Liste hat weißen Hintergrund und die einträge sind nicht erkennbar. Ein ändern der Background-Farbe führt zu Fehler in iOS
Erweiterung des Graphen um eine Batteriezustandskurve.
Ein extra Button für Theakspeak.
Da kann man ein Schlüssel hinterlegen und eine URL zur eigenen privat bzw. publik Seite (erspart einem diese irgend wo extra zu speichern )
Eventuell auch einen Link für die Leute die überhaupt keinen Account haben. Das erspart den Leuten google 👍
Bitte das Wiki mit der aktuellen Doku befüllen
Es muss für Telegram eine Serverschnittstelle zwischen Nano und Telgram Programmiert werden.
Bitte eine Schnittstelle für das GUI anlegen für Telegram.
Folgende Parameter im EEProm speichern:
API Token
Chat ID
on/off
Du bekommst am Server dann eine
sendNotification.php
Schnittstelle von mir.
Wenn bei FW update ein redirect (301) kommt wird die FW anzeige auf die neue FW gesetzt obwohl die FW nicht geladen werden konnte.
Auf Wiki-Page QuickStart bei Punkt 7:
"Weitere Informatione"
Hier fehlt ein n
Der Switch oberhalb der verfügbaren SSIDs ist noch ohne Funktion. Der soll ja eigentlich zum Löschen der WLAN-Daten im EEPROM da sein. Dort wo er jetzt ist, wirkt er aber eher wie ein WLAN on/off Schalter. Ich finde die Funktion im Reiter WLAN schon sinnvoll. Würde zwar auch unter System gehen, aber ich glaub dann findet es keiner, wenn es mal gebraucht wird. Aber vll sollten wir einen Button draus machen, und keinen Switch. Was denkt ihr?
Nicht über NTP, da bekomme ich nur UTC. Ich müsste eine weitere Abfrage machen, z.B. hierauf:
http://www.netzwolf.info/astronomie/ephemeriden/sonne
Das gilt dann aber nur für unsere Zeitzone, und nicht überall gibt es Sommer- und Winterzeit.
Alternativ zur Anpassung der Zeitzone könnten wir auch einen Switch machen, wo der User Sommerzeit zu/abwählen kann.
Ich würde gerne Thingspeak Ein/Aus schalten können. Dazu brächte ich ein True/False flag.
Außerdem möchte ich das Sendeintervall konfigurierbar machen
30/60/120/180/240/300 Sekunden
Überarbeitung der Eingabe der Wifi-Daten. Filterung beim Speichern nach lediglich neuen Daten. Eventuell eine Art "Schnellverbindung" zu bekannten Netzen übers GUI.
Wird ein Eingabefeld das erste mal dargestellt, so erscheint der Eingabetext und der Beschreibungstext im Feld gleichzeitig. Beim nächsten Aufruf der Einstellseite wird es richtig angezeigt,
Wenn eine 32 stellige SSID gefunden wird, funktioniert die Wifi-Auswahl im Frontend nicht mehr.
Im JSON, was vom API-Aufruf networklist zurückgegeben wird, stehen hinter der SSID noch ein paar Unicode zeichen:
{"SSID":"12345678901234567890123456789012 �Ñ","RSSI":-47,"Enc":4}
Eine Verbindung mit einem Wifi-Netz mit einer 32 stelligen SSID ist auch über die HTTP-API nicht möglich, vermute aber das dort der selbe Fehler auftritt.
Folgende Tippfehler:
"Softwareversion verfügbar ist**,** erscheint" (Komma versetzen)
"alle Softwareversionen ab "
"unbedingt beachtet werden sollte
"also unter Umständen Versionen"
Bitte im Header ein Notification Icon einbauen. Anbei en Vorschlag:
Das ganze wird EIn/Ausgeblendet.
Das Icon bitte in SVG erstellen und im WLANThermo_Icons Repository hochladen.
Hier der Link zum Beispiel Icon http://www.iconninja.com/alert-icon-667586
in the web frontend under IOT -> Nano Cloud, the Address seems to be hard coded, if you change the Address via API the change is not visible here. Please use dynamicly the configured address.
As an idea, tje json only contains host and page, so is seems, the protocol will remain hardcoded. perhaps add it to the host item or add another json element "protocol" or something like this?!
Pitmasterfunktion im Backend inkl. JSON Schnittstelle fertigstellen.
Folgende Tippfehler:
"basiert es auf einem ESP8285-Chip"
"das WLANThermo-Portfolio"
Im data.json sind ja bereits die aktuellen Pitmaster-Werte verfügbar. Falls "active" = true bitte den Temperatursollwert ("set") und den Pitmasterwert ("value") in % im entsprechenden Kanal ("channel") anzeigen. Eventuell auch den Namen des gewählten PID falls wir dafür Platz haben. Den würde ich dir dann auch noch übergeben. Schau mal bitte, wo und wieviel Platz du dafür in den Kanalfeldern hast.
Nur +1 und -1 Stunde ist sehr sparsam.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.