AskSinAnalyzer - Eigenbau HM Funktelegramm-Dekodierer mit 2.8" TFT LCD

Begonnen von locutus, 31 Juli 2019, 22:05:19

Vorheriges Thema - Nächstes Thema

locutus

Hallo zusammen,
nach der eigenbau CCU mit Raspberry Pi Zero W nun mein zweites HomeMatic Projekt, zugleich aber auch die erste Platine mit einem ESP32.
Die Grundlage für diese Konstruktion bildet der Funktelegramm-Dekodierer für den Einsatz in HomeMatic Umgebungen von jp112sdl:
https://github.com/jp112sdl/AskSinAnalyzer/wiki

Schaltung und Funktion:
Schaltplan siehe Anhang. Meine Schaltung weicht geringfügig vom Original ab:
- Arduino Pro Mini und ESP32 Dev Kit durch SMD Bauteile ersetzt
- USB zu Seriell-Wandler
- Wechselschalter SW2. Stellt serielle Verbindung entweder zwischen USB und ESP32 oder USB und ATMEGA328P her. Nützlich für die Programmierung über die Arduino IDE. Debugging in der ESP32 Stellung.
- 2.8" ILI9341 SPI TFT LCD 320x240 Modul

Bauanleitung:
- vor der Inbetriebnahme muss auf den ATMEGA328P der Arduino Pro Mini 3.3V 8MHz Bootloader gebrannt werden. Entweder im passenden ZIF-Sockel oder über die vorhandene 6-pol. ISP Schnittstelle.
- die Lötbrücke RX2 muss geschlossen werden. TX2 kann offen bleiben.
- auf der roten Displayplatine die Lötbrücke J1 in der Nähe des Spannungsreglers U1 schließen. Diese Maßnahme soll den "ILI9341 White Screen" verhindern, indem das Display direkt und nicht vom eigenen Spannungsregler mit 3,3 Volt versorgt wird.

Gehäuse:
https://forum.fhem.de/index.php/topic,102701.msg1056486.html#msg1056486

Die Verwendung der Daten für kommerzielle Zwecke, Herstellung oder gewerblichen Vertrieb ist untersagt.


stan23

Sehr sehr schön!
Einen FTDI habe ich bei mir für die nächste Version schon vorgemerkt. Den Reset-Taster am ESP habe ich mir auch gespart, das macht es aber leider komplizierter.

Mich wundert nur dass du die Gerber Dateien hochlädst, aber gleichzeitig die Nutzung zur Herstellung untersagst?

locutus

Ist der Satz so missverständlich formuliert? Kommerzielle und gewerbliche Herstellung ist untersagt, kleine Mengen für Privatgebrauch und hier im Forum Marktplatz sind erlaubt.

ext23

Nabend,

ich würde dir gerne eine Platine abnehmen. Klingt interessant. Das Thema ist an mir völlig vorüber gegangen aber so ein Decoder ist manchmal sehr hilfreich.
Hast du eventuell noch die anderen Bauteile da (außer den Atmel, ESP und Funkmodul)? Da passt meine Bastelware alles nicht, dann brauch ich da nicht erst was bestellen.

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

tndx


cetri

Hallo,

ich würde auch eine nehmen wenn sie noch verfügbar ist.

Gruß
Jörg

MillyHarry

Hallo locotus,

auch ich nehme gerne eine Platine.

gruss  MillyHarry

tndx

Guten Abend,

bin dabei, die Platine zu bestücken, kann mir jemand bestätigen, dass die 2.8"-Version hiervon https://www.ebay.de/itm/2-2-2-8-TFT-LCD-Display-Touchpanel-SPI-Serial-240-320-ILI9341-3-3V-STM3-A1M8/303298736415 auf die Platine passen würde?


papa

BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

MillyHarry

Hallo Locutus,

Gibt es für deine Platine ein passendes 3d-Druck-Gehäuse (gcode- oder stl-Dateien)  ????


ext23

"die Lötbrücke RX2 muss geschlossen werden. TX2 kann offen bleiben."

Die muss offen bleiben, sonst lässt sich der AVR nicht flashen habe ich festgestellt. Da zieht der ESP Port sonst das Signal runter bzw. hoch.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

fhemfreund

Zitat von: papa am 22 Januar 2020, 22:08:28
Es gibt jetzt eine neue Version mit besserer FHEM-Unterstützung: https://homematic-forum.de/forum/viewtopic.php?f=76&t=56214

Genau das habe ich mal probiert ... allerdings ohne Erfolg. Die Deviceliste wird nicht eingelesen, bzw. auf dem Display angezeigt. Wenn ich die URL - in meinem Fall


http://fhem2.local:8083/fhem?cmd={printHMDevs()}&XHR=1


im AskSinAnalyzer Config-Screen definiere, wird diese beim Booten in der Debug-Console angezeigt (allerdings nicht im Settings Screen via AskSinAnalyzer WebUI). Wenn ich oben genannte URL im Browser eingebe, bekomme ich die JSON Liste aller Fhem HM Devices angezeigt - sprich der Fhem Teil inkl. 99_myUtils sollte funktionieren. In der Debug-Console erscheint folgende Fehlermeldung


JSON DeserializationError: InvalidInput


Im AskSinAnalyzer WebUI erscheint


Could not fetch DeviceList from CCU. Unexpected token N in JSON at position 0


Ein getConfig via Browser ergibt


{"staticipconfig":0,"ip":"192.168.0.83","ntp":"0.de.pool.ntp.org","hostname":"AskSinAnalyzer","netmask":"255.255.255.0","gw":"192.168.0.1","macaddress":"A4:CF:12:80:2E:58","ccuip":"","backend":1,"backendurl":"http://fhem2.local:8083/fhem?cmd={printHMDevs()}&XHR=1","resolve":0,"sdcardavailable":1,"sdcardsizemb":957,"sdcardtotalspacemb":"953","sdcardusedspacemb":"0","spiffssizekb":1345,"spiffsusedkb":13,"boottime":1584206062,"display":1,"rssi_hbw":5,"rssi_alarmcount":0,"rssi_alarmthreshold":0,"version_upper":3,"version_lower":2}


sprich die Config sollte eigentlich korrekt sein? Hat jemand schonmal erfolgreich eine Fhem Device-List Configuration hinbekommen? (verwende Locutus' Platine mit UI Version 40b66ec und FW Version V3.2)

Andreas

P.S. ein 2tes Problem habe ich auch noch: ein CSV Download erzeugt ein CSV-File mit '.' Zeichen, sprich es werden keine korrekten Daten exportiert.

papa

Hm - zeig mal das JSON. Hast Du Sonderzeichen in den Namen ?
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

fhemfreund

bitte schön ...


{"devices":[{"name":"Balkon Tür","address":3382888,"serial":"LEQ1346670"},{"address":3382877,"serial":"LEQ1346674","name":"Strasse Fenster"},{"name":"Balkon Fenster","address":3382908,"serial":"LEQ1346711"},{"serial":"PS00000002","address":2749039,"name":"Obergeschoss Flur"},{"name":"Dachgeschoss Wohnzimmer","address":4553680,"serial":"NEQ0140323"},{"name":"Dachgeschoss Bad","serial":"NEQ0872404","address":5038844},{"serial":"NEQ0863242","address":5051698,"name":"Gas"},{"name":"Obergeschoss Ankleidezimmer","address":5436661,"serial":"NEQ1829646"},{"name":"Obergeschoss Wohnzimmer","address":5436691,"serial":"NEQ1829652"},{"name":"RolladenAnkleide","serial":"OEQ0206224","address":5695413},{"name":"Treppenhaus","serial":"OEQ0568712","address":6015421},{"serial":"UNISENS001","address":10855680,"name":"Dachgeschoss Testsensor 1"},{"name":"Dachgeschoss Testsensor 2","serial":"UNISENS002","address":10855681},{"address":10855682,"serial":"UNISENS003","name":"Dachgeschoss Testsensor 3"},{"address":10855683,"serial":"UNISENS004","name":"Dachgeschoss Testsensor 4"},{"address":10855684,"serial":"UNISENS005","name":"Dachgeschoss Testsensor 5"},{"name":"Dachgeschoss Testsensor 6","serial":"UNISENS006","address":10855685},{"address":10855686,"serial":"UNISENS007","name":"Dachgeschoss Testsensor 7"},{"address":10855687,"serial":"UNISENS008","name":"Dachgeschoss Testsensor 8"},{"serial":"UNISENS009","address":10855688,"name":"Dachgeschoss Testsensor 9"},{"name":"PowerMeter_LEQ0272495","address":2831230,"serial":"LEQ0272495"},{"serial":"LEQ0234591","address":2749461,"name":"Dachgeschoss Flur"},{"name":"Obergeschoss Esszimmer","serial":"LEQ0279581","address":2712683},{"name":"Dachgeschoss Hobbyraum","serial":"LEQ0279586","address":2712685},{"serial":"<Zentrale>","address":15798324,"name":"VCCU"},{"name":"Wetterstation_LEQ0386720","address":2730257,"serial":"LEQ0386720"}],"created":1584208382}


Andreas

papa

Sieht unauffällig aus. Hm - dann habe ich auch keine Idee.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

fhemfreund

Zitat von: papa am 14 März 2020, 19:09:38
Sieht unauffällig aus. Hm - dann habe ich auch keine Idee.

Hmm ... würde denn ev. ein kompletter Erase + Neu-Flash des ESPs was bringen?

Andreas

fhemfreund

Zitat von: fhemfreund am 14 März 2020, 19:21:55
Hmm ... würde denn ev. ein kompletter Erase + Neu-Flash des ESPs was bringen?

Habe jetzt die ESP Sourcen mal neu compiliert und den ESP komplett neu geflasht - leider gleiches Ergebnis.
@papa - hat denn die Fhem Integration überhaupt bei jemanden schonmal funktioniert? Falls ja: was wurde denn wo wie genau konfiguriert?

Andreas

papa

Zitat von: fhemfreund am 15 März 2020, 00:39:01
Habe jetzt die ESP Sourcen mal neu compiliert und den ESP komplett neu geflasht - leider gleiches Ergebnis.
@papa - hat denn die Fhem Integration überhaupt bei jemanden schonmal funktioniert? Falls ja: was wurde denn wo wie genau konfiguriert?
Na klar - bei mir :-)
Den Analyser auf "Other" stellen und die URL eingeben. Das wars.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Pfriemler

Other müsste er haben, backend = 1. Bei mir steht "resolve" noch auf 1. Und die default CPU-IP habe ich belassen, auch wenn sie eigentlich sinnlos ist (unter .25 gibt es nix bei mir).
. statt ; im CSV ist auch spannend. Wie auch immer. Bei mir läuft alles, nur die Device List hat ein "invalid Date". Eine geniale Datensammelmaschine. 30.000 Telegramme in 5 Tagen...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

fhemfreund

Zitat von: Pfriemler am 15 März 2020, 23:08:30
Other müsste er haben, backend = 1. Bei mir steht "resolve" noch auf 1. Und die default CPU-IP habe ich belassen, auch wenn sie eigentlich sinnlos ist (unter .25 gibt es nix bei mir).
. statt ; im CSV ist auch spannend. Wie auch immer. Bei mir läuft alles, nur die Device List hat ein "invalid Date". Eine geniale Datensammelmaschine. 30.000 Telegramme in 5 Tagen...

Jo - Other hat er ...
Konnte jetzt den JSON Parse Fehler eliminieren. Der Fehler hängt scheinbar mit der letzten verfügbaren JSON Version 6.14.1 zusammen. Mit der 6.11.5 kann ich jetzt meine Devices einlesen:


- Loading DevList from FHEM fetchAskSinAnalyzerDevList url: http://192.168.0.29:8083/fhem?cmd={printHMDevs()}&XHR=1
- Device List created with 26 entries


Was bei mir leider noch nicht funktioniert: die Auflösung der Namen im WebUI - geht das bei dir/euch? Falls ja: welche Versionen der ESPAsyncWebServer, AsyncTCP, ESP32httpUpdate werden verwendet?

Übrigens: Ein 'Device-List:Invalid Date' habe ich auch.

Andreas


Pfriemler

Ich gestehe, ich habe einen Riesenvorteil - ich habe das Modul fertig geflasht bekommen von locutus. Bei meinem Kuddelmuddel von Versionen würde ich da vermutlich auch schief liegen.
Auflösung der Namen funktioniert bei mir.
Meine ~40 HM-Geräte haben alle zusätzlich einen Short-Alias (max 10 Zeichen) und ich lasse den (ggf. aufgefüllt mit ...) statt der Serial ins JSON schreiben - so habe ich im Display des AsksinAnalyzer schon Klarschriftnamen was so passiert und ich kann mit einer Powerbank bewaffnet überall im Haus sniffen. Das liefert interessante Ergebnisse ... Die Kurznamen tauchen dann auch im .csv auf.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

fhemfreund

Zitat von: Pfriemler am 16 März 2020, 11:30:30
Ich gestehe, ich habe einen Riesenvorteil - ich habe das Modul fertig geflasht bekommen von locutus. Bei meinem Kuddelmuddel von Versionen würde ich da vermutlich auch schief liegen.
Auflösung der Namen funktioniert bei mir.
Meine ~40 HM-Geräte haben alle zusätzlich einen Short-Alias (max 10 Zeichen) und ich lasse den (ggf. aufgefüllt mit ...) statt der Serial ins JSON schreiben - so habe ich im Display des AsksinAnalyzer schon Klarschriftnamen was so passiert und ich kann mit einer Powerbank bewaffnet überall im Haus sniffen. Das liefert interessante Ergebnisse ... Die Kurznamen tauchen dann auch im .csv auf.

Das klingt schonmal gut - also funktioniert es grundsätzlich. Vermute auch, dass irgendwelche Libs bei mir noch nicht 100% passen (zumindest sehe ich ja schonmal die aufgelösen Namen im Display).

@Locutus
könntest du mir den FW Stand von Pfriemler inkl. Flashanleitung mal zukommen lassen?

Danke,
Andreas

locutus

Ich flashe grundsätzlich eine ältere AskSinAnalyzerESP32 Version auf den ESP32. Danach lass ich per OTA-Update das aktuellste Binary aus dem Repository flashen.
Dazugehörige Arduino Libs sind auf dem aktuellen Stand. Boardeinstellungen wie hier: https://github.com/jp112sdl/AskSinAnalyzer/wiki/Arduino_IDE
Den Upload Speed schraube ich für gewöhnlich auf 115200 runter. Hohe Geschwindigkeit = hohe Fehlerquote.
Zuvor wird der Speicher mit esptool erase_flash bereinigt.

HINWEIS: AskSinSniffer328P muss zu AskSinAnalyzerESP32 passen. Das ist grundsätzlich im jp112sdl Repository der Fall.

fhemfreund

Habe heute morgen nochmal einen Neustart mit unterbrochener Stromversorgung gemacht - und siehe da es werden jetzt auch die Namen im WebUI aufgelöst. Lasse mir auch (wie Pfriemler angemerkt hat) einen Short-Alias statt der Serial auf dem Display ausgeben. Letzten Endes war die Selbstkompilierung + ältere JSON Lib die Lösung. Feine Sache das Ganze.

Danke nochmal an alle für die Unterstüzung!

Andreas

Klaus0815

Habe mich aus Langeweile auch mal im Nachbau versucht - so weit funktioniert das Teil, bis auf:


- Ich schaffe es nicht, die FHEM-URL zu speichern

So müsste es doch richtig sein?

Nach Speichern / Reload ist die Zeile Backend URL wieder leer



- Im Webinterfache werden keinerlei Telegramme angezeigt, im kleinen Display aber schon




Klaus0815

kleine Ergänzumg - gerade noch das rote Ausrufezeichen entdeckt

Too many errors, telegram fetching stopped. Reload App to retry.
API Error getLogByLogNumber: Cannot read property 'find' of undefined
Could not fetch DeviceList from CCU. Unexpected token N in JSON at position 0


Damit kann ich leider auch nicht viel anfangen...

Pfriemler

Dass die FHEM-URL nach dem Speichern immer wieder weg ist, ist normal. Sie wird dennoch gespeichert.
Auch wenn man sie im ersten Setup (WLAN-Eintragung) einträgt, erscheint sie später nicht in der Web-GUI. Is noch n Bug.

Liefert Deine FHEM-URL (wie Du sie im WebUI AskSinAnalyzer einträgst) in einem Browser testweise abgeschickt einen Output?
Das war nämlich mein Problem - ich musste erst eine csrf-Token-freie FHEMWEB-Instanz einrichten und abriegeln dafür.
edit: fixes Token gesetzt, ist besser.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Psi

Zitat von: Pfriemler am 02 April 2020, 22:08:27
Dass die FHEM-URL nach dem Speichern immer wieder weg ist, ist normal. Sie wird dennoch gespeichert.
Auch wenn man sie im ersten Setup (WLAN-Eintragung) einträgt, erscheint sie später nicht in der Web-GUI. Is noch n Bug.

Aja? Der ist bei mir noch gar nicht angekommen. Github Issues sind für Bugs recht gut geeignet ;)

Klaus0815

ZitatDass die FHEM-URL nach dem Speichern immer wieder weg ist, ist normal. Sie wird dennoch gespeichert.

Danke, da bin ich ja da schon ml einen Schritt weiter und das ist nicht mein problem :-)


ZitatLiefert Deine FHEM-URL (wie Du sie im WebUI AskSinAnalyzer einträgst) in einem Browser testweise abgeschickt einen Output?

Ja, das geht problemlos, kommen halt alle Devices

Eigentlich alles auch nicht schlimm, brauche das Teil in erster Linie um halbtote Sender zu finden

Aber würde halt gerne die jetzige Zeit nutze es perfekt hin zu bekommen
Mich wundert am Meisten, das in der Weboberfläche keinerlei Daten ankommen, aber ich die Config sehe


Klaus0815

Vielleicht hilft es ja, um debn Fehler einzugrenzen:

(Auf dem ESP ist das fertige Image von GitHub, Version 3.2 - nicht selbst kompiliert)

Das hier ist die Ausgabe von
http://192.168.178.47:8083/fhem?cmd={printHMDevs()}&XHR=1

{"devices":[{"name":"Aktor_Terassenicht","serial":"NEQ1781476","address":5446036},{"address":2086175,"serial":"KEQ0196202","name":"AussenLicht_unten"},{"address":2222502,"name":"Balkontuer","serial":"KEQ0550025"},{"address":5592338,"name":"Batteriesensor_z3","serial":"KRZ3Z3Z3Z3"},{"name":"BewMeldWerkstatt","serial":"UNISENS044","address":5801237},{"address":6593064,"serial":"OEQ2087053","name":"Buero_EG"},{"serial":"NEQ0195616","name":"Bueroschrank","address":4695103},{"address":2241293,"serial":"KEQ0517381","name":"OG_Wozi"},{"name":"Esstisch","serial":"KEQ0199037","address":2131652},{"name":"Dunstabzug","serial":"KEQ9008300","address":1513698},{"serial":"OEQ0423621","name":"Fenster_Kueche","address":5733015},{"name":"Fenster_Werkstatt","serial":"FHEM200036","address":16777174},{"name":"Fenster_WoZi","serial":"OEQ0423591","address":5732985},{"name":"Feuchtesensor_Bad","serial":"UNISENS088","address":10855799},{"name":"Flur_Keller","serial":"MEQ0702754","address":4054846},{"address":16393073,"serial":"papafa3271","name":"Flursensor"},{"address":2436608,"serial":"KEQ1055419","name":"Handsender1"},{"name":"Heizung_OG_Sensor","serial":"krkrkr4321","address":529681},{"name":"Kueche_Schalter","serial":"KEQ0255487","address":8596193},{"address":2252581,"name":"Licht_Buero","serial":"KEQ0433273"},{"address":2324276,"serial":"KEQ0632599","name":"Licht_Flur"},{"serial":"OEQ1906375","name":"Licht_Flur_Keller","address":6460413},{"address":5469237,"name":"Markise","serial":"NEQ1687692"},{"address":2143700,"serial":"KEQ0184259","name":"Markise_Wandtaster"},{"address":2394788,"name":"OG_Schlafzimmer","serial":"KEQ0960503"},{"address":4794778,"serial":"NEQ0252747","name":"Rauchmelder_Garage"},{"name":"SIdeboard_Esstisch","serial":"MEQ1119990","address":4328216},{"serial":"KEQ0200738","name":"Sender_Gartenhaus","address":2130539},{"address":5801217,"serial":"krkr111111","name":"Taster_Bad"},{"name":"Temp_Biekuehlschrank","serial":"UNISEN1011","address":8750353},{"serial":"papafa0815","name":"Temp_Sensor_schlafzimmer","address":16393074},{"address":529672,"serial":"krkrkr4444","name":"Testsensor_Fensterbank"},{"name":"Tisch_Buero_alt","serial":"KEQ9008275","address":3479601},{"address":3413808,"name":"Ventilator_Werkstatt","serial":"KEQ9008276"},{"name":"Vorlauf_WW","serial":"UNISEN1012","address":8750354},{"address":2496595,"name":"Wandthermostat_WoZi_OG","serial":"LEQ0001639"},{"name":"Werkstatt","serial":"KEQ0578425","address":2322099},{"serial":"UNISENS033","name":"bewmeld_garten","address":5801221},{"serial":"KEQ0632613","name":"kueche_schrank1","address":2324292},{"address":2324291,"name":"kueche_schrank2","serial":"KEQ0632612"},{"address":2324332,"name":"kueche_schrank3","serial":"KEQ0632653"},{"address":5801387,"serial":"<Zentrale>","name":"myVCCU"},{"name":"myVCCU_Btn1","serial":"<Zentrale>","address":1485155073},{"serial":"<Zentrale>","name":"myVCCU_Btn10","address":1485155082},{"name":"myVCCU_Btn11","serial":"<Zentrale>","address":1485155083},{"serial":"<Zentrale>","name":"myVCCU_Btn2","address":1485155074},{"serial":"<Zentrale>","name":"myVCCU_Btn3","address":1485155075},{"address":1485155076,"serial":"<Zentrale>","name":"myVCCU_Btn4"},{"address":1485155077,"serial":"<Zentrale>","name":"myVCCU_Btn5"},{"serial":"<Zentrale>","name":"myVCCU_Btn6","address":1485155078},{"address":1485155079,"name":"myVCCU_Btn7","serial":"<Zentrale>"},{"address":1485155080,"name":"myVCCU_Btn8","serial":"<Zentrale>"},{"address":1485155081,"name":"myVCCU_Btn9","serial":"<Zentrale>"},{"serial":"UNISEN1013","name":"temp_bad","address":8750355},{"name":"wasser_garten","serial":"LEQ0251116","address":2736694}],"created":1585906384}


Und die Fehlermeldung von Chrome:

EspService.js:247 SyntaxError: Unexpected token N in JSON at position 0
    at JSON.parse (<anonymous>)
    at EspService.js:239
    at h (runtime.js:45)
    at Generator._invoke (runtime.js:271)
    at Generator.forEach.t.<computed> [as next] (runtime.js:97)
    at zh (app.js:7)
    at o (app.js:7)
(anonymous) @ EspService.js:247
5EspService.js:70 TypeError: Cannot read property 'find' of undefined
    at Rh.resolveNameFromDevList (EspService.js:195)
    at Rh.addNameFromDevlist (EspService.js:178)
    at EspService.js:87
    at Array.forEach (<anonymous>)
    at EspService.js:87
    at h (runtime.js:45)
    at Generator._invoke (runtime.js:271)
    at Generator.forEach.t.<computed> [as next] (runtime.js:97)
    at zh (app.js:7)
    at o (app.js:7)
(anonymous) @ EspService.js:70


Viele Grüße

Klaus

fhemfreund

Bei mir gab es auch JSON Fehler - siehe meinen früheren Post - bei mir war die Lösung das einfach selbst mit einer älteren JSON Lib zu compilieren.

Andreas

Psi



Psi

Ich glaube du hast einen Bug entdeckt.

Trag mal bitte oben bei "CCU-IP" irgendwas ein. zB 127.0.0.1 und schau ob dann immer noch NO_RESOLVE kommt

Klaus0815

Es kommt leider weiterhin nur ein NO-RESOLVE

Hier mal ein Teil aus dem Log:
::: /getConfig JSON: {"staticipconfig":0,"ip":"192.168.178.101","ntp":"0.de.pool.ntp.org","hostname":"AskSinAnalyzer","netmask":"255.255.255.0","gw":"192.168.178.1","macaddress":"30:AE:A4:1F:2E:C0","ccuip":"127.0.0.1","backend":1,"backendurl":"","resolve":0,"sdcardavailable":0,"sdcardsizemb":0,"sdcardtotalspacemb":"0","sdcardusedspacemb":"0","spiffssizekb":1345,"spiffsusedkb":4,"boottime":1585912302,"display":1,"rssi_hbw":5,"rssi_alarmcount":0,"rssi_alarmthreshold":0,"version_upper":3,"version_lower":2}
****************


backendurl ist hier leer?

Mich wundert auch das keinerlei Daten im Web-Frontend angezeigt werden?

Grüße

Klaus


Psi

Hi Klaus, wir haben einen Fix gepusht.
Kannst du den aktuellen Master kompilieren und flashen?

Klaus0815


Ich kann es versuchen, wird aber so wie ich Arduino kenne dauern da sicher wieder die falsche ESP-Version, falsche Library-Versionen usw drin sind

Oder habt Ihr evtl. ein fertiges BIN parat?

Viele Grüße

Klaus


Psi

Aktuell noch nicht. Wenn du Geduld hast wird Jerome aber n Relese erstellen

Klaus0815


Habe es nach langem Library-Updaten hinbekommen, der ESP ist geflasht

Leider ist aber das Verhalten immer noch genau gleich

Habs noch mal genauer versucht nachzuvollziehen:
- Schalter "Device-List Backend ist eine CCU" auf off
- IP-Adresse eingegeben
- speichern gedrückt
- zu einer anderen  Seite gewechselt - wieder zurück zu den EInstellungen
- IP-Feld ist wieder leer

Stelle ich den Schalter auf on, bleibt auch die IP-Adresse stehen
Entsprechend bleibt auch weiterhin das Feld "backendurl" im log leer

Was mir aber aufgefallen ist: Du hast heute auch was im Ordner ui geändert?
Wie kommt das Neue UI auf meinen ESP?
Ich kompiliere ja nur innerhalb des AskSinAnalyzerESP32 Ordners?


Psi

Die WebUI wird jedes mal von Github gezogen und ist damit immer aktuell. Es kann nur sein, dass es in seltenen Fällen nötig ist den Browser-Cache zu leeren.

Es ist jetzt noch mal ein neuer Fix deployed. Du brauchst den ESP nicht neu flashen aber die UI neu laden (Strg-r)

Klaus0815



MadMax-FHEM

#43
Hallo,

ich hatte jetzt auch mal Zeit mein von locutus (danke!) zusammengebautes Board in Betrieb zu nehmen...

Hatte es gleich nach dem Bestellen mal probiert, kam aber nicht wirklich zurecht...
(Schande über mich! ;) )

Jetzt hat es eigentlich gut geklappt, also in WLAN nehmen und den Update auf die neuesten Versionen per OTA... :)

Zeigt ja wirklich wahnsinnig viel an :)

Dann habe ich mal rumgespielt (also noch mal Config Mode) und other testen wollen, weil other gab es trotz Update "einfach so" nicht...

Habe dann die IP von fhem eingetragen und auch mal die url etc.
Gut mein Fehler: ich hätte lesen sollen wie das mit der Verbindung zu fhem klappt...

Lange Rede kurzer Sinn: ich kann auf der Einstellungsseite nichts mehr "korrigieren"...
Da "kreiselt" immer nur "unten" der Speicher-Knopf...
...und irgendwann ist dann die Verbindung weg.

Auch Ping geht nicht mehr...

Wenn ich neu starte und mich verbinde und auf "Starte im Configmodus" drücke, dann zeigt zwar der Browser die korrekte Meldung (also dass man sich mit dem AP verbinden soll) aber der Analyzer bootet nicht und es gibt auch keinen AP...

Ich hab auch schon mal mit den "Reset" usw. Knöpfen rumprobiert und dann kam ich wieder irgendwie in den Config Modus...
Das schaffe ich aber jetzt auch nicht mehr... :-\

Wie kann ich "resetten" (ohne flashen zu müssen)!?
Also auf "Initialzustand"!?

Denn irgendwie hat das Rumspielen mein fhem "lahm gelegt"...
(ja mein Fehler aber ich will die Einstellungen ja auch wieder rückkgängig machen!)

Vielen Dank, Joachim

P.S.: ansonsten muss ich mich wohl (mal wieder) mit dem flashen beschäftigen... Eigene ESP8266 habe ich schon mal geflasht... Geht das hier ähnlich/genauso!? Welchen Knopf muss ich dazu drücken!?

EDIT: HAB'S GEFUNDEN!! Es ist die "Mode" Taste beim Booten :)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tndx

Guten Abend,

ich habe heute meinen Analyzer auf den aktuellen Stand gebracht und wollte die FHEM-Anbindung konfigurieren, stoße aber an einige Probleme, bzw habe einige Fragen.
1) Die JSON-URL liefert bei mir nur ein weißes Fenster, im FHEM-Log steht dazu
FHEMWEB WEB CSRF error:  ne csrf_<langeZahlenkombination> for client WEB_<IP>_60459 / command {printHMDevs()}. For details see the csrfToken FHEMWEB attribute.

Muss ich etwa für diese URL den CSRF-Token-Machanismus abstellen, geht es denn überhaupt für einzelne URLs?
2) Kommt die Analzer-SW mit https zurecht? Oder müsste ich http parallel erlauben?

MadMax-FHEM

https weiß ich nicht, habe aber im Kopf, dass ESP sich da schwer tut...

Ja, du musst csrfToken beachten...
Also ich hab einen extra Webzugang mit fixem Token...

Kein Token würde ich nicht machen...

Die Sub in myUtils hast du angelegt!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tndx

Ja, die Sub ist da und liefert direkt in FHEM aufgerufen die erwünschte Ausgabe.

Bringt denn ein fixes Token irgendeinen Mehrwert gegenüber keinem Token? Ist dann doch nur mehr oder weniger ein weiterer statischer Bestandteil der URL?

Immerhin kann der ESP mit einigen schwächeren/älteren Varianten von https umgehen, und das ist ja besser als gar kein https? @Psi: was ist denn der größte gemeinsame Nenner von https und dem Analyzer?

Psi

Die DeviceList wird wird vom ESP von FHEM geholt weshalb httpS erst mal nicht geht:
https://github.com/jp112sdl/AskSinAnalyzer/blob/master/AskSinAnalyzerESP32/Helper.h#L87

An dieser Stelle könnte man aber wahrscheinlich auch die Unterstützung für WiFiClientSecure einbauen, ohne Cert (-Authority) check.
Hierfür würde ich empfehlen ein Issue auf Github auf zu machen, ggf. baut das dann Jerome ein.

Ein fixen Token bringt einen geringes Sicherheits-Plus da dieses erst gesnifft werden müsste. Meiner Meinung nach braucht es aber gar keins, ins lokale Netz zu kommen ist hoffentlich aufwändig genug und mit der reinen Device-List kann man jetzt auch nicht die Welt anfangen.

Alternativ gäbe es noch den Analyzer-XS, da hier ne Node-Anwendung zugrunde liegt wäre https kein Problem.
Hier geht halt der Luxus des Displays verloren.

MadMax-FHEM

#48
Man muss nicht ins Netz kommen...

Auch nicht sniffen...

Bevor sowas hier geschrieben wird bitte nachlesen was csrf ist und warum selbst ein fixer Token hilft und gar kein Token einfach nur "dumm" ist...

Du bekommst eine Mail mit einem "veränderten/verteckten" Link, der aber "zufällig" auf dein fhem passt.
Dann wird genau das was da drin steht ausgeführt...
Wenn dann fhem auch noch sudo ohne PW hätte kann nicht nur in fhem sondern auf dem System so einiges passieren...

Mit einem Token gesetzt muss neben "zufälligem" passenden IP/Link eben auch der Token passen...

Also deutlich mehr Schutz als ganz ohne Token...


Und: ein fixer Token ist quasi fast so gut wie der dynamische von fhem...
Weil der ja auch "nur" bei fhem Neustart generiert wird...
Und wenn fhem lang läuft eben auch fast statisch ist...

EDIT: eher ist https im eigenen Netz naja, nicht viel Not da... Weil WLAN ja verschlüsselt ist und wenn jemand im LAN mitsniffen kann, dann naja... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Psi

Nun, ich bin kein FHEM Nutzer aber wie ich es verstanden habe gilt dieser Token für die Abfrage der DevList, also den fhem?cmd={printHMDevs()} command.
Das ist eine lesende Operation und angenommen an dieser Stelle sind keine weiteren Lücken vorhanden bringt ein CSRF-Angriff nichts. Welche Parameter sollte ich hier von außen verändern? Zudem muss jemand erst mal auf die Idee kommen dir nen Link zu schicken mit einer lokalen FHEM-IP / Hostname.

Aber ja, Paranoia is applied security.

MadMax-FHEM

#50
Das mit der Mail ist ja nur ein mögliches Szenario...
Genauso kann es ein Link auf einer (fake) Internetseite etc. sein...

Und ja bei deinem Aufruf "einfach nur ein weiterer Parameter"...
Für dich leicht, weil du ihn kennst...
Ein "Angreifer" müsste ihn ja wissen/erraten...

Und ja in diesem Fall "nur" lesend...
...aber was wenn der Angreifer einen "sudo rm -r /" absetzt... ;)
Oder schlimmeres (für andere) z.B. Software/Malware "installiert"...

Tja wenn du meinst...

Dein System...

Ende OT ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Psi

Also sorry wenn ich über nen HTTP Request nen "rm -rf" (oder seis auch nur was "harmloses") injecten kann dann hat fhem an sich n Problem.
Sicherlich läuft fhem auch nicht als root oder kann ohne weiteres root privs ausnutzen.

Ich finde deinen Einwand gut aber übertreiben muss mans auch nicht. Zeig uns nen praktischen Exploit und wir werden sicher anders agieren.

MadMax-FHEM

#52
Dann halt noch mal OT und dann isses mir egal: jedem sein System...

Ich will niemanden "zwingen"...
...nur vermeiden, dass "hier" verbreitet wird, dass der Token (selbst ein fixer) unfug/unnötig ist...

Weil es faktisch eben NICHT so ist!

Lies halt einfach was csrf ist...
Und es ist KEIN fhem spezifisches Problem...
Der Token ist eine fhem spezifische Lösung dafür...

EDIT: z.B. hier https://de.m.wikipedia.org/wiki/Cross-Site-Request-Forgery

Und du glaubst nicht wieviele fhem entweder direkt als root betreiben oder großzügig sudo ermöglichen (was im Endeffekt dasselbe ist)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ucm73

Hallo,
obwohl die Frage bereits einmal gestellt wurde (leider ohne Antwort): Hat jemand ein passendes Gehäuse zum Druck am 3D Drucker?
Für die Version von stan23 https://www.thingiverse.com/thing:3788587 scheint es ja eines zu geben, ich bekomme das leider nicht hin, ein passendes Gehäuse "zu bauen".
Gruß, Alexander

trebron106

Hallo Alexander,

ich habe auf die schnelle ein Gehäuse für den 3D Druck gezeichnet und angehängt.

Gruß
Klaus

locutus

Bitte beachtet, dass es zwei Varianten der Platine gibt:

- das erste Modell mit 3-pol. DIP-Kodierschalter
- die aktualisierte Ausgabe mit 4-pol. DIP-Kodierschalter und geänderten Abständen zwischen den Tastern.

Klaus, für welche Variante ist die Bodenplatte?

trebron106

Hallo,

ich habe die Variante mit 4 Dip Schaltern.

Gruß
Klaus

ucm73

Hallo Klaus, danke für die Mühe, werde ich heute noch drucken.
Könntest du eventuell mit den Daten von locutus die Rückwand für die 1. Version noch erstellen?
Beim ersten Modell mit 3-pol. DIP-Kodierschalter sind ja auch die Taster für den ESP leicht versetzt.
Danke!

trebron106

#58
Hallo,

anbei der Boden für die Dip3 Version.

Ich hoffe das die Masse der Bohrungen passen.

Gruß
Klaus

ucm73

Hallo Klaus, die mittleren Aussparungen für den DIP und den Umschalter passen für die Dip3 Version.
Der äußerste der 3 "Taster" links des DIP-Kodierschalters ist auch korrekt abgebildet, die anderen teils mehr oder weniger versetzt.
Ist das sehr aufwendig, wenn du dir das noch einmal anschaust?

trebron106

Hallo Alexander,

habe die Abstände geändert, müssten jetzt passen.

Gruß
Klaus

ucm73

Hallo Klaus,
die 3 linken passen fast exakt, könnten alle 0,5mm nach rechts (sind aber benutzbar).
Das rechte "Loch" ist noch ein ganzes Stück zu weit links (1,5mm?).
Und dann ist mir beim Zusammenbau aufgefallen, dass die Aussparung  für den SMA Anschluss, von der grünen LED aus betrachtet, deutlich zu weit weg ist.
Locutus, hast du diesbezüglich auch eine Änderung in der aktualisierten Version vorgenommen?
Und wenn ja, könnstest du die Maße bereitstellen?
Danke

trebron106

Hallo Alexander,

die linken Löcher habe ich um 0,5 mm nach rechts versetzt und das linke Loch um 1,5 mm . Die Aussparung des SMA Anschlusses habe ich um 1,5 mm zur Mitte geschoben.

Gruß
Klaus

ext23

Zitat von: trebron106 am 23 Mai 2020, 15:07:50
Die Aussparung des SMA Anschlusses habe ich um 1,5 mm zur Mitte geschoben.

Das langt bei mir noch nicht. Kannst du mal die Design Files der letzten Version zur Verfügung stellen damit ich mir das selber anpassen kann? Danke.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

trebron106

Hallo Daniel,

hier sind die Freecad Files für das Gehäuse.

Gruß
Klaus


Horti

Hi Daniel,

so wie ich das interpretiere, hast Du auch das "3-pol. DIP"-Modell? Ich habe auch auf Umwegen so ein Board bekommen und würde mir gerne ein Gehäuse drucken. Könntest Du die angepassten stl-Dateien zur Verfügung stellen?

Danke im Voraus!

ext23

Kann ich dann machen, da muss aber einiges geändert werden weil die Platine ist nicht richtig fixiert und so. Und der DIP Block ist weniger das Problem, aber die beiden Schalter da drüber sind bei mir etwas größer das passt auch alles nicht.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Horti

Hi,

wenn es länger dauert, überhaupt kein Thema, kommt nicht auf ein paar Tage an. Meine Platine sieht ziemlich genau so aus wie im 1.Post. Wenn Deine abweichen sollte, sage halt Bescheid, Bohrungen kleiner machen kriege ich irgendwie hin

ext23

Naja bei mir scheitert es eher an FreeCAD, ich bin noch nicht ganz warm.

@trebron106: kannst du mir mal helfen, mein Experte ist gerade im Urlaub. Wie bekomme ich die Fehler bei den Abrundungen? Pocket007 habe ich angepasst. Fehlen ihm da jetzt Ecken? Aber wie finde ich das denn am besten?

danke.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

trebron106

Hallo Daniel,

das Gehäuse war mein erster Versuch mit FreeCad, da wusste ich noch nicht dass man mit Bezugsebenen arbeiten sollte. Bei Freecad gibt es Probleme, wenn man etwas ändert was Höher im Modellbaum liegt ( Topological Naming Problem ) Dabei werden die Objektbezeichnungen geändert und somit gehen die Bezüge bei tieferliegenden  Definitionen verloren. Bei Arbeiten mit Bezugsebenen tritt dies es Problem nicht auf. Zu deinen Problem am einfachsten Filet bzw. Filet001 löschen und die Rundungen neu definieren.

Hier ist ein Link zu den Problem

https://www.youtube.com/watch?v=2jCq9QSJ8rA

Gruß Klaus

ext23

HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Ich hab das jetzt so gemacht, für mich passt das und reicht.

3xDIP und für UART zwei Einzelschalter/Schiebeschalter.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

tenners_hip

Hallo an alle, ich bin auf der Suche nach dem AskSin Analyzer. Meine Lötskills sind leider nicht ausreichend. Ich habe aktuell Probleme mit meinem Duty Cycle in meinem Homematic System. Kann ich solch eine Platine von einem User bekommen? Ich wäre unendlich dankbar.

DL1LBW

Hallo,
ich habe gerade einige Platinen aus China bekommen. Diese sind teilbestückt.

Ich kann diese halbfertige Platine abgeben oder ggf. auch ein funktionsfähiges Modul inkl. Display und ESP32.

Grüße, Jens