Man-fred / culfw-esp8266

ACHTUNG/ATTENTION: Repository changed to https://github.com/Man-fred/culfw.esp8266 without fork. CUL/CUN 433/868 MHz CC1101 Transceiver mit WLAN-Schnittstelle für FHEM
3 stars 1 forks source link

Wo wird die SSID und der wpa-key eingetragen. #6

Closed Menne01 closed 2 years ago

Menne01 commented 2 years ago

Hallo, es ist nirgendwo erkenntlich, wo die Wlan Parameter eingetragen werden. Das sie im EEPROM gespeichert werden ist mir schon klar. Nur muss das EEPROM auch mit meinen Daten gefüttert werden....und wo?

Die private.h existiert nicht.

Läuft denn nun Max! richtig? Sonst brauche ich mir die Mühe nicht machen....

LG

Dirk

Man-fred commented 2 years ago

Hallo Dirk

im Readme gibt es einen kurzen Hinweis zu den WLAN-Parametern. Wenn der esp8266 noch am Kabel hängt, kann mittels der Befehle

Wis<SSID>
Wik<wpa-key>
WiD<devicename>
WiO<ip-address ota-server>

das WLAN über die serielle Konsole aktiviert werden. Die private.h gibt es nicht mehr.

Zur zweiten Frage: Ich habe drei MAX-Geräte in Betrieb: Fensterkontakt, Raumthermostat und Heizungsthermostat. Alle drei laufen bei mir störungsfrei über FHEM und räumlich über zwei Etagen.

Ich merke gerade das wir hier im veralteten Reposotory sind. Ich hatte das letztes Jahr getrennt von dem Original svn2github/culfw getrennt da das Original nicht mehr gepflegt wurde.

Das aktuelle Repository ist https://github.com/Man-fred/culfw.esp8266 . Bitte wechsel dorthin, es ist quasi das gleiche mit kleinen Korrekturen.

Viele Grüße Manfred

Menne01 commented 2 years ago

Hallo Manfred, Super

Danke für den Hinweis. Ich habe 2 Thermostate im Keller, die ein bischen schwer über den jetzigen Cul erreichbar sind.... Deshalb suchte ich eine Lösung. Ich gebe Bescheid, ob alles geklappt hat.

LG

Dirk

Menne01 commented 2 years ago

Hallo Manfred, ich schreibe hier mal im alten Repository. Habe Probleme beim aktivieren des Wlan´s. Ich kompiliere im IDE und lade danach hoch. Das klappt ja auch. Dann gehe ich ins seriell Terminal. Die blaue LED blinkt am ESP schon, da der ESP ein Reset bekommen hat....ist ja auch logisch, denn er hat ja noch kein Netzwerk. Nun gebe ich nach und nach die erforderlichen Daten ein. Was mir nicht ganz schlüssig ist, was soll der OTAServer sein? Ich kenne das mit OTA so, das man sich mit dem PC verbindet und dort nach der *.bin sucht. Bisher gebe dort eine statische IP ein, was für mich auch logisch ist. Darunter sollte er sich doch melden, oder? Denn DHCP ist nicht aktiv....oder täusche ich mich da? In der Fritte ist nichts zu sehen.... Jedenfalls nach einem Neustart des ESP´s blinkt die LED noch immer und verbindet sich nicht... Ich weiß, fragen über fragen....normal bin ich kein Anfänger, aber hier muss ich passen...

Serielle Ausgabe kommt folgendes:

eeprom_init ok Connecting ESP-570283, hostname CulBridge .......... UDP 1, TCP 0 on (IP unset):2323

Channel 12 CC1100_PARTNUM 0x00: FF CC1100_VERSION 0x14: FF

Den HostName hat er angenommen. Nur keine IP.

btw...es ist noch kein CC1101 draufgeschaltet. Ich arbeite mit ioBroker

LG Dirk

Menne01 commented 2 years ago

Nachtrag, ich sehe gerade das noch ein PHP Server zwingend installiert werden muss.... Jetzt ist Ende der Fahnenstange. Das wird mir im gesetzten Alter doch zu kompliziert. Da tue ich mir nicht mehr an.... Ich gebe auf....und bin raus.

Viel Spaß noch mit deinem Projekt....

Ich hätte gedacht, es wäre sowas ähnliches wie SerNet....eine IP und den Port....so würde das auch im Max!Cul Adapter eingetragen.

Schade

Man-fred commented 2 years ago

Hallo Dirk,

falls du noch nicht ganz raus bist:

"IP unset" heißt auf jeden Fall, das der esp8266 keine IP-Adresse bekommen hat. Normalerweise bekommt er die über DHCP. Hast du neue Geräte in der Fritzbox ausgesperrt? Zum manuellen Setzen der IP-Adresse gibt es noch folgemde Original-CUN-Befehlszeilen:

Wid<0 oder 1> : kein DHCP oder DHCP
Wia<IP4_ADDR>
Win<IP4_NETMASK>
Wig<IP4_GATEWAY>
Wip<IP4_TCPLINK_PORT>
WiN<IP4_NTPSERVER>
Wio<IP4_NTPOFFSET>

Anmerkung zu OTA und dem PHP-Server: Für größere Instalationennutze ich OTA (=over the air) Updates um nicht an jeden esp8266 einzeln ran zu müssen. Wenn es nur einer oder wenige Geräte sind, ist das völlig unnötig denn Updates gehen natürlich weiter über USB-Kabel und serielle Schnittstelle.

Viele Grüße Manfred

Menne01 commented 2 years ago

Nachtrag, ich sehe gerade das noch ein PHP Server zwingend installiert werden muss.... Jetzt ist Ende der Fahnenstange. Das wird mir im gesetzten Alter doch zu kompliziert. Da tue ich mir nicht mehr an.... Ich gebe auf....und bin raus.

Viel Spaß noch mit deinem Projekt....

Ich hätte gedacht, es wäre sowas ähnliches wie SerNet....eine IP und den Port....so würde das auch im Max!Cul Adapter eingetragen.

Schade

Menne01 commented 2 years ago

Danke Manfred, neuer Tag und neue Hoffnung..... jetzt habe ich eine IP setzen können und trotzdem blinkt die LED. Also kein connect.

Hier http://culfw.de/commandref.html steht ja alles drin.

Jetzt die Frage, soll der ESP in der Fritte auftauchen oder nicht? Ich habe erst letzte Woche mein diy Regenmelder in Betrieb genommen. Der wurde via DHCP sofort gefunden.... Also sollte somit von der Seite alles I.O. sein

` eeprom_init ok Connecting ESP-570283, hostname CulBridge .......... UDP 1, TCP 0 on 192.168.XX.30:2323

Channel 12 CC1100_PARTNUM 0x00: FF CC1100_VERSION 0x14: FF `

Ich hatte letztes Jahr schon mal ein Problem mit dem connecten. Das betraf meine Davis Wetterstation mit einem D1 Mini und ein RFM69CW. Da lag es an der IDE Version und am ESP8266 core. Hier benutze ich wie die Vorgabe die IDE 1.8.12 und core ESP8266 2.7.1 Version.

Ich kompiliere eigentlich ESPEasy und Tasmota immer selber, da von mir angepasst. Aber solche Probleme sind mir bis auf das o.a. Problem noch nicht unter gekommen. Auch eine Zigbee Bridge mit SerNet und einem NodeMCU mit einem H2 Z-002( TI CC2530 + CC2591) Modul wurde erfolgreich kompiliert.

LG Dirk

Menne01 commented 2 years ago

Nachtrag: jetzt habe ich in der fncollection.h die # define EE_STR_LEN 20 auf 21 erhöht und es wird die letzte Stelle angenommen. Fakt ist aber, das immer noch kein connect zustande kommt. Frage mich auch, warum die Zeile überhaupt angenommen wird. Eine Raute davor sagt doch eine Auskommentierung aus, oder? Nehme ich die Raute raus kommt es beim kompilieren zu einem Fehler.

Hallo Manfred, ich habe wohl einen Bug gefunden, so das die Verbindung nicht zu stande kommt.

Mein Netzwerksschlüssel ist 20 Zeichen lang. Es werden aber nur 19 angenommen. Es fehlt die letzte Ziffer. So wird es mit Rik angezeigt. 3XX08XX9XX2XXX1XXX7 es fehlt hinten eine 4

Da kann man sich einen Wolf suchen....

Viele Grüße

Dirk

Man-fred commented 2 years ago

Hallo Dirk,

das define wäre auch meine erste, schnelle Lösung gewesen. Rik zeigt eigentlich mit der Länge EE_STR_LEN den Key an.

Es gibt aber noch ein festes "20" als Längenbeschränkung in fncollection.cpp. Ersetze dort noch 20 und 19 durch EE_STR_LEN bzw. EE_STR_LEN-1.

String FNCOLLECTIONClass::ers(uint8_t p)
{
  char data[EE_STR_LEN]; //Max 63 Bytes at the moment
  int len=0;
  unsigned char k = 1;
  while(k != '\0' && len<(EE_STR_LEN-1) )  //Read until null character
  {    
    k=erb(p++);
    data[len++]=k;
  }
  data[len]='\0';
  return String(data);
}

Ich habe mir im Moment meine Arduino IDE zerstört und brauche noch das Wochenende um den Sketch fehlerfrei zu kompilieren. Ich baue mir gerade den Test auf.

Die Raute gehört bei C übrigens zum define. Das andere ist glaub ich nur bei Python ;)

Viele Grüße Manfred

Menne01 commented 2 years ago

Moin Manfred, dann lag ich ja mit der fncollection schon mal richtig. Ich wollte dir eine Erfolgsmeldung geben....nun ist der ESP in der FritzBox. Aber das Blinken irritiert mich....sollte die LED nur kontinuierlich leuchten, wenn eine Verbindung zum Broker besteht?

Nun noch eine Frage. Reicht denn der LDO auf dem D1 überhaupt aus, um den CC1101 mit zu speisen....? Du weißt das bestimmt eher, als wenn ich jetzt nach Datenblättern suche.... Ich werde jetzt ein NodeMCU flashen....der reicht definitiv.

btw....bei mir laufen mehrere IDE Instanzen.....alle Portable.

Schönes Wochenende auch an deine Family und viele Grüße

Dirk

Man-fred commented 2 years ago

Hallo Dirk, du lagst genau richtig. Ich habe es jetzt aufs Maximum von 63 Stellen aufgebläht und die SSID auf 32 und die Verbindung klappt sofort.

Strom liefert der NodeMCU auf jeden Fall genug, ich habe es allerdings nur 3 mal mit Wemos D1 minis umgesetzt. Hier das Fritzing dazu: https://github.com/Man-fred/culfw.esp8266/wiki/Hardware .

Das Blinken kommt vom Original-CUL und ich schalte das auch immer sofort mit l00 ab (kleines L).

Und portable IDE hab ich auch schon gelernt, aber lambda-Funktion in C++ und zum Schluss die ESPhttpUpdate-Klasse haben mich verwirrt. Da gabs Brüche in den Versionen und ich wusste nicht mehr, was zusammenpasst. Ging jetzt aber schneller als ich dachte.

Viele Grüße Manfred

Menne01 commented 2 years ago

Hi Manfred, jetzt wo du das schreibst habe ich mal mein diy NanoCul mal auf gemacht und siehe da eine rote LED im sec Takt blinkt mir dort entgegen...HiHi. Asche auf mein Haupt. Ich stehe nun vor dem nächsten Problem, wo du mir wohl nicht helfen kannst. Ich bekomme die Bridge nicht mit dem Max!Cul Adapter von ioBroker verbunden.... Nun muss ich wohl wieder ein Umweg machen. D.h. Fhem installieren und dort einbinden und über den Fhem Adapter kann ich dann wohl zugreifen.....

Das hatte ich schon mit der Davis Wetterstation. Nachdem ich jetzt weewx installiert und über MQTT eingebunden habe, brauchte ich den Umweg nicht mehr und habe FHem deinstalliert. Auch brauche ich den Empfänger mit dem ESP nicht mehr....da ich die Konsole von der Vantage Pro2 seriell angezapft habe.

Wenn doch alles so Einfach wäre....

LG Dirk

Man-fred commented 2 years ago

Hallo Dirk, mein Bestreben war, den CUL/CUN so genau wie möglich nachzubilden. Deshalb nimmt er die Befehle genauso entgegen wie ich sie von FHEM kenne und sendet auf 868 MHz entsprechend. Hat der Max!Cul Adapter von ioBroker die gleiche Syntax? Ich muss zugeben, ich habe mich noch nie außerhalb von FHEM bewegt. Ich habe zu ioBroker nur USB gelesen, bei FHEM kann ich den esp8266 wie einen CUN über Netzwerk anschließen, das gibts bei ioBroker scheinbar nicht.

MQTT mach ich wohl auch mit esp8266, aber das ist nicht mit dem culfw-Projekt verbunden.

Wenn ich in der Theorie helfen kann wo etwas angepasst werden müsste frag ruhig, ansonsten viel Erfolg.

Viele Grüße Manfred

Menne01 commented 2 years ago

Hallo Manfred, ich bin schon weiter. Es gibt im iobroker einen Culfw Adapter der inzwischen auch das Moritz (Max!) Protocol kann. Dort habe ich ihn als Cuno eingebunden. Nachteil ist, das ich dort nur über die Konsole pairen kann....ich muss mich erst einmal einlesen.

Jetzt muss ich mit Frauchen weg...aber danach nehme ich den Rest in Angriff. Hauptsache ist, das die Bridge verbunden ist....nachher will ich mal einen Thermostaten pairen. Im Endefekt geht es ja nur um einen im Keller....der halt schlecht erreichbar ist. Befehle nimmt er an, aber kein oder nur schlechtes Feedback....das nervt.

LG Dirk

Menne01 commented 2 years ago

Hallo Manfred, meine Bridge ist jetzt soweit fertig zum Einsatz. Kleine Platine mit ESP und CC1101. Gehäuse wird später gedruckt...

grafik

grafik In der Verdrahtung ist ein fehler drin....aber schon behoben. grafik Nicht sichtbar ein Elko von 47µF in der 3,3 V Versorgungsleitung gegen Masse...

So nun noch ein Problem. Der Cul Adapter von iobroker kann nur empfangen. Frag mich nicht warum. Habe schon ein Issue auf deren Github geschaltet. Es gibt ja auch noch ein Maxcul Adapter, der kann aber kein CUNO Modus. Das ist von mir auch schon angesprochen worden, da dort schon eine Anfrage bestand. Was daraus wird, steht unter ferner liefen. Wärst du so Nett den MQTT Port frei zu schalten? Ich möchte das erstmal testen, bevor ich Fhem installiere.

LG

Dirk

Man-fred commented 2 years ago

Hallo Dirk, sieht gut aus, meine sehen eher nach fliegend verdrahtet aus :) Mit MQTT hast du Glück, mein Mac Mini kommt erst am Mittwoch, so habe ich noch ein wenig Zeit. Ich probiere mal, ob das noch in den esp-CUL hineinpasst und er stabil läuft.

Viele Grüße Manfred

Menne01 commented 2 years ago

Hallo Manfred,

und wie schauts aus?

LG Dirk

Man-fred commented 2 years ago

Moin Dirk,

seit gestern abend sieht es ganz gut aus. MQTT ist eingebaut, es passt noch in den esp8266 und er stürzt im Leerlauf nicht ab. Ich muss jetzt noch den CC1101 anlöten und dann teste ich ob sich MQTT mit dem Senden und Empfangen verträgt.

Viele Grüße Manfred

Menne01 commented 2 years ago

Moin Manfred,

Super....bin schon gespannt.

LG

Dirk

Menne01 commented 2 years ago

Hallo Manfred, wenn du nach dem Prinzip wie ich nachbauen möchtest, hier ein paar Fotos mit Lochraster. Der Elko hat 47µF. Das untere Foto zeigt das Layout spiegelverkehrt. Also wenn du die Platine drehst. Zudem die extra Verstärkung für die CC1101 Platine mit Buchse. Ich konstruiere noch ein Gehäuse und drucke es mit dem 3D Drucker. Falls du einen haben solltest, stell ich dir dann gern die STL Datei zur Verfügung.

grafik

grafik

grafik

grafik

grafik

Viele Grüße

Dirk

Man-fred commented 2 years ago

Hallo Dirk,

ich habe jetzt mal nach ersten Tests MQTT hochgeladen, allerdings in https://github.com/Man-fred/culfw.esp8266 .

Die Initialisierung kommt noch nicht aus dem EEPROM, sondern ist fest eingetragen in mqtt.cpp MqttClass::init(). Ich habe meine Parameter als Beispiel stehen lassen, Mit den Einstellungen werden Befehle angenommen mit subscribe auf "esp/culfw01/set" und einige Einstellungen werden veröffentlicht mit publish auf "esp/culfw01/+". Speziell Last Will and Testament wird unter "esp/culfw01/lwt" veröffentlicht.

Die Befehle werden transparent als CUL-Befehle angenommen, verarbeitet und über die CUL-Strecke beantwortet.

Was noch fehlt:

Beim mergen zwischen den verschiedenen Verzeichnissen und Branches auf Github bin ich am Zweifeln, welche rf_receive-Library die letzte funktionsfähige ist. Nehme auf jeden Fall die, die du gerade hast und nicht die eventuell fehlerhafte aus dem master-Branch. Oder hast du die bin-Datei von culfw-esp8266 geflasht?

Da ich nur FHEM und mosquitto auf Raspberry nutze: fehlt noch etwas für deine MQTT-Nutzung?

Auf dein Angebot mit dem Gehäuse komme ich gerne zurück, ein Drucker steht hier bei mir herum.

Viele Grüße Manfred

Menne01 commented 2 years ago

Super, werde ich morgen testen. Ich habe selbst compiliert.

Ich melde mich....

LG

Dirk

Menne01 commented 2 years ago

Hallo Manfred. leider werden keine EEprom Inhalte mehr gespeichert.

Ich gebe sie in die Konsole ein und kontrolliere sie mit dem Read Befehl.....alles da. Mache ich ein Reset, ist alles weg.....

Alle alten rf-Libarys habe ich behalten und den Rest übernommen....

LG Dirk

Menne01 commented 2 years ago

Hallo Manfred, habe es nun doch zum laufen gebracht. Man darf den HostName nicht ändern, sonst ist alles weg. Was mir nicht schlüssig ist, was soll denn zum pairen eingegeben werden bzw. wo ist der Pairing Mode? Normalerweise sollte sich nach dem pairing alle Inhalte aufbauen ... siehe Beispiel aus dem Maxcul Adapter. Dort brauch ich nur das Pairing aktivieren und die Boost Taste am Thermostat länger drücken, bis der CountDown von 30 sec runter zählt. Dann kommt kurz AC und der Thermostat ist gepairt. Wie macht man das denn im Fhem?

grafik Der Adapter ist auf dem Foto ausgeschaltet....deshalb false.

grafik grafik

und derzeit MQTT mit meinen pairing Versuchen: grafik

Jetzt noch die erstellten Datenpunkte von dem CUL Adapter, wo kein pairing möglich ist. Das hat er nur Empfangen zwischen den MaxCul Adapter und den Thermostaten. grafik

D.h. dieser Adapter wird wieder gelöscht, da unbrauchbar und unvollständig.

LG Dirk

Man-fred commented 2 years ago

Hallo Dirk,

wenn ich noch wüsste, wie ichs gemacht habe. Ich les mir mal die Beschreibung im FHEM durch ud melde mich wieder. Ich hatte eigentlich nichts besonderes, ging quasi von selbst. Ich möchte ungern meine Heizkörperthermostate zurücksetzen, läuft gerade so schön kurz vor dem Winter.

Viele Grüße Manfred

Menne01 commented 2 years ago

Hallo Manfred, nach recherchieren im Netz geht es jetzt über den Fhem Adapter. Mit dem MQTT bin ich nicht klar gekommen.....

MQTT kannst du gerne wieder entfernen. Danke nochmals für deine Mühe. Im Anhang die Bridge in Aktion unter iobroker. grafik grafik Es werden noch die Räume geändert. Bin aber Froh, das es soweit jetzt funzt..... Derzeit laufen Maxcul und CulBridge noch parallel. Aber mit beiden sind die Thermostate gepairt. Die beiden schlecht erreichbaren Thermostate wird dann die Bridge bedienen. Vielleicht finde ich hier im Haus noch eine zentrale Stelle, für alle Thermostate. Das Gehäuse werde ich die Tage konstruieren und drucken. Das Ergebnis teile ich dir mit und auch die STL lade ich hier hoch. Zudem werde ich es mit einer Aufhänge Öse zum hinhängen versehen.#

Liebe Grüße Dirk

Menne01 commented 2 years ago

Hallo Manfred, nach recherchieren im Netz geht es jetzt über den Fhem Adapter. Mit dem MQTT bin ich nicht klar gekommen.....

MQTT kannst du gerne wieder entfernen. Danke nochmals für deine Mühe. Im Anhang die Bridge in Aktion unter iobroker. grafik grafik Es werden noch die Räume geändert. Bin aber Froh, das es soweit jetzt funzt..... Derzeit laufen Maxcul und CulBridge noch parallel. Aber mit beiden sind die Thermostate gepairt. Die beiden schlecht erreichbaren Thermostate wird dann die Bridge bedienen. Vielleicht finde ich hier im Haus noch eine zentrale Stelle, für alle Thermostate. Das Gehäuse werde ich die Tage konstruieren und drucken. Das Ergebnis teile ich dir mit und auch die STL lade ich hier hoch. Zudem werde ich es mit einer Aufhänge Öse versehen.

Liebe Grüße Dirk

Man-fred commented 2 years ago

Hallo Dirk,

schön, dass es jetzt läüft. MQTT ist noch instabil, aber wenn du es nicht mehr brauchst, parke ich das Thema erst einmal.

Auf dein Gehäuse bin ich schon gespannt,

Viele Grüße, Manfred

Menne01 commented 2 years ago

Hallo Manfred, ich war ein paar Tage aus dem Verkehr gezogen.....mit über 60 kann das schon mal passieren..... Anbei wie versprochen, das Gehäuse. Das ist genau nach meinem Aufbau konstruiert. Also sollte man sich, wie oben beschrieben, daran halten.

Leider musste ich das Projekt an Akta legen....ich werde wohl meine Bridge umsonst gebaut haben.... Der Fhem Adapter hat ein schwerwiegenden Bug, so das meine Frau schon zwei mal im kalten gesessen hat. Grund dafür ist, wenn im Auto Modus ein Wochenprogramm gestartet ist, die Thermostaten unwillkürlich in den OFF Modus fahren... Das geht so nicht. Der Bug ist schon gemeldet, aber bis Dato keine Antwort. Genauso auch mit dem Maxcul Adapter, auch keine Reaktion. Da gings es ja darum, den CUNO Modus einzubauen. Ich habe auch schon die User, die das pflegen direkt über PN angeschrieben, nichts bisher. Eigentlich alles sch.....ade. Ich wüsste jetzt auch nicht, wer sich mal den Code auf dem Github des Adapters mal anschauen würde.....

Nichtsdestotrotz wünsche ich Dir, mein lieber Manfred und Deiner Familie ein schönes Advents-, zudem ein frohes Weihnachtsfest und einen guten Rutsch ins neue Jahr. Bleibt Gesund !

LG Dirk

grafik grafik

Culbridge.zip