jp112sdl / SonoffHMLOX

65 stars 20 forks source link

1.0.27 Speichert IP CCU2 und SONOFF Name nicht #74

Closed FraatGIT closed 5 years ago

FraatGIT commented 5 years ago

Hallo,

ich habe schon einige SONOFF S20 und Basic erfolgreich geflasht. Jetzt habe ich 2x SONOFF Basic bei denen wird die "IP der CCU2" und der Hostname "SONOFF Name" nicht abgespeichert. Die WIFI Settings werden abgespeichert und er verbindet sich auch mit dem WIFI.

teraterm1.txt

SONOFF BASIC R2, V1.0, 2017.10.11, 1816

Fraat

jp112sdl commented 5 years ago

Hmm, sorry... da fällt mir leider nix ein. In deinem Log sind ja IP und Name vorhanden. Und da es sonst generell geht - bin ich da etwas ratlos.

FraatGIT commented 5 years ago

Ok, danke für die schnelle antwort.

P.s.: SonoffHMLOX ist echt eine klasse Arbeit!!!

FraatGIT commented 5 years ago

Ich habe es nochmal mit "Generic ESP8266 Module" anstelle "Generic ESP8285 Module" compiliert leider ohne erfolg. Habe das im debug gefunden: saving config failed to open config file for writing

Kannst du mir bitte sagen wo ich die "IP der CCU" und "Sonoff Gerätename" hardcoden kann? Ich weiss es ist nicht die sauberste Lösung aber ich will die Geräte nicht wegwerden.

Danke schon im voraus.

jp112sdl commented 5 years ago

Ich habe es nochmal mit "Generic ESP8266 Module" anstelle "Generic ESP8285 Module" compiliert leider ohne erfolg.

Hast du auch 1M (64k SPIFFS) in den Boardoptionen eingestellt?

failed to open config file for writing

Es ist ungewöhnlich, dass die Datei nur nicht zum Schreiben geöffnet werden kann - denn es müsste beim Start auch ein Fehler kommen, dass die Datei nicht gelesen werden kann. Und dann springt er automatisch in den AP-Mode.

Kannst du mir bitte sagen wo ich die "IP der CCU" und "Sonoff Gerätename" hardcoden kann?

Muss ich mir die Tage mal anschauen.

RobTS commented 5 years ago

Hier das gleiche Problem, geht bei sechs Schaltern, die ich kürzlich gekauft habe, nicht. Bei zwei älteren ist alles tutti.

Spectrum1981 commented 5 years ago

Hallo!

ich habe heute 5 S20 Zwischenstecker bekommen und 2 basic Schalter.

Alle haben ohne Probleme den Flashvorgang über sich ergehen lassen. Die S20 Zwischenstecker liessen sich auch alle ohne Probleme konfigurieren und dann per IP ansprechen und schalten.

Die Basic Schalter hingegen wollen keine Konfiguration speichern. Die kommen immer wieder mit dem "Standard" WLAN um die Ecke und wollen neu konfiguriert werden.

Hat jemand eine Idee was zu tun ist?

Nachtrag: Ich habe auch den SONOFF BASIC R2, V1.0, 2017.10.11, 1816

Nachtrag 2: Habe gesehen das es wohl an der R2 Variante liegt oder bezieht sich das nur auf den POW????:

SonoffHMLOX

Alternative Firmware für die Geräte Sonoff Switch, S20, SV, Touch, POW (nicht R2!)

#########

Ist denn abzusehen wann es für die R2 auch eine alternative Firmware geben wird?

rettroo commented 5 years ago

Hi. Selbes Problem hier mit 2 Basic. Gibt es eigentlich noch R1 zu erwerben?

Spectrum1981 commented 5 years ago

Ich fände ein Softwareupdate, wenn überhaupt möglich, am besten. Habe reichlich von den R2 Schsltern ;(

Wenn weitere Infos benötigt werden zur Fehlerbehebung bitte melden!

rettroo commented 5 years ago

Vieleicht ist es ja irgendwie möglich die cfg vor dem flashen einzustellen.

jp112sdl commented 5 years ago

Vieleicht ist es ja irgendwie möglich die cfg vor dem flashen einzustellen.

Du müsstest die Zeile 238 auskommentieren und alle Variablen, die beim Lesen der Config befüllt werden,

        ((json[JSONCONFIG_IP]).as<String>()).toCharArray(SonoffNetConfig.ip, IPSIZE);
        ((json[JSONCONFIG_NETMASK]).as<String>()).toCharArray(SonoffNetConfig.netmask, IPSIZE);
        ((json[JSONCONFIG_GW]).as<String>()).toCharArray(SonoffNetConfig.gw, IPSIZE);
        ((json[JSONCONFIG_CCUIP]).as<String>()).toCharArray(GlobalConfig.ccuIP, IPSIZE);
        ((json[JSONCONFIG_SONOFF]).as<String>()).toCharArray(GlobalConfig.DeviceName, VARIABLESIZE);

        //((json[JSONCONFIG_LOXUSERNAME]).as<String>()).toCharArray(LoxoneConfig.Username, VARIABLESIZE);
        //((json[JSONCONFIG_LOXPASSWORD]).as<String>()).toCharArray(LoxoneConfig.Password, VARIABLESIZE);
        ((json[JSONCONFIG_LOXUDPPORT]).as<String>()).toCharArray(LoxoneConfig.UDPPort, 10);
        ((json[JSONCONFIG_HMPOWERVARIABLE]).as<String>()).toCharArray(HomeMaticConfig.PowerVariableName, VARIABLESIZE);
        ((json[JSONCONFIG_HMENERGYCOUNTERVARIABLE]).as<String>()).toCharArray(HomeMaticConfig.EnergyCounterVariableName, VARIABLESIZE);
        GlobalConfig.MeasureInterval = json[JSONCONFIG_MEASUREINTERVAL];
        if (GlobalConfig.MeasureInterval == 0)
          GlobalConfig.MeasureInterval = 60;

        GlobalConfig.BackendType = json[JSONCONFIG_BACKENDTYPE];
        GlobalConfig.GPIO14Mode = json[JSONCFONIG_GPIO14MODE];
        GlobalConfig.restoreOldRelayState = json[JSONCONFIG_RESTOREOLDSTATE];
        GlobalConfig.LEDDisabled = json[JSONCONFIG_LEDDISABLED];
        GlobalConfig.GPIO14asSender = json[JSONCFONIG_GPIO14ASSENDER];
        GlobalConfig.SonoffModel = json[JSONCONFIG_SONOFFMODEL];
        GlobalConfig.Hostname = "Sonoff-" + String(GlobalConfig.DeviceName);

        if (GlobalConfig.SonoffModel == SonoffModel_Pow) {
          float fVal = (json[JSONCONFIG_HLW_CURRENTMULTIPLIER]).as<float>();
          if (fVal > 0.0) {
            if (HLW8012Calibration.CurrentMultiplier != fVal) {
              HLW8012Calibration.CurrentMultiplier = fVal;
            }
          }
          fVal = (json[JSONCONFIG_HLW_VOLTAGEMULTIPLIER]).as<float>();
          if (fVal > 0.0) {
            if (HLW8012Calibration.VoltageMultiplier != fVal) {
              HLW8012Calibration.VoltageMultiplier =  fVal;
            }
          }
          fVal = (json[JSONCONFIG_HLW_POWERMULTIPLIER]).as<float>();
          if (fVal > 0.0) {
            if (HLW8012Calibration.PowerMultiplier != fVal) {
              HLW8012Calibration.PowerMultiplier =  fVal;
            }
          }

per Hand im Sketch vor der Zeile 238 befüllen.

jp112sdl commented 5 years ago

Ich fände ein Softwareupdate, wenn überhaupt möglich, am besten. Habe reichlich von den R2 Schsltern ;(

Tut mir leid, das Projekt "ist-wie-es-ist". Es kann aber von jedem frei und unentgeltlich geforkt / angepasst werden. Ich entwickle hieran nicht mehr weiter.

Die Sonoff Basic habe ich nicht weiter im Einsatz, weil mich die Verarbeitung schockiert hat: img_8804 1x die Schraubklemmen angezogen und dann sowas.

Für die anderen Modelle gibt es mehr oder weniger umfangreiche Umbaumöglichkeiten auf Homematic Funk, auf die ich mich konzentriere.

Btw: mir ist gerade aufgefallen, dass beim Kompilieren mit dem neuesten Git-Stand des ESP8266-Core Boards ~53% Flash belegt werden. Damit ist dann kein OTA Update mehr möglich und man müsste erstmal noch schauen, wo Speicher eingespart werden kann, um < 50% zu bleiben.