LaCrosseGateway - LaCrosse, PCA301 und EC3000 über wifi mit ESP8266 ohne Arduino

Begonnen von HCS, 07 November 2015, 14:39:36

Vorheriges Thema - Nächstes Thema

BlackFlag

Zitat von: Olly am 15 November 2015, 13:15:30
Hi,

du kannst dich doch auch mit dem konfigurierten Gateway verbinden. Einfach die per DHCP erhaltene IP /setup im Browser aufrufen, dann kommst du doch auch auf die Konfigurationssite und kannst SSID und Passwort noch mal eingeben.

Gruß

    Olly

Danke, auf die Idee bin ich nicht gekommen. Das war zu einfach ;-).

HCS

Zitat von: BlackFlag am 15 November 2015, 12:29:21Der wechselt jetzt ständig (quasi im Sekundentakt) zwischen 2 Temperaturen hin- und her. Kann es sein, dass ich zufällig 2 mit der gleichen ID habe?
Ja, sieht so aus. Mach mal aus einem die Batterien raus und wieder rein, dass er eine neue ID bekommt.

HCS

#77
Version 1.05 (am ersten Beitrag):
- Die Konfiguration geht nun auch mit Sonderzeichen im Passwort usw.
- Man kann den Hostname und eine statische IP-Adresse anstatt DHCP konfigurieren.
  Wenn DHCP verwendet werden soll, lässt man IP-Adresse, Mask und Gateway leer.
- Da man sich mit der statischen IP bei einer Fehlkonfiguration den Ast absägen kann, gibt es jetzt ein Command, um das EEPROM zu leeren,
  was dazu führt, dass man wieder den Access Point bekommt und neu konfigurieren kann.
  Dazu setzt man von einem Terminalprogramm an der seriellen Schnittstelle mit 57600 Baud das Command 0e ab.

Olly

Wow, das geht ja hier mit riesigen Schritten voran.

Klappt jetzt bei mir auch mit dem Passwort mit Sonderzeichen und auch mit statischer IP.

This is line 5 of void setup(void)
Read settings
Settings are:
Key:ctSSID  Val:xxxxxx
Key:ctPASS  Val:xxxxxx
Key:staticIP  Val:192.168.xxx.xx
Key:staticMask  Val:255.255.255.0
Key:staticGW  Val:192.168.xxx.yy
Key:HostName  Val:LaCrosseGateway
Starting wifi
HostName is: LaCrosseGateway
                            Using static IP
IP: 192.168.xxx.xx
                  Mask: 255.255.255.0
                                     Gateway: 192.168.xxx.yy
                                                            Trying to connect t an AP
........
connected :-)
SSID: xxxxxxxx
IP: 192.168.xxx.xx
OTA running on port 8266
Searching RFMs and BMP
Sending init String to FHEM

[LaCrosseITPlusReader.Gateway.1.05 {IP=192.168.xxx.xx}]
Setup completely done

Einzig die Ausgabe auf der seriellen Schnittstelle ist noch nicht perfekt positioniert ;-)

Jetzt muss ich aber wirklich sehen, dass ich mir nen RFM besorge um weiter zu testen.

Danke und Gruß

      Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

oli82

Guten Morgen.

Bei mir läuft es nun auch. Jetzt folgt erstmal ein Langzeittest.
Danke für die schnelle Umsetzung.

HCS

Zitat von: Olly am 15 November 2015, 22:49:48Einzig die Ausgabe auf der seriellen Schnittstelle ist noch nicht perfekt positioniert ;-)

Das sieht aber bei mir deutlich besser aus. Mit was schaust Du denn auf die Schnittstelle?
Ahh, gerade ahne ich es, das sind die Zeilen, die ich nur mit \n enden lasse und nicht mit \r\n
Kann ich noch optimieren ...

HCS

Wichtig: Die offizielle Unterstützung der WS 1080 revidiere ich vorerst mal. Wie sich im LaCrosse Thread inzwischen herausstellt, gibt es die WS 1080 auch unter gleichem Namen in verschieden Versionen und nicht alle senden ein Protokoll, das wir verstehen.
Bis zur endgültigen Klärung würde ich von der Anschaffung einer WS 1080 abraten. Wer eine hat, kann natürlich gerne mal probieren und auch bei Erfolg mal eine Rückmeldung geben.

AxelSchweiss


HCS

#83
Zitat von: AxelSchweiss am 20 November 2015, 08:41:22In diesem Tread wird die WS1080 auch behandelt.
http://forum.fhem.de/index.php?topic=39451.new;topicseen#new
Hier klappt anscheinend die Einbindung.

Ja genau. Bin über SignalDuino nicht genau im Bilde, aber das empfängt doch OOK?
Das würde bedeuten, dass die 14c gekennzeichneten Stationen OOK senden, und darum mit SignalDuino gehen und nicht mit dem LaCrosse Sketch, der FSK empfängt.

Nachtrag: habe gerade mal bei der SignalDuino Truppe nachgefragt.

HCS

Nachdem es beim mir und fh168 über längere Zeit stabil läuft (einer von meinen ist nun 6 Tage konstant up und empfängt meinen kompletten LaCrosse-Zoo incl. WS 1600 und EMT7110) geht es dann mit etwas (noch nicht implementiertem) Feintuning weiter.

aufgegriffene Vorschläge u.A von fh168 (kannst sie ruhig hier posten, dann muss ich es nicht nochmal wiedererholen):

Lichtsignale:
Beim Start und der Initialisierung mit der Borad-eigenen LED signalisieren, was gerade passiert (könnte so ungefähr werden):
5 Schnelle blinks direkt nach dem Start, als Zeichen, dass ein Reset stattgefunden hat (ist bereits so)
Blinken im Sekundentakt, während versucht wird, sich mit einem wlan zu verbinden.
LED aus, wenn der Connect zu einem wlan geklappt hat und dann vereinzeltes Blinken, wenn Daten an FHEM übermittelt werden (ist bereits so)
Dauerleuchten, wenn kein Connect zu einem wlan möglich war und der AccessPoint geöffnet wurde.

Setup-page:
Die Setup-Page ist ja auf 192.168.222.1/setup zu erreichen.
Wenn kein connect zu einem wlan möglich war und desshalb der Acces Point geöffnet wurde, erreicht man die Setup-page direkt auf 192.168.222.1 ohne /setup hinten dran.

Web-Frontend erweitern:
So Dinge wie "Uptime: 484473 Seconds" verbessern zu "5 Tage 14 Std. 34 Min. 33 Sec" (das ist übrigens gerade die aktuelle UP-Time von meinem Testsystem) und den Überlauf nach 50 Tagen behandeln

Status-Informationen in FHEM
Ich schreibe gerade im Zusammenhang mit Davis Vantage ein universelles FHEM-Modul (36_KeyValueProtocol), das universell Daten entgegenenehmen und zu Readings umsetzen kann.
Der Sketch wird dann solche Dinge wie Up-Time usw. in diesem Format übermitteln, so dass man sie in FHEM zur Verfügung hat.

Wie gesagt, das ist der Plan, werde mich dann mal ans Implementieren machen.
Sinnvolle Ideen, Anmerkungen und Rückmeldungen sind willkommen.

AxelSchweiss

Hi
Ich würde das Gateway gerne in mein Netzwerkmonitoring (Nagios+Cacti)  mit einbeziehen.
Dazu wäre eine Statuspage sehr nützlich.
Vielleicht lässt sich ja eine implementieren.

z.B.:

Get http://192.168.222.1/status

uptime: 484473
registered devices: 4
messages per second : 23

usw.. was eben noch interessant ist

Dann könnte ich nämlich prüfen ob das Gateway noch sauber funktioniert .... ein Ping ist dazu etwas wenig.
Wichtig wäre mir das die Statusseite ganz simpel aufgebaut ist und ich sie nicht erst mit einem HTML-Parser durchforsten muss.
Einfach plain ASCII raushauen.



HCS

Zitat von: AxelSchweiss am 21 November 2015, 12:02:47
Get http://192.168.222.1/status

uptime: 484473
registered devices: 4
messages per second : 23

usw.. was eben noch interessant ist
Das ist eigentlich genau das, was ich mit der 36_KeyValueProtocol Schiene vorhabe.
Das LGW sendet alle x Sekunden diese informationen. Das Modul in FHEM stellt diese Daten als Readings zur Verfügung. Sieht dann z.B. so aus:

Internals:
   DEF        LGW 12345
   ID         LGW_12345
   IODev      myJeeLink
   LASTInputDev myJeeLink
   MSGCNT     19
   NAME       KeyValueProtocol_LGW_12345
   NR         235
   STATE      Initialized
   TYPE       KeyValueProtocol
   model      LGW
   myJeeLink_MSGCNT 19
   myJeeLink_RAWMSG OK VALUES LGW 12345 UpTime:2345678, SSID:MyCoolNetwork,LastReceiveTime:2015-11-17 13:39:14,Mode:OK,Connected,Cool,OTA:Ready,MeesagesPerSecond:23
   myJeeLink_TIME 2015-11-21 12:10:59
   CHANGETIME:
   Readings:
     2015-11-21 12:10:59   LastReceiveTime 2015-11-17 13:39:14
     2015-11-21 12:10:59   MeesagesPerSecond 23
     2015-11-21 12:10:59   Mode            OK,Connected,Cool
     2015-11-21 12:10:59   OTA             Ready
     2015-11-21 12:10:59   SSID            MyCoolNetwork
     2015-11-21 12:10:59   UpTime          2345678
Attributes:
   IODev      myJeeLink
   room       KeyValueProtocol


Man hat also ein Device in FHEM, das die aktuellen Statuswerte des LGW darstellt.

Würde das Deinen use case mit abdecken?

AxelSchweiss

Hmmm ... nun ja  .... nicht ganz
Ich würde das gerne direkt vom Gateway haben und nicht über den Umweg mit FHEM.
Das hat aber prinzipielle Gründe.
Wenn ich wissen möchte wie es einem Patienten geht frage ich ja auch nicht seinen Kumpel sondern direkt den Patienten.
Ich möchte einfach vermeiden das ich in FHEM einen alten Status bekomme und dann davon ausgehe das das Gateway noch lebt.
Eigentlich würde die Anzahl der Messages/Minute ausreichen.
Dann kann ich prüfen ob ich hier unter einen kritischen Wert falle.

HCS

#88
OK, verstanden so weit.
Wird aber etwas dauern, die Statusgeschichte im Frontend war so eine erste quick&dirty Aktion. Das muss ich mal auf einen ordentlichen Status-Handler umbauen, der dann die ermittelten Werte als HTML für das Frontend (also für den Menschen) und als Daten für eine Maschine und für FHEM raus geben kann.

Muss es wirlich plain ASCII sein? Das muss man ja auch irgendwie parsen. Für XML könnte ich mich schon eher begeistern.
So in der Art:
<?xml version="1.0" encoding="UTF-8"?>
<LGW>
   <Info Key="MeesagesPerSecond" Value="23" />
   <Info Key="UpTime" Value="2345678" />
</LGW>


Nachtrag: da könnte man dann sogar mit XSLT transformieren und sich sein eigenes hübsches XML draus machen.

AxelSchweiss