OBI Funk-Steckdosenumbau ESP8266

hike
starter
Beiträge: 13
Registriert: 12.06.2018, 20:50

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von hike » 08.10.2018, 12:44

Fehler beim Compilieren von 1.20

Ich bekomme einen Compilerfehler beim übersetzen:

Code: Alles auswählen

xxx/Firmware_1_2_0_2018_09_17\Main-Obi-wall-plug\Main-Obi-wall-plug.ino:121:21: fatal error: TimeLib.h: No such file or directory

 #include <TimeLib.h>

                     ^

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Modul
Ich verwende esp8266 2.4.2 .
Der Wechsel auf 2.3 bringt nichts
Irgend ein Hinweis?

hike
starter
Beiträge: 13
Registriert: 12.06.2018, 20:50

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von hike » 08.10.2018, 17:58

Problem teilweise gelöst, jetzt wird übersetzt und geflashed

Die fehlenden Bibliotheken TimeLib, NtpClientLib und ESP8266Ping, müssen als zip eingebunden werden.
Ich habe diese über google bzw https://www.arduinolibraries.info/libraries gefunden
Hier wäre ein Hinweis in der Source nett, der die Quellen der Libraies ausweist.

Benutzeravatar
TomT
professional
Beiträge: 422
Registriert: 22.08.2017, 08:11
Wohnort: Weyerbusch RLP

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von TomT » 09.10.2018, 08:24

meierchen006 hat geschrieben:
27.09.2018, 17:30
Hallo sissiwup,

ist es möglich die Zeile "TIME to Event" farblich hervorzuheben ähnlich On/Off ?
Hallo meierchen006,

ich bin zwar nicht sissywup, aber hier die Lösung :

Öffne mit Arduino den Code der 1.19d und dort in der Datei webstatic.ino suche folgenden Code (im oberen Drittel zu finden)

Code: Alles auswählen

wwwInfos = wwwInfos + String(F("<br>Actual Time : <span id=\"akttime\">")) + gerDate(NTP.getTimeDateString()) +
               String(F("</span><br>Time to Event : <span id=\"delayTimer\">OFF</span><br>"
Ersetze diesen mit

Code: Alles auswählen

wwwInfos = wwwInfos + String(F("<br>Actual Time : <span id=\"akttime\">")) + gerDate(NTP.getTimeDateString()) +
               String(F("</span><br><p style=\"font-size:1.2em;color:white\"><b>Time to Event : <span id=\"delayTimer\">OFF</span></p><br>"
Neu kompilieren und fertig ;)
Sollte nun etwas kleiner als der Status darunter sein, aber größer als der Rest

Grüße
Tom
~~~ Never Change a running System ~~~
PI3B > Raspimatic / Opi+2 > ioBroker / ESP8266

if (System == "running") {finger = "weg";} else {lastAction = "Rückgängig";}

[Obi-Funksteckdose ESP8266] [OrangePI Lüfter]

meierchen006
starter
Beiträge: 36
Registriert: 29.05.2018, 08:37

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von meierchen006 » 09.10.2018, 08:41

Hallo TomT,

ok danke werde ich für mich anpassen. :mrgreen:

Edit:
Sollte das auch bei der letzten Version 1.2.0 funktionieren?

Benutzeravatar
TomT
professional
Beiträge: 422
Registriert: 22.08.2017, 08:11
Wohnort: Weyerbusch RLP

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von TomT » 10.10.2018, 07:25

Ja, passt auch exakt so bei der Version 1.2.0

Grüße
Tom
~~~ Never Change a running System ~~~
PI3B > Raspimatic / Opi+2 > ioBroker / ESP8266

if (System == "running") {finger = "weg";} else {lastAction = "Rückgängig";}

[Obi-Funksteckdose ESP8266] [OrangePI Lüfter]

Benutzeravatar
sissiwup
professional
Beiträge: 608
Registriert: 27.07.2015, 11:53

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von sissiwup » 10.10.2018, 22:35

hike hat geschrieben:
08.10.2018, 11:30
Keine Verbindung zu Mosquitto

Ich benutze als Test-Broker Mosquitto auf einem Raspberry zero mit Dietpi von Andreads Spiess (the man with the swiss accent)

Die Version 1.20 stellt keine Verbindung zu Mosquitto her

Code: Alles auswählen

11:39:51 08.10.2018 MQTT server started
11:39:51 08.10.2018 MQTT try reconnect
11:39:52 08.10.2018 MQTT NOT subscribed
11:40:42 08.10.2018 Wifi.Reconnect Time done
11:40:50 08.10.2018 MQTT try reconnect
11:40:51 08.10.2018 MQTT NOT subscribed
11:41:20 08.10.2018 MQTT try reconnect
11:41:21 08.10.2018 MQTT NOT subscribed

Im Code von handleMQTT.ino wird auch klar warum, es findet keine Authentifizierung durch user/password statt

Code: Alles auswählen

void reconnect()
{
  if (MQTT_active == 1)
  {
    blueLEDstartCountBlink(0.8, 4);
    int timeout = 2;
    build_wwwStatus2("MQTT try reconnect");
    while ((!pubClient.connected()) && (timeout > 0))
    {
      timeout--;
      Serial.println("Reconnecting MQTT...");
      char devname[80];
      iDevname.toCharArray(devname, 80);
      if (!pubClient.connect(devname))  // <-- Aufruf ohne Authentifizierung
      .......
      {
es müsste dort stehen

Code: Alles auswählen

 if (!pubClient.connect(devname,mqtt_user,mqtt_password))  // <-- Aufruf mit Authentifizierung
 
wobei mqtt_user und mqtt_password vorher gesetzt sind.
Das kann aber nur über die Web-Oberfläche geschehen.

Da hängt allerdings noch eine Menge anderer Dinge dran, siehe handle_commands.ino --> handle_devName
und espEEPROMSet.Ino-->writeEEPROM
Bisher wurden 901 Nibbles von 1024 verbraucht, es scheint noch ein wenig Platz zu sein.

Es wäre schön, wenn Funktionen zum Setzen von mqtt-user und mqtt-password eingebaut werden könnten oder eine Rückmeldung, welche EEPROM-Adressen für solche Einstellungen genutzt werden sollten.

Ansonsten vielen Dank für die viele Arbeit und den gut lesbaren Code.
Ok, das ist nicht das Problem. Kann mir jemand sagen wie ich beim iobroker user und passwort setze?
(zum Testen)
Was ein bischen schwieriger wird, ist das Passwort nicht im Klartext zu übertragen... mal sehen.
Kümmere mich am Wochenende darum.
PS: Wie lang müssen User und Passwort sein?
Zuletzt geändert von sissiwup am 10.10.2018, 22:51, insgesamt 1-mal geändert.
MfG

Sissi

-------------------------------------------
1 CCU2 1 LanGateway 1 Pi-Gateway 1 Zoatec AD02 für ioBroker/MySQL
--------------------------------------------

Benutzeravatar
sissiwup
professional
Beiträge: 608
Registriert: 27.07.2015, 11:53

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von sissiwup » 10.10.2018, 22:37

hike hat geschrieben:
08.10.2018, 12:44
Fehler beim Compilieren von 1.20

Ich bekomme einen Compilerfehler beim übersetzen:

Code: Alles auswählen

xxx/Firmware_1_2_0_2018_09_17\Main-Obi-wall-plug\Main-Obi-wall-plug.ino:121:21: fatal error: TimeLib.h: No such file or directory

 #include <TimeLib.h>

                     ^

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Modul
Ich verwende esp8266 2.4.2 .
Der Wechsel auf 2.3 bringt nichts
Irgend ein Hinweis?
Hi,

ist im Post beschrieben:

viewtopic.php?f=35&t=12125&start=280#p163799
MfG

Sissi

-------------------------------------------
1 CCU2 1 LanGateway 1 Pi-Gateway 1 Zoatec AD02 für ioBroker/MySQL
--------------------------------------------

Benutzeravatar
sissiwup
professional
Beiträge: 608
Registriert: 27.07.2015, 11:53

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von sissiwup » 10.10.2018, 22:49

TomT hat geschrieben:
09.10.2018, 08:24
meierchen006 hat geschrieben:
27.09.2018, 17:30
Hallo sissiwup,

ist es möglich die Zeile "TIME to Event" farblich hervorzuheben ähnlich On/Off ?
Hallo meierchen006,

ich bin zwar nicht sissywup, aber hier die Lösung :

Öffne mit Arduino den Code der 1.19d und dort in der Datei webstatic.ino suche folgenden Code (im oberen Drittel zu finden)

Code: Alles auswählen

wwwInfos = wwwInfos + String(F("<br>Actual Time : <span id=\"akttime\">")) + gerDate(NTP.getTimeDateString()) +
               String(F("</span><br>Time to Event : <span id=\"delayTimer\">OFF</span><br>"
Ersetze diesen mit

Code: Alles auswählen

wwwInfos = wwwInfos + String(F("<br>Actual Time : <span id=\"akttime\">")) + gerDate(NTP.getTimeDateString()) +
               String(F("</span><br><p style=\"font-size:1.2em;color:white\"><b>Time to Event : <span id=\"delayTimer\">OFF</span></p><br>"
Neu kompilieren und fertig ;)
Sollte nun etwas kleiner als der Status darunter sein, aber größer als der Rest

Grüße
Tom
Hi, hab das übernommen:
Bildschirmfoto 2018-10-10 um 23.48.34.png
firmware_1_2_0b.zip
(269.51 KiB) 10-mal heruntergeladen
code_1_2_0b.zip
(45.4 KiB) 8-mal heruntergeladen
MfG

Sissi

-------------------------------------------
1 CCU2 1 LanGateway 1 Pi-Gateway 1 Zoatec AD02 für ioBroker/MySQL
--------------------------------------------

meierchen006
starter
Beiträge: 36
Registriert: 29.05.2018, 08:37

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von meierchen006 » 11.10.2018, 09:14

Hallo,

habe die 1.2.0.b installiert funktioniert wie gewollt.
Nun ist Time to Event besser zu sehen/direkt zu erkennen. :mrgreen:

Danke.

Benutzeravatar
sissiwup
professional
Beiträge: 608
Registriert: 27.07.2015, 11:53

Re: OBI Funk-Steckdosenumbau ESP8266

Beitrag von sissiwup » 12.10.2018, 21:07

hike hat geschrieben:
08.10.2018, 11:30
Keine Verbindung zu Mosquitto

Ich benutze als Test-Broker Mosquitto auf einem Raspberry zero mit Dietpi von Andreads Spiess (the man with the swiss accent)

Die Version 1.20 stellt keine Verbindung zu Mosquitto her

Code: Alles auswählen

11:39:51 08.10.2018 MQTT server started
11:39:51 08.10.2018 MQTT try reconnect
11:39:52 08.10.2018 MQTT NOT subscribed
11:40:42 08.10.2018 Wifi.Reconnect Time done
11:40:50 08.10.2018 MQTT try reconnect
11:40:51 08.10.2018 MQTT NOT subscribed
11:41:20 08.10.2018 MQTT try reconnect
11:41:21 08.10.2018 MQTT NOT subscribed

Im Code von handleMQTT.ino wird auch klar warum, es findet keine Authentifizierung durch user/password statt

Code: Alles auswählen

void reconnect()
{
  if (MQTT_active == 1)
  {
    blueLEDstartCountBlink(0.8, 4);
    int timeout = 2;
    build_wwwStatus2("MQTT try reconnect");
    while ((!pubClient.connected()) && (timeout > 0))
    {
      timeout--;
      Serial.println("Reconnecting MQTT...");
      char devname[80];
      iDevname.toCharArray(devname, 80);
      if (!pubClient.connect(devname))  // <-- Aufruf ohne Authentifizierung
      .......
      {
es müsste dort stehen

Code: Alles auswählen

 if (!pubClient.connect(devname,mqtt_user,mqtt_password))  // <-- Aufruf mit Authentifizierung
 
wobei mqtt_user und mqtt_password vorher gesetzt sind.
Das kann aber nur über die Web-Oberfläche geschehen.

Da hängt allerdings noch eine Menge anderer Dinge dran, siehe handle_commands.ino --> handle_devName
und espEEPROMSet.Ino-->writeEEPROM
Bisher wurden 901 Nibbles von 1024 verbraucht, es scheint noch ein wenig Platz zu sein.

Es wäre schön, wenn Funktionen zum Setzen von mqtt-user und mqtt-password eingebaut werden könnten oder eine Rückmeldung, welche EEPROM-Adressen für solche Einstellungen genutzt werden sollten.

Ansonsten vielen Dank für die viele Arbeit und den gut lesbaren Code.
Hallo,

anbei die Version mit User und Passwort für MQTT (jetzt ist das EEPROM fast voll, aber es sind ja noch fast 63K File-system da:-)):
Bildschirmfoto 2018-10-12 um 22.01.40.png
User = Max. 32 Zeichen, minimal 2 Zeichen!
Passwort = Max. 64 Zeichen
firmware_1_2_1.zip
(270.03 KiB) 13-mal heruntergeladen
code_1_2_1.zip
(45.74 KiB) 7-mal heruntergeladen
MfG

Sissi

-------------------------------------------
1 CCU2 1 LanGateway 1 Pi-Gateway 1 Zoatec AD02 für ioBroker/MySQL
--------------------------------------------

Antworten