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

oli82

Zitat von: Chris_Worms am 07 April 2016, 15:49:29
Eine Idee hätte ich noch: Bisher wird das LGW mit Netzstrom betrieben, wäre es nicht möglich das mit Batterie (oder Akku) zu betreiben?

Das ist leider so nicht möglich.
Zum Einen benötigt das WLan Modul zu viel Leistung und zum anderen ist ein Deepsleep nicht möglich, da man je nach Sensorenanzahl und Verwendung ja recht zeitnahe Messwerte haben will.

PeMue

Zitat von: Chris_Worms am 07 April 2016, 15:49:29
Danke für Deine Arbeit! Ich glaube ich bin damit infiziert und schaue heute Abend wo ich die Elektronikbauteile herbekomme. :-D
Hallo Chris,

kleine Werbung in eigener Sache: https://forum.fhem.de/index.php/topic,45594.msg373669.html#msg373669

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

HCS

Zitat von: PeMue am 07 April 2016, 17:05:06
kleine Werbung in eigener Sache
Immer diese PCB dealer ...   ;D ;D

Zitat von: Chris_Worms am 07 April 2016, 15:49:29
Danke für Deine Arbeit!
Und für die von PeMue, die er in die Platine(n) investiert hat.
Damit kann man das dann gleich "in ordentlich" machen.

Wenn wir jetzt noch einen Wiki-Schreiber finden, wird es langsam ein Projekt-Team ...  ;)

Zitat von: Chris_Worms am 07 April 2016, 15:49:29
Eine Idee hätte ich noch: Bisher wird das LGW mit Netzstrom betrieben, wäre es nicht möglich das mit Batterie (oder Akku) zu betreiben?
Wie oli82 schon geschrieben hat, keine Chance.
Wenn wir mal von 150mA im Schnitt ausgehen, dann sind das 3,6 Ah am Tag, selbst hervorragende AA-Akkus sind nach weniger als einem Tag leer.
Mit einer Autobatterie könnte man wohl eine Woche schaffen.  ;D ;D

Zitat von: Chris_Worms am 07 April 2016, 15:49:29nur dass der Fibaro Wall Plug wesentlich besser aussieht.
Stimmt.
<Scherz Mode="Funny"> <!-- nicht dass jemand sich gleich welche kauft -->
Kennt jemand Frequenz, data rate und Protokoll, dann bauen wir es ein  ;D ;D ;D
</Scherz>

HCS

Zitat von: Wzut am 07 April 2016, 09:24:35
b. den Clock Speed in der Setup Seite von 1.000.000 auf 100.000 gesetzt, noch immer kein Zeichen zu sehen. Ich habe dann in meiner Verzweiflung auf einem UNO den Wire Master Write Sketch geflasht und mit dem Slave verbunden. Ergebnis : ich sah die Zeichen vom Master, ergo kann der Micro I2C empfangen. Als nächstes habe ich auf den Micro den I2C Scanner Sketch geflasht, dieser finden den UNO Master unter der Adresse 7F. Verbinde ich den Micro aber mit dem ESP wird kein Master oder anderer Teilnehmer am Bus gefunden
Jetzt bin ich mal dazu gekommen, mich mit diesem Thema zu beschäftigen.
Ich habe die Initialisierung im LGW etwas angepasst, dass es bei I2C-Clock < 400kHz mit der Prüfung, ob ein SC16IS750 dran ist, etwas wartet. Ein echter SC16IS750 funtioniert nach Anlegen der Versorgungsspannung sofort, der "Arduino-Clone" muss ja erst mal booten und initialisieren.
Das Clock-Stretching im LGW habe ich auch noch angepasst, dass es mit dem Arduino besser hinhaut.

Damit habe ich es hinbekommen, mit einem ATmega328P einen SC16IS750-Clone zu bauen, den das LGW als SC16IS750 erkennt und zumindest mal die GPIOs des SC16IS750 zu emulieren. Mit mehr als 100 kHz Clock speed habe ich es aber nicht zuverlässig hinbekommen.

Um diesen Thread hier nicht damit zu zerfleddern schlage ich vor, Du machst irgendwo in der "Bastelecke" einen "SC16IS750-Software-Clone" Thread auf, wo wir das weiter diskutiern können. Ich hänge dann dort die Test-LGW-Version und den Quellcode für den Arduino an.

Omega

KeyValueProtocol: Bin gerade darüber gestolpert, dass es das Log in meiner 2. FHEM-Instanz (Data port 82) vollschreibt, obwohl ich den Parameter "KV-Intervall" auf off stehen habe.
In meiner 1. Instanz (Data port 81) ist das Log dagegen - wie zu erwarten - leer.

Gilt der Parameter "KV-Intervall" nicht global?
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

HCS

Zitat von: Omega am 11 April 2016, 23:40:26
KeyValueProtocol: Bin gerade darüber gestolpert, dass es das Log in meiner 2. FHEM-Instanz (Data port 82) vollschreibt, obwohl ich den Parameter "KV-Intervall" auf off stehen habe.
In meiner 1. Instanz (Data port 81) ist das Log dagegen - wie zu erwarten - leer.

Gilt der Parameter "KV-Intervall" nicht global?
Seltsam, das kann ich weder im Quellcode noch durch ein praktisches Experiment nachvollziehen. Wenn KV-Interval: off dann geht auf keinem Port was raus.

Omega

Sorry, als ich das geschrieben habe, hätte ich wohl besser schon im Bett liegen sollen  ;)  -- oder eine andere Brille aufsetzen sollen  8)

In der 1. Instanz habe ich ein monatliches Log, dass aber aufgrund KV-Intervall off" nicht befüllt wird.
In der 2. Instanz ist es ein Jahreslog. Und das hat natürlich noch (alte) Daten gehabt. Ich habe da allerdings nicht auf den Zeitstempel geachtet sondern bin auch hier von einem Monatslog ausgegangen.
Tut mir leid für den Fehlalarm.

LG Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

Wzut

Zitat von: HCS am 10 April 2016, 11:43:06
Um diesen Thread hier nicht damit zu zerfleddern schlage ich vor, Du machst irgendwo in der "Bastelecke" einen "SC16IS750-Software-Clone" Thread auf
OK, kein Problem. Wird aber noch ein paar Tage dauern da ich z.Z. leider keine Zeit & Möglichkeit habe in der Richtung irgend etwas zu testen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

HCS

Zitat von: Wzut am 13 April 2016, 09:42:33
Wird aber noch ein paar Tage dauern da ich z.Z. leider keine Zeit & Möglichkeit habe in der Richtung irgend etwas zu testen.
Macht nichts, ich habe ja einen echten SC16IS750  ;D

StefanW

Erstmal großes Lob für die ganzen Erweiterungen, das Ding wird ja echt zur eierlegenden Wollmilchsau. :-)

Ich habe mir jetzt ein Gateway mit 1x SC16IS750, 4x RFM69 & 1x BMP180 gebaut.
Klappt auch soweit ganz gut, nur irgendwie haut das des öfteren mit den initCommands nicht ganz hin.

So soll es sein:

1=RFM69 f:868300 r:17241 (30.3143.IT Sensoren)
2=RFM69 f:868300 r:9579 (TX35TH-IT Sensoren)
3=RFM69 f:868300 r:20000 (EC3000)
4=RFM69 f:868950 r:6631 (PCA301)

Da 1&2 ja automatisch gesetzt werden, sind meine initCommands für 3&4 folgende:
4,868950,120i 20000#3r

Nur werden leider des öfteren die initCommands nicht korrekt ausgeführt und ich kann nicht so ganz nachvollziehen, warum das so ist.
Gibt's da evtl ne bessere Möglichkeit oder Schreibweise die Commands zu setzen?

Gruß
Stefan

HCS

Zitat von: StefanW am 18 April 2016, 16:32:40
So soll es sein:

1=RFM69 f:868300 r:17241 (30.3143.IT Sensoren)
2=RFM69 f:868300 r:9579 (TX35TH-IT Sensoren)
3=RFM69 f:868300 r:20000 (EC3000)
4=RFM69 f:868950 r:6631 (PCA301)

Da 1&2 ja automatisch gesetzt werden, sind meine initCommands für 3&4 folgende:
4,868950,120i 20000#3r

Bist Du sicher, dass sie nicht gesetzt werden? Ohne ein v am Ende meldet das LGW die neue Konfiguration nicht zurück und in "model" ändert sich dann nichts.
4,868950,120i 20000#3r v

Und bei einem LGW sollte man auf alle Fälle das timeout Attribut setzen, sonst verbindet sich FHEM nicht neu auf das LGW, wenn es (oder das wlan) mal weg war.
Z.B.
attr myJeeLink timeout 60,60

Zitat von: StefanW am 18 April 2016, 16:32:40das Ding wird ja echt zur eierlegenden Wollmilchsau. :-)
Wolle könnte das LGW auf Port 88 und Milch auf Port 89 bereitstellen, aber die Sau ist nach dem zerlegen in mehrere TCP-Pakete dann tot  ;D ;D ;D

StefanW

Zitat von: HCS am 18 April 2016, 16:56:31
Bist Du sicher, dass sie nicht gesetzt werden? Ohne ein v am Ende meldet das LGW die neue Konfiguration nicht zurück und in "model" ändert sich dann nichts.
4,868950,120i 20000#3r v

Und bei einem LGW sollte man auf alle Fälle das timeout Attribut setzen, sonst verbindet sich FHEM nicht neu auf das LGW, wenn es (oder das wlan) mal weg war.
Z.B.
attr myJeeLink timeout 60,60
Wolle könnte das LGW auf Port 88 und Milch auf Port 89 bereitstellen, aber die Sau ist nach dem zerlegen in mehrere TCP-Pakete dann tot  ;D ;D ;D

Gute Frage, ich habe bis jetzt nur auf "model" geachtet.

Das v und timeout werde ich mal testen.
Vielen Dank

HCS

V1.17

DHT22
Totgesagte leben länger
Optional kann nun anstatt Radio#3 ein DHT22 angeschlossen werden.
Das LGW erkennt automatisch, ob man Radio3 oder einen DHT22 oder nichts hat

OTA-Update
Wenn man ein OTA-Update per upload angestoßen hat, kam es manchmal vor, dass das LGW dabei stehen geblieben ist

Help page
Das Frontend hat eine "Help-Page" bekommen, auf der die Commands, die man von FHEM aus senden kann, aufgeführt sind

Konfiguration
Es gibt zwei neue Einstellungen:
"Use MDNS"
legt fest, ob das LGW seine IP-Adresse per MDSN bekannt gibt. Nützt aber nur, wenn man einen Mac hat oder bei Windows einen Bonjour-Service laufen hat.
Ist eigentlich eh nur beim Entwickeln sinnvoll, kann also üblicherweise ausgeschaltet bleiben.
"SC16IS750-Clone"
ist vorerst mal für Wzut. Wenn aktiviert, wird die I2C clock auf 100 kHz runtergenommen und
es wird an einigen Stellen etwas auf die Bremse getreten, dass ein SC16IS70-Clone, der langsamer
als echte Hardware ist, mitkommt.
Sollte man ohne zwingenden Grund nicht aktivieren.
   
Serial bridge
Das LGW kann nun optional die serielle Schnittstelle des SC16IS750 transparent auf einem TCP Port bereitstellen
Dazu gibt es die neuen settings "Serial bridge port" und "Serial bridge baud" auf der config page
Das LGW überträgt transparent die Daten der seriellen Schnittstelle an FHEM und umgekehrt.

Damit kann man z.B. einen NanoCUL an das LGW dran hängen und in FHEM verwenden.
Vorehensweise:
- Einen NanoCUL bauen, z.B. auf Basis eines Arduino Pro Mini, flashen und testweise in Betrieb nehmen. Keinen Arduino Nano nehmen, den USB-Port können wir nicht brauchen.
- Den NanoCUL an die serielle Schnittstelle des SC16IS70 anschließen
- Port und baud rate auf der Setup-Page des LGW festlegen, z.B. Port 85 und 38400 baud
- CUL in FHEM definieren: "define cul211 CUL 192.168.31.211:85 0000"

Dass sich das CUL-Device in FHEM neu auf das LGW verbindet, wenn dieses mal weg, gebootet, ... war, kann man sich diesen at definieren:
define cul211Reconnector at +*00:00:30 {\
my $deviceName = "cul211";;\
my $version = CommandGet("", $deviceName . " version");;\
my $gotAnswer = index($version, 'No answer') == -1;;\
\
if(!$gotAnswer) {\
  fhem("set " . $deviceName . " reopen");;\
}\
\

noice

Hi,

habe heute versucht den LGA in berieb zu nehmen leider ohne Erfolg.
nach mehrmaligem flashen bekomme ich immer nur folgende Ausgabe an der seriellen Schnittstelle:
***CLEARLOG***
This is line 5 of void setup(void)
LaCrosseITPlusReader.Gateway V1.17 Free heap: 23416
SDK: 1.5.1(e67da894)
Reset: Exception
Fatal exception:3 flag:2 (EXCEPTION) epc1:0x401002f0 epc2:0x00000000 epc3:0x0000                                                                                                 0000 excvaddr:0x4000fdc2 depc:0x00000000
Read settings
Starting I2C with 400000 kHz
Starting wifi
Start WIFI_STA

Exception (3):
epc1=0x401002f0 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4000fdc2 depc=0x00000                                                                                                 000

ctx: cont
sp: 3fff42e0 end: 3fff4c80 offset: 01a0

>>>stack>>>
3fff4480:  40202599 00000030 00000008 ffffffff
3fff4490:  4021c481 00000000 00000030 3fff4590
3fff44a0:  00000484 00000484 000003fd 401004f4
3fff44b0:  00000000 00001000 000003fd 401072a8
3fff44c0:  40004b31 3fff44f0 0000001c 40241049
3fff44d0:  401065e6 40241131 3fff7324 000003ff
3fff44e0:  000003fd 3fff4590 3fff7324 000003fd
3fff44f0:  ffffff00 55aa55aa 00000010 0000001c
3fff4500:  0000001c 000000e8 000000ea 000003ff
3fff4510:  40241520 3fff7324 3fff7324 000000ff
3fff4520:  00000001 3fff45b0 4024167b 00000008
3fff4530:  3fff7324 000000ff 3fff4590 00000000
3fff4540:  3fff73e4 3fff45f1 00000001 40241708
3fff4550:  3fff4590 3fff7324 3fff48e0 3fff3720
3fff4560:  3fff45b0 3fffd65c 3fff7324 3fff48e0
3fff4570:  40241744 3fff4bb4 00000000 4021e213
3fff4580:  4020ad78 3fff72e4 3fff72e4 4021e245
3fff4590:  3fff3c00 0000049a 0000049a 4010020c
3fff45a0:  3fff3730 00000000 3fff45dc 4010068c
3fff45b0:  3ffeb600 00000000 3fff3720 4021e168
3fff45c0:  3fff3730 00000000 3fff3720 40216e4c
3fff45d0:  3fff3c4c 00000497 00000497 4010020c
3fff45e0:  3fff48e0 3fff48e0 3fff4bb8 4010068c
3fff45f0:  3ffe8f90 00000000 3fff4ba8 4021e168
3fff4600:  3fff48e0 3fff48e0 3fff4bb4 402099a2
3fff4610:  3fff6c3c 0000000f 00000000 3fff6c54
3fff4620:  0000000f 00000000 3fff6c6c 0000000f
3fff4630:  00000000 3fff6c84 0000000f 00000000
3fff4640:  3fff6d3c 0000000f 00000000 3fff6d54
3fff4650:  0000000f 00000000 3fff6d6c 0000000f
3fff4660:  00000000 3fff6d84 0000000f 00000000
3fff4670:  3fff6d9c 0000000f 00000000 3fff6db4
3fff4680:  0000000f 00000000 3fff6dcc 0000000f
3fff4690:  00000000 3fff6de4 0000000f 00000000
3fff46a0:  3fff6dfc 0000000f 00000000 3fff6e14
3fff46b0:  0000000f 00000000 3fff6e2c 0000000f
3fff46c0:  00000000 3fff6e44 0000000f 00000000
3fff46d0:  3fff6e5c 0000000f 00000000 3fff6e74
3fff46e0:  0000000f 00000000 3fff6e8c 0000000f
3fff46f0:  00000000 3fff6ea4 0000000f 00000000
3fff4700:  3fff6ebc 0000000f 00000000 3fff6ed4
3fff4710:  0000000f 00000000 3fff6eec 0000000f
3fff4720:  00000000 3fff6f04 0000000f 00000000
3fff4730:  3fff6f1c 0000000f 00000000 3fff6f34
3fff4740:  0000000f 00000000 3fff6f4c 0000000f
3fff4750:  00000000 3fff6f64 0000000f 00000000
3fff4760:  3fff6f7c 0000000f 00000000 3fff6f94
3fff4770:  0000000f 00000000 3fff6fac 0000000f
3fff4780:  00000000 3fff6fc4 0000000f 00000000
3fff4790:  3fff6fdc 0000000f 00000000 3fff6ff4
3fff47a0:  0000000f 00000000 3fff700c 0000000f
3fff47b0:  00000000 3fff7024 0000000f 00000000
3fff47c0:  3fff703c 0000000f 00000000 3fff7054
3fff47d0:  0000000f 00000000 3fff706c 0000000f
3fff47e0:  00000000 3fff7084 0000000f 00000000
3fff47f0:  3fff709c 0000000f 00000000 3fff70b4
3fff4800:  0000000f 00000000 3fff70cc 0000000f
3fff4810:  00000000 3fff70e4 0000000f 00000000
3fff4820:  3fff70fc 0000000f 00000000 3fff7114
3fff4830:  0000000f 00000000 3fff712c 0000000f
3fff4840:  00000000 3fff7144 0000000f 00000000
3fff4850:  3fff715c 0000000f 00000000 3fff7174
3fff4860:  0000000f 00000000 3fff718c 0000000f
3fff4870:  00000000 3fff71a4 0000000f 00000000
3fff4880:  3fff71bc 0000000f 00000000 3fff71d4
3fff4890:  0000000f 00000000 3fff71ec 0000000f
3fff48a0:  00000000 3fff7204 0000000f 00000000
3fff48b0:  3fff721c 0000000f 00000000 3fff7234
3fff48c0:  0000000f 00000000 3fff724c 0000000f
3fff48d0:  00000000 3fff7264 0000000f 00000000
3fff48e0:  00000000 3fff652c 0000000f 00000000
3fff48f0:  3fff65e4 0000000f 00000000 3fff6484
3fff4900:  0000000f 00000000 3fff664c 0000000f
3fff4910:  00000000 3fff6664 0000000f 00000000
3fff4920:  3fff667c 0000000f 00000000 3fff6694
3fff4930:  0000000f 00000000 3fff66ac 0000000f
3fff4940:  00000000 3fff66c4 0000000f 00000000
3fff4950:  3fff66dc 0000000f 00000000 3fff66f4
3fff4960:  0000000f 00000000 3fff670c 0000000f
3fff4970:  00000000 3fff6724 0000000f 00000000
3fff4980:  3fff673c 0000000f 00000000 3fff6754
3fff4990:  0000000f 00000000 3fff6804 0000000f
3fff49a0:  00000000 3fff681c 0000000f 00000000
3fff49b0:  3fff6834 0000000f 00000000 3fff684c
3fff49c0:  0000000f 00000000 3fff6864 0000000f
3fff49d0:  00000000 3fff687c 0000000f 00000000
3fff49e0:  3fff6894 0000000f 00000000 3fff68ac
3fff49f0:  0000000f 00000000 3fff68c4 0000000f
3fff4a00:  00000000 3fff68dc 0000000f 00000000
3fff4a10:  3fff68f4 0000000f 00000000 3fff690c
3fff4a20:  0000000f 00000000 3fff6924 0000000f
3fff4a30:  00000000 3fff693c 0000000f 00000000
3fff4a40:  3fff6954 0000000f 00000000 3fff696c
3fff4a50:  0000000f 00000000 3fff6984 0000000f
3fff4a60:  00000000 3fff699c 0000000f 00000000
3fff4a70:  3fff69b4 0000000f 00000000 3fff69cc
3fff4a80:  0000000f 00000000 3fff69e4 0000000f
3fff4a90:  00000000 3fff69fc 0000000f 00000000
3fff4aa0:  3fff6a14 0000000f 00000000 3fff6a2c
3fff4ab0:  0000000f 00000000 3fff6a44 0000000f
3fff4ac0:  00000000 3fff6a5c 0000000f 00000000
3fff4ad0:  3fff6a74 0000000f 00000000 3fff6a8c
3fff4ae0:  0000000f 00000000 3fff6aa4 0000000f
3fff4af0:  00000000 3fff6abc 0000000f 00000000
3fff4b00:  3fff6ad4 0000000f 00000000 3fff6aec
3fff4b10:  0000000f 00000000 3fff6b04 0000000f
3fff4b20:  00000000 3fff6b1c 0000000f 00000000
3fff4b30:  3fff6b34 0000000f 00000000 3fff6b4c
3fff4b40:  0000000f 00000000 3fff6b64 0000000f
3fff4b50:  00000000 3fff6b7c 0000000f 00000000
3fff4b60:  3fff6b94 0000000f 00000000 3fff6bac
3fff4b70:  0000000f 00000000 3fff6bc4 0000000f
3fff4b80:  00000000 3fff6bdc 0000000f 00000000
3fff4b90:  3fff6bf4 0000000f 00000000 3fff6c0c
3fff4ba0:  0000000f 00000000 3fff6c24 0000000f
3fff4bb0:  00000000 00000000 00000000 00000000
3fff4bc0:  00000000 00000000 00000000 00000000
3fff4bd0:  00000000 00000000 00000000 feefeffe
3fff4be0:  feefeffe feefeffe feefeffe feefeffe
3fff4bf0:  feefeffe feefeffe feefeffe feefeffe
3fff4c00:  feefeffe feefeffe feefeffe feefeffe
3fff4c10:  feefeffe feefeffe feefeffe feefeffe
3fff4c20:  feefeffe feefeffe feefeffe feefeffe
3fff4c30:  feefeffe feefeffe feefeffe feefeffe
3fff4c40:  feefeffe feefeffe feefeffe feefeffe
3fff4c50:  feefeffe feefeffe feefeffe 3fff3c58
3fff4c60:  3fffdad0 00000000 3fff3c50 4021bd38
3fff4c70:  feefeffe feefeffe 3fff3c60 40100718
<<<stack<<<
!▒
B▒▒!!▒▒
        1▒ ▒&▒K▒SH▒kH
▒@▒▒Oֈ▒▒▒HN=▒▒HN%▒▒
***CLEARLOG***


woran kanns liegen?

Danke im Voraus
BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000

noice

Komando zurück ...

Nachdem ich den ESP nochmals clean geflasht haben rennt es nun ...

BananaPI, RaspberryPi+AddonBoard,HMLAN,  miniCUL 433,nanoCUL 433,nanoCUL868,FHEMduino 433, Jeelink clone diverse Homematic, FS20, MAX, TFA und IT Komponenten.
10" Tablet mit andFhem, Daitem D14000