Hallo,
Ich möchte euch gerne ein aktuelles Projekt von mir Vorstellen. Es handelt sich um einen Ultraschall-Sensor zur Entfernungsmessung mit Homematic Interface.
Hardware
Die Hardware basiert auf unterschiedlichen Platinen.
Prinzipiell kann man alles nehmen wo ein Arduino Pro Mini + CC1101 + Taster + IOs drauf passt.
Das Ultraschallmodul wird an die Pins: 9,7,6,5 angeschlossen.
Pin 9 = GND
Pin 8 = NC
Pin 7 = Echo
Pin 6 = Trigger
Pin 5 = VCC
Der Jumper auf der Rückseite des US-100 darf nicht gesteckt sein.
Die erste Version
basiert auf dem Universalsensor Platine von Dirk (https://wiki.fhem.de/wiki/Universalsensor) und einem US_100 Ultraschall-Sensor.
Ein passender Schaltplan ist im Wiki verlinkt. Ich habe den ATMega mit den notwendigen Komponenten sowie den Taster und den Spannungsteiler für die Batteriemessung bestückt.
Die dritte Version
nutzt einen Arduino Pro Mini sowie eine Adapterplatine. Somit ist das verlöten von SMD Bauteilen nicht notwendig.
Der Pro Mini sollte jedoch auf Stromsparmodus getrimmt werden: https://asksinpp.de/Grundlagen/01_hardware.html#stromversorgung
Die vierte Version
nutzt einen Arduino Pro Mini sowie eine Adapterplatine (https://github.com/TomMajor/SmartHome/tree/master/HB-UNI-Sensor1). Somit ist das verlöten von SMD Bauteilen nicht notwendig.
Der Pro Mini sollte jedoch auf Stromsparmodus getrimmt werden: https://asksinpp.de/Grundlagen/01_hardware.html#stromversorgung
Als Spannungsquelle nutze ich 2 AAA Batterien.
Arduino Pro Mini: https://www.aliexpress.com/item/Free-shipping-improved-version-of-pro-mini-electronic-building-blocks-Interactive-Media-ATMEGA328P-5V-16M/1298250308.html
CC1101: https://www.aliexpress.com/item/CC1101-Wireless-Module-Long-Distance-Transmission-Antenna-868MHZ-M115-For-FSK-GFSK-ASK-OOK-MSK-64/32630602112.html
US-100: https://de.aliexpress.com/item/1-pc-US-100-Ultrasonic-Sensor-Module-DC-2-4V-5V-With-Temperature-Compensation-Range-Distance/32369369824.html
Batterienhalter: https://de.aliexpress.com/item/Plastic-2-X-1-5V-AAA-Battery-Clip-Holder-With-Pin-Case-Black-Plastic-Case-Storage/32789950480.html
Das Dateien für das Drucken des Gehäuses habe ich auf Thingiverse hochgeladen:
V1: https://www.thingiverse.com/thing:2975998
V3: https://www.thingiverse.com/thing:3584718
V4: https://www.thingiverse.com/thing:3631375
Firmware
Die Firmware basiert auf papas Custom-Sensor: https://github.com/pa-pa/AskSinPP/tree/V3/examples/custom/HB-GEN-SENS
Den aktuellen Stand meiner verwendeten Version hänge ich hier an.
Integration in FHEM
Für die Integration in FHEM muss das Modul HMConfig_AskSinPPCustom.pm (https://github.com/pa-pa/AskSinPP/tree/V3/examples/custom/contrib/FHEM) installiert werden.
Die Datei muss in das FHEM Verzeichnis (z.B. opt\fhem\FHEM) kopiert werden und FHEM neu gestartet werden.
cd /opt/fhem/FHEM
wget -O HMConfig_AskSinPPCustom.pm https://raw.githubusercontent.com/pa-pa/AskSinPP/V3/examples/custom/contrib/FHEM/HMConfig_AskSinPPCustom.pm
Zum Einbinden des Sensors in FHEM muss die VCCU oder das Homematic Gateway in den Anlernmodus gesetzt werden
set VCCU hmPairForSec 60
Anschließend müssen die Batterien in den Sensor eingelegt und der Konfig-Button gedrückt werden.
Nach dem erfolgreichen Anlernen gibt es 2 neue Devices:
define HM_xxxxxx CUL_HM xxxxxx
attr HM_xxxxxx IODev myHmUARTLGW
attr HM_xxxxxx IOgrp vccu:myHmUARTLGW
attr HM_xxxxxx autoReadReg 4_reqStatus
attr HM_xxxxxx expert 2_raw
attr HM_xxxxxx firmware 0.1
attr HM_xxxxxx model HB-GEN-SENS
attr HM_xxxxxx room CUL_HM
attr HM_xxxxxx serialNr FHEMxxxxxx
attr HM_xxxxxx subType custom
attr HM_xxxxxx webCmd getConfig:clear msgEvents
define HM_xxxxxx_Values CUL_HM xxxxxx01
attr HM_xxxxxx_Values userattr valuesformat
attr HM_xxxxxx_Values model HB-GEN-SENS
attr HM_xxxxxx_Values peerIDs
attr HM_xxxxxx_Values room CUL_HM
attr HM_xxxxxx_Values valuesformat 2:distance:10 1:batVoltage:10
Zwei Attribute müssen im HM_xxxxxx_Values selbst definiert werden:
attr HM_xxxxxx_Values userattr valuesformat
attr HM_xxxxxx_Values valuesformat 2:distance:10 1:batVoltage:10
Einstellen des Sendeintervalls
Das Sendeintervall steht per Default auf 180 Sekunden. Kann aber über das Setzen eines Registers geändert werden
set HM_xxxxxx_Values regSet eventDlyTime ZEIT_IN_SEKUNDEN
Nach dem Setzen des Intervalls muss der Konfig-Button am Sensor gedrückt werden um den Wert zu übernehmen.
Integration in CCU
Integration über die alternative Firmware (HB-UNI-Sens-Dist-US-US100) und https://github.com/jp112sdl/jp-hb-devices-addon
Firmwareupdate
V1: Die Geräte sind mit einem OTA-Bootloader geflasht, dass heißt Firmwareupdate können mit einem CUL übertragen werden.
V3: Die Geräte können mit einem einfachen FTDI Adapter geflasht werden.
CCU
Firmware für die CCU hinzugefügt (HB-UNI-Sen-DIST-US-US100)
Ich würde das eventDlyTime in den V3 mergen. Dann haben wir da eine stabile Basis für den Sensor.
Hallo Stefan,
Danke für die ausführliche Anleitung. Ich habe noch ein paar Fragen:
- Könnte auch Dirk's Firmware für den Ultraschallsensor geflasht werden (und sein FHEM Modul verwendet werden)?
Zitat von: gloob am 01 August 2018, 10:03:37
Die Geräte sind mit einem OTA-Bootloader geflasht, dass heißt Firmwareupdate können mit einem CUL übertragen werden.
- Müsste dann nicht in Deinem Sketch folgende Zeile
//#define USE_OTA_BOOTLOADER // define this to read the device id, serial and device type from bootloader section
ohne Kommentar am Anfang sein?
Danke + Gruß
Peter
Zitat von: papa am 01 August 2018, 11:11:06
Ich würde das eventDlyTime in den V3 mergen. Dann haben wir da eine stabile Basis für den Sensor.
Das wäre sehr gut, dann hätte man einen festen Stand auf den man verweisen kann.
Vielen Dank.
Zitat von: PeMue am 01 August 2018, 11:13:17
- Könnte auch Dirk's Firmware für den Ultraschallsensor geflasht werden (und sein FHEM Modul verwendet werden)?
Dirks Firmware kann auch benutzt werden, allerdings kann man dann das Sendeintervall nicht einstellen, sondern müsste eine neue Firmware aufspielen.
Die Batteriespannung wird glaube ich auch nicht mit übertragen sondern nur ein "OK/NOK".
Zitat von: PeMue am 01 August 2018, 11:13:17
- Müsste dann nicht in Deinem Sketch folgende Zeile
//#define USE_OTA_BOOTLOADER // define this to read the device id, serial and device type from bootloader section
ohne Kommentar am Anfang sein?
Das Define gibt nur an ob die ID, Seriennummer und Devicetype aus dem Bootloader gelesen werden. Ein OTA-Update funktioniert auch ohne das Define. Die Seriennummer und co. müssen auf diese Weise richtig in der Firmware stehen.
Zitat von: gloob am 01 August 2018, 11:18:39
Dirks Firmware ... kann man dann das Sendeintervall nicht einstellen, sondern müsste eine neue Firmware aufspielen.
Die Batteriespannung wird glaube ich auch nicht mit übertragen sondern nur ein "OK/NOK".
Ich nutze seit mehr als einem Jahr Dirks 0.15, da wird die Batteriespannung übertragen. Verwende die 60s-Firmware, Haltbarkeit der Batterien mind. 1 Jahr.
via Tapatalk
Zitat von: Pfriemler am 01 August 2018, 11:36:24
Ich nutze seit mehr als einem Jahr Dirks 0.15, da wird die Batteriespannung übertragen. Verwende die 60s-Firmware, Haltbarkeit der Batterien mind. 1 Jahr.
via Tapatalk
Okay dann hatte ich das mit der Batteriespannung falsch im Kopf. Aber es gibt ja viele Wege nach Rom ;)
Zitat von: gloob am 01 August 2018, 11:13:54
Das wäre sehr gut, dann hätte man einen festen Stand auf den man verweisen kann.
Ist jetzt auch im V3 Branch
Bitte mal die Links vom master auf den V3 ändern
Erledigt ;)
Hallo,
gibt es eigentlich einen Grund (außer der Batterieschonung) weshalb eventDlyTime auf minimal 15 Sekunden begrenzt ist?
Ich frage deshalb, weil ich den Sensor gerne bei mir im Wohnwagen für die Füllstandsmessung des Frischwassertanks verwenden möchte und da hätte ich aktuelle Werte gerne etwas zügiger (spez. wenn ich ans Befüllen denke). Ich würde den Sensor dazu per Step-Down ans 12V-Bordnetz anschließen, von daher wäre mir die Batterielebenszeit ja wurscht.
Dann dürfte auch ein 1-Sekunden-Intervall möglich sein, was für meine Zwecke dann ausreichend wäre.
gb#
Noch andere Sender Zeit zum Senden übrig lassen
Zitat von: papa am 29 August 2018, 16:22:10
Noch andere Sender Zeit zum Senden übrig lassen
Ok! Das Leuchtet natürlich ein.
Dann werde ich das anders lösen und zusätzlich noch einen vorhandenen Schwimmerschalter integrieren. Für die "genaue" Ermittlung des Füllstandes kann ich dann auch mit einem längeren Intervall leben.
Danke!
gb#
Moin zusammen,
kann es sein, dass gloobs Firmware die Spannung hinter dem StepUp misst? Ich wundere mich über
batVoltage 3.3
meines Sensors, obwohl 2 AA-Zellen mit jeweils 1,25 V drin stecken.
Da ich Dirks Platine nutze, ist die notige Hardware zur Messung der Batterispannung vorhanden, kann mir jemand einen Tip geben, wie ich die Firmware anpassen kann?
Danke im Voraus!
Kommt natürlich immer drauf an ob man den step-up auch bestückt hat. Ich nutzender Platinen ohne und daher ist die Messung in der Firmware auch direkt am Input Pin und nicht vor dem Step-up
OK, so rum macht's natürlich Sinn. Hatte mich nur gewundert, da Du ja auch Dirks Platinen verwendet hast. Weißt Du denn, wie man die Batteriemessung umstellt?
Zitat von: tndx am 09 September 2018, 09:39:18
Weißt Du denn, wie man die Batteriemessung umstellt?
ja.
Würdest Du Dein Wissen mit mir teilen? ;)
Zitat von: tndx am 09 September 2018, 10:13:31
Würdest Du Dein Wissen mit mir teilen? ;)
Ich verlinke mal einen Beitrag von mir.
https://forum.fhem.de/index.php/topic,73954.msg831773.html#msg831773
Hat vielleicht jemand ein Beispiel zur visualisierung für mich ?
Trotz verbose 0 schreibt mir der Sensor das log voll
Gut jede Minute kommt die Meldung:
2018.10.15 21:31:58 1: HB-GEN-SENS01 has 2 values (0102063D1D)
Weiss jemand was das erzeugt und wie man dem Herr wird?
Ich will den Sensor in der Zisterne einsetzen.
Kann man als userattr direkt einen Offset bzw behälterformen angeben wie beim hm füllstandssensor
Oder muss das händisch per userreading berechnet werden? Dazu hab ich leider keine Infos gefunden.
Viele Grüße
Matze
Zitat von: smoudo am 15 Oktober 2018, 21:40:24
Trotz verbose 0 schreibt mir der Sensor das log voll
Gut jede Minute kommt die Meldung:
2018.10.15 21:31:58 1: HB-GEN-SENS01 has 2 values (0102063D1D)
eine Möglichkeit wäre, in der HMConfig_AskSinPPCustom.pm die Zeile 215 auszukommentieren...
danke, passt!
Viele Grüße
Matze
Steht bei mir auf der ToDO-Liste, das mal umstellen. Dazu gibt es ja auch schon ne Issue im GitHub (https://github.com/pa-pa/AskSinPP/issues/57). Ich nehme übrigens auch gern PullRequest an :-)
Hallo gloob,
in Deinem Paket für SHT10 im ersten Post fehlt das sensors/Sht10.h bzw. das Sens_Bme280.h ist zuviel drin. Könntest Du das bitte noch ändern?
Danke + Gruß
Peter
Hallo gloob,
ich habe die Firmware (inkl. Batteriemessung ohne SHT10) compiliert und auf einen Universalsensor geflasht. Leider zeigt mir der Sensor exakt die Hälfte des Abstands an.
Hast Du eine Idee, an was das liegen könnte?
Danke + Gruß
Peter
Zitat von: PeMue am 28 Dezember 2018, 13:15:59
Hallo gloob,
ich habe die Firmware (inkl. Batteriemessung ohne SHT10) compiliert und auf einen Universalsensor geflasht. Leider zeigt mir der Sensor exakt die Hälfte des Abstands an.
Hast Du eine Idee, an was das liegen könnte?
Danke + Gruß
Peter
Ich würde ja spontan drauf tippen, dass dein Arduino mit 16MHz und nicht mit 8MHz läuft. So auf Anhieb kann ich es dir nicht sagen. Was nutzt du denn für einen Sensor?
Zitat von: gloob am 28 Dezember 2018, 13:25:02
Ich würde ja spontan drauf tippen, dass dein Arduino mit 16MHz und nicht mit 8MHz läuft.
So auf Anhieb kann ich es dir nicht sagen. Was nutzt du denn für einen Sensor?
Dirk's Universalsensor mit dem US-100. Ich habe noch einen anderen Ultraschallsensor da, den kann ich mal probieren. Habe jetzt einfach mal temporär folgendes definiert:
attr <sensor> valuesformat 2:distance:5 1:batVoltage:10
Gruß Peter
Edit: Das muss etwas Systematisches sein, auch mit dem anderen US-100 ist es dasselbe. Ggf. habe ich beim Kompilieren das falsche Board genommen ???
So 'ne Sch... Jetzt habe ich den Sketch neu kompiliert, dann kommt der Abstand korrekt, aber die Batteriespannung hat den doppelten Wert, irgendwo ist da noch ein Wurm drin. Aber den finde ich :P
Gruß PeMue
Edit:
Jetzt springt der Wert für die Batteriespannung, was ist den das >:(?
2018-12-30_18:54:37 UG_Tank_Values distance: 58.3
2018-12-30_18:57:54 UG_Tank_Values batVoltage: 1.3
2018-12-30_18:57:54 UG_Tank_Values distance: 58.3
2018-12-30_19:01:11 UG_Tank_Values batVoltage: 1.3
2018-12-30_19:01:11 UG_Tank_Values distance: 58.6
2018-12-30_19:04:27 UG_Tank_Values batVoltage: 1.3
2018-12-30_19:04:27 UG_Tank_Values distance: 58.3
2018-12-30_19:07:44 UG_Tank_Values batVoltage: 1.3
2018-12-30_19:07:44 UG_Tank_Values distance: 58.3
2018-12-30_19:11:01 UG_Tank_Values batVoltage: 0.65
2018-12-30_19:11:01 UG_Tank_Values distance: 58.3
2018-12-30_19:14:18 UG_Tank_Values batVoltage: 0.65
So, ich habe jetzt meinen US Sensor ebenfalls fertig und provisorisch zusammen gesteckt. Provisorisch, denn der US100 soll später in die (Beton)-Zisterne und der Sendeteil oben darauf.
Dass der Sensor genau die Hälfte der Entfernung anzeigt, kann ich bestätigen. Ich werden mal versuchen, den Berechnungsteil im Sketch diesbezüglich anzupassen. Schauen wir mal, wie weit ich da komme...
Auch das Thema mit den 'B-GEN-SENS01 has 2 values (0102000022)' Log Einträgen kam bei mir auf - hier habe ich einfach in 'HMConfig_AskSinPPCustom.pm' Zeile 215 modifiziert (aus 'Log 1' 'Log 4' gemacht).
Schön, dass es funktioniert!
Peter
Hallo Peter,
Zitat von: PSI69 am 06 Januar 2019, 13:08:21
Ich werden mal versuchen, den Berechnungsteil im Sketch diesbezüglich anzupassen. Schauen wir mal, wie weit ich da komme ...
ich habe den Verdacht, dass ich mit 16 MHz/5 V kompiliert habe, bei mir funktioniert das jetzt.
Zitat von: PSI69 am 06 Januar 2019, 13:08:21
Auch das Thema mit den 'B-GEN-SENS01 has 2 values (0102000022)' Log Einträgen kam bei mir auf - hier habe ich einfach in 'HMConfig_AskSinPPCustom.pm' Zeile 215 modifiziert (aus 'Log 1' 'Log 4' gemacht).
schau mal hier https://forum.fhem.de/index.php/topic,57486.msg880900.html#msg880900 bzw. einen Post weiter.
Gruß Peter
Hi Peter!
Zitat von: PeMue am 06 Januar 2019, 13:26:43
ich habe den Verdacht, dass ich mit 16 MHz/5 V kompiliert habe, bei mir funktioniert das jetzt.
... versuche ich nächstes Wochenende.
Zitat von: PeMue am 06 Januar 2019, 13:26:43
schau mal hier https://forum.fhem.de/index.php/topic,57486.msg880900.html#msg880900 bzw. einen Post weiter.
OK, dann ist wohl meine auch zu alt.
Danke Peter
Zitat von: PSI69 am 07 Januar 2019, 07:43:08
... versuche ich nächstes Wochenende.
Hat mir doch keine Ruhe gelassen...
Also den CP2102 genommen (ohne DTR), in der IDE als Programmer 'AVR ISP' eingestellt, Board 'Arduino Pro or Pro Mini', als CPU habe ich 5V/16 MHz und 3,3V/8 MHz versucht. Den Reset vor dem Hochladen führe ich aus, indem ich JP2 2/3 kurz brücke - also Reset auf GND. An der seriellen Konsole meldet sich dann auch bei 57600 Baud der Bootloader und danach 'Start App'.
Nur das Flashen schlägt feht:
ZitatArduino: 1.8.8 (Mac OS X), Board: "Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
Der Sketch verwendet 14752 Bytes (48%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 622 Bytes (30%) des dynamischen Speichers, 1426 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x41
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x73
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6b
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x53
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x69
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x6e
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Den Fehler bekomme ich, egal zu welcher Zeit ich Reset drücke.
Was ist Euer Tip? Einen Programmer mit DTR besorgen? Die SILabs Treiber sind installiert, die Schnittstelle ist ja auch da, in der IDE verfügbar und die serielle Konsole zeigt Daten - Verkabelung ist doch somit OK?!?
Peter
Ich denke, dass ist der OTA-Bootloader. Der kann nicht aus der Arduino-IDE bestückt werden. Du müsst entweder den Standard-Arduino-Bootloader flashen oder per OTA updaten. Um den Bootloader neu zu flashen, brauchst Du nen ISP.
Zitat von: papa am 08 Januar 2019, 19:05:14
Ich denke, dass ist der OTA-Bootloader. Der kann nicht aus der Arduino-IDE bestückt werden. Du müsst entweder den Standard-Arduino-Bootloader flashen oder per OTA updaten. Um den Bootloader neu zu flashen, brauchst Du nen ISP.
OK, das geht mit OTA Bootloader also nicht mehr - wieder was gelernt...
Danke Peter
Klappt leider nicht:
PERL WARNING: Illegal hexadecimal digit ':' ignored at ./FHEM/10_CUL_HM.pm line 5927, <aUpdtF> line 2.
bzw.
file corrupt. length:45 expected:414
Ich habe das mit der IDE erstellte File als '/opt/fhem/FHEM/firmware/HB-GEN-SENS-US-BATT.ino.ATmega328P-3.3V-8Mhz.hex' auf dem Raspi abgelegt und gebe das als FW an.
pi@fhem-pi3:~ $ ls -l /opt/fhem/FHEM/firmware/
total 1308
-rw-r--r-- 1 fhem dialout 33985 Sep 23 16:09 ArduCounter.hex
-rw-r--r-- 1 fhem dialout 88408 Jan 2 2017 coprocessor_update.141.eq3
-rw-r--r-- 1 fhem dialout 88408 Aug 14 16:54 coprocessor_update.eq3
-rw-r--r-- 1 fhem dialout 99233 May 1 2017 esptool.py
-rw-r--r-- 1 fhem dialout 41553 Jan 8 19:26 HB-GEN-SENS-US-BATT.ino.ATmega328P-3.3V-8Mhz.hex
-rw-r--r-- 1 fhem dialout 41516 Jan 8 19:26 HB-GEN-SENS-US-BATT.ino.ATmega328P-5V-16Mhz.hex
-rw-r--r-- 1 fhem dialout 140616 Nov 18 2017 HM-LC-Bl1PBU-FM_update_V2_11_1_161212.eq3
Wobei - bisher habe ich *.eq3 Files OTA geflasht - ist hier der Haken? Und wenn ja - ich erstelle ich daraus ein *.eq3 File - welches Format das dann auch immer ist...
Peter
Zitat von: PSI69 am 08 Januar 2019, 19:37:44
Wobei - bisher habe ich *.eq3 Files OTA geflasht - ist hier der Haken? Und wenn ja - ich erstelle ich daraus ein *.eq3 File - welches Format das dann auch immer ist...
Dafür gibt es prepota.sh (https://github.com/pa-pa/AskSinPP/blob/master/bootloader/avr/prepota.sh). Das macht aus dem .hex ein .eq3
Zitat von: papa am 08 Januar 2019, 20:45:14
Dafür gibt es prepota.sh (https://github.com/pa-pa/AskSinPP/blob/master/bootloader/avr/prepota.sh). Das macht aus dem .hex ein .eq3
papa war schneller :)
Aufruf:
./prepota.sh <infile.hex>
und: selbst auf dem Raspberry Pi 3 dauert es ein bisschen, also erst mal Kaffee trinken ;).
Danach gibt es zwei zusätzliche Dateien
<infile>_<datum_zeit>.hex bzw.
<infile>_<datum_zeit>.eq3. Aber irgendwie ist die eq3 um zwei Byte länger als die von Dirk's v0.15 Firmware vom Wettersensor ???
Gruß Peter
Super, danke! Damit komme ich doch weiter...
Peter
Hallo,
ich habe einen Arduino Pro Mini mit einem CC1101 Funkmodul, den ich schon erfolgreich mit mit "Standard"-Geräten der Asksinpp Library geflasht und an fhem angebunden habe.
Nun habe wollte ich den Ultraschallsensor ausprobieren.
Flashen funktioniert.
In den Lernmodus versetzen auch und anlernen auch, das Problem ist aber folgendes:
es wird lediglich ein erstelltes LogFile in der fhem GUI angezeigt.
defmod FileLog_HM_FCFDFE FileLog ./log/HM_FCFDFE-%Y.log HM_FCFDFE
attr FileLog_HM_FCFDFE logtype text
attr FileLog_HM_FCFDFE room CUL_HM
in diesem ist folgender Inhalt:
019-03-18_22:54:28 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:54:28 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:54:28 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:54:28 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:56:27 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:56:27 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:57:55 HM_FCFDFE ResndFail
2019-03-18_22:57:55 HM_FCFDFE RESPONSE TIMEOUT:RegisterRead
2019-03-18_23:02:03 HM_FCFDFE D-firmware: 0.2
2019-03-18_23:02:03 HM_FCFDFE D-serialNr: ����������
wenn man in die fhem.cfg schaut, taucht folgendes auf;
define HM_FCFDFE CUL_HM FCFDFE
setuuid HM_FCFDFE 5c9162c3-f33f-3214-98ee-9dd0df1fa57188c5
attr HM_FCFDFE .mId F0F1
attr HM_FCFDFE IODev HMLAN2
attr HM_FCFDFE IOgrp vccu:HMLAN2
attr HM_FCFDFE autoReadReg 4_reqStatus
attr HM_FCFDFE expert 2_raw
attr HM_FCFDFE firmware 0.2
attr HM_FCFDFE model unknown
attr HM_FCFDFE room CUL_HM
attr HM_FCFDFE serialNr ����������
attr HM_FCFDFE subType
HMConfig_AskSinPPCustom.pm habe ich in's FHEM Verzeichnis kopiert.
Was mache ich falsch?
Grüße
Hi Papa & Gloob,
seit Martin an CUL_HM.pm schraubt, funktioniert der Ultraschallsensor nicht "richtig" - siehe:
https://forum.fhem.de/index.php/topic,95409.msg932766.html#msg932766
laut Martin (die Antwort darunter) müßte dieser die ID auf "F1xxx" nutzen - derzeit wird der Ultraschallsensor als model = ACTIONDETECTOR erkannt.
Ist das in einer Eurer aktuellen Firmware-Versionen bereits enthalten und muß ich nur updaten...?
Danke, -MN
Die ID ist F205. Hat auf jeden Fall bisher sehr gut funktioniert.
In der Firmware im ersten Post ist es auch so:
const struct DeviceInfo PROGMEM devinfo = {
{0x33, 0x30, 0x05}, // Device ID
"FHEM333005", // Device Serial
{0xf2, 0x05}, // Device Model
0x02, // Firmware Version
as::DeviceType::Sensor, // Device Type
{0x00, 0x00} // Info Bytes
};
Was passiert denn wenn du das Model Attribut änderst?
Hi Gloob,
Ich bin verwirrt...
{0x33, 0x30, 0x05}, // Device ID
übersetzt sich für mich nach 3, 0, "ENQ" gemäß http://lwp.interglacial.com/appf_01.htm - was auch immer ENQ für ein Steuerzeichen sein mag.
Das entspricht nicht "F205" wie von Papa unten angegeben und entspricht nicht "F1xxx" wie von Martin gewünscht.
Model läßt sich nicht mehr überschreiben:
model must not be changed by User.
Use modelForce instead
Bei modelForce erhalte ich ein Dropdown-Menü mit den bekannten Homematic-Geräten...
Danke, -MN
Zitat von: Morgennebel am 24 April 2019, 16:42:13
Hi Gloob,
Ich bin verwirrt...
{0x33, 0x30, 0x05}, // Device ID
übersetzt sich für mich nach 3, 0, "ENQ" gemäß http://lwp.interglacial.com/appf_01.htm - was auch immer ENQ für ein Steuerzeichen sein mag.
Das entspricht nicht "F205" wie von Papa unten angegeben und entspricht nicht "F1xxx" wie von Martin gewünscht.
Model läßt sich nicht mehr überschreiben:
model must not be changed by User.
Use modelForce instead
Bei modelForce erhalte ich ein Dropdown-Menü mit den bekannten Homematic-Geräten...
Danke, -MN
Das was du da oben hast ist auch die Device ID / Seriennummer (333005). Die sollte bei dir anders sein.
Das ist das Model:
{0xf2, 0x05}, // Device Model
Und da steht F205
Ich habe die Firmware heute nochmal auf einen Sensor aufgespielt und kann keine Probleme feststellen. Die Integration in FHEM funktioniert wie gewohnt.
defmod HM_333005 CUL_HM 333005
attr HM_333005 .mId F205
attr HM_333005 IODev HomematicGateway
attr HM_333005 IOgrp vccu:HomematicGateway
attr HM_333005 autoReadReg 4_reqStatus
attr HM_333005 expert 2_raw
attr HM_333005 firmware 0.2
attr HM_333005 model HB-GEN-SENS
attr HM_333005 room CUL_HM
attr HM_333005 serialNr FHEM333005
attr HM_333005 subType custom
attr HM_333005 webCmd getConfig:clear msgEvents
Auch die Values passen bei einem anderen Sensor:
defmod HM_444001_Values CUL_HM 44400101
attr HM_444001_Values userattr valuesformat
attr HM_444001_Values model HB-GEN-SENS
attr HM_444001_Values peerIDs
attr HM_444001_Values room Homematic
attr HM_444001_Values valuesformat 2:distance:10 1:batVoltage:10
setstate HM_444001_Values 21.1 3.1
setstate HM_444001_Values 2019-04-25 19:31:26 R-eventDlyTime 30 s
setstate HM_444001_Values 2019-04-25 19:23:58 R-sign off
setstate HM_444001_Values 2019-04-25 19:31:26 RegL_01. 00:00 08:00 21:1E
setstate HM_444001_Values 2019-04-25 19:43:39 batVoltage 3.1
setstate HM_444001_Values 2019-04-25 19:43:39 distance 21.1
setstate HM_444001_Values 2019-04-25 19:25:04 peerList
setstate HM_444001_Values 2019-04-25 19:43:39 state 21.1 3.1
Hallo,
kann mir jemand erklären was diese Einstellungen bedeuten. Gibt es irgendwo eine Erklärung?
Vielen Dank.
2:distance:10 1:batVoltage:10
VG
Wolfgang
Zitat von: Kruemel am 25 April 2019, 22:19:16
Hallo,
kann mir jemand erklären was diese Einstellungen bedeuten. Gibt es irgendwo eine Erklärung?
Vielen Dank.
2:distance:10 1:batVoltage:10
Siehe hier https://forum.fhem.de/index.php/topic,57486.msg804110.html#msg804110
Zitat von: nugat1 am 19 März 2019, 22:56:51
Hallo,
ich habe einen Arduino Pro Mini mit einem CC1101 Funkmodul, den ich schon erfolgreich mit mit "Standard"-Geräten der Asksinpp Library geflasht und an fhem angebunden habe.
Nun habe wollte ich den Ultraschallsensor ausprobieren.
Flashen funktioniert.
In den Lernmodus versetzen auch und anlernen auch, das Problem ist aber folgendes:
es wird lediglich ein erstelltes LogFile in der fhem GUI angezeigt.
defmod FileLog_HM_FCFDFE FileLog ./log/HM_FCFDFE-%Y.log HM_FCFDFE
attr FileLog_HM_FCFDFE logtype text
attr FileLog_HM_FCFDFE room CUL_HM
in diesem ist folgender Inhalt:
019-03-18_22:54:28 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:54:28 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:54:28 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:54:28 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:56:27 HM_FCFDFE D-firmware: 0.2
2019-03-18_22:56:27 HM_FCFDFE D-serialNr: ����������
2019-03-18_22:57:55 HM_FCFDFE ResndFail
2019-03-18_22:57:55 HM_FCFDFE RESPONSE TIMEOUT:RegisterRead
2019-03-18_23:02:03 HM_FCFDFE D-firmware: 0.2
2019-03-18_23:02:03 HM_FCFDFE D-serialNr: ����������
wenn man in die fhem.cfg schaut, taucht folgendes auf;
define HM_FCFDFE CUL_HM FCFDFE
setuuid HM_FCFDFE 5c9162c3-f33f-3214-98ee-9dd0df1fa57188c5
attr HM_FCFDFE .mId F0F1
attr HM_FCFDFE IODev HMLAN2
attr HM_FCFDFE IOgrp vccu:HMLAN2
attr HM_FCFDFE autoReadReg 4_reqStatus
attr HM_FCFDFE expert 2_raw
attr HM_FCFDFE firmware 0.2
attr HM_FCFDFE model unknown
attr HM_FCFDFE room CUL_HM
attr HM_FCFDFE serialNr ����������
attr HM_FCFDFE subType
HMConfig_AskSinPPCustom.pm habe ich in's FHEM Verzeichnis kopiert.
Was mache ich falsch?
Grüße
Hallo, ich wollte nur mal die Info geben, dass es nun mit dem Anlernen funktioniert
War wahrscheinlich ein schlechter Zeitpunkt und hatte etwas mit dem Umbau CUL_HM.pm zutun.
Ich hatte in der Zwischenzeit aber auf Basis des HB-UNI-Sensor1 einen Ultraschall-Sensor per Quick&Dirty zusammengebaut (Statt Luftdruck wird der Entfernungswert gesendet)
https://github.com/TomMajor/SmartHome/tree/master/HB-UNI-Sensor1
Ein entscheidender Vorteil dieses Sketches ist, dass aller 20x Senden auch mögliche Config-Änderungen übernommen werden, ohne die ConfigTaste drücken zu müssen.
Damit kann ich zu verschiedenen Tages und Nachtzeiten den Sendeintervall anpassen.
Lässt sich dies auch in dem Sketch umsetzen?
Ich habe mal wieder eine neue Gehäusevariante erstellt. Diesmal für die HB-UNI-Sensor1 Platine:
https://www.thingiverse.com/thing:3631375
Zitat von: nugat1 am 04 Mai 2019, 11:33:58
Ein entscheidender Vorteil dieses Sketches ist, dass aller 20x Senden auch mögliche Config-Änderungen übernommen werden, ohne die ConfigTaste drücken zu müssen.
Damit kann ich zu verschiedenen Tages und Nachtzeiten den Sendeintervall anpassen.
Lässt sich dies auch in dem Sketch umsetzen?
Umsetzen lässt sich das bestimmt aber welchen Vorteil siehst du darin? Ich habe hier Sensoren stehen, die alle 30 Sekunden einen Wert schicken und die Batterien sind nach 9 Monaten noch gut dabei: 2,7V.
Hoi,
gloob machst du die Dateien mit tinkercad?
Braucht man zum flashen einen ftdi adapter oder geht das auch mit nem usb kabel? Ich hatte mal eine ispindel geflasht und das ging mit einem einfachen usb micro kabel.
Kann man das sendeintervall auch auf 86400 stellen? In meinem heizöltank brauche ich nicht alle 30sek einen neuen stand :) was wäre der größte wert den ich hier eingeben kann?
Gruß daniel
Zitat von: ichbindas am 10 Juni 2019, 20:12:42
gloob machst du die Dateien mit tinkercad?
Nein mit Fusion360
Zitat von: ichbindas am 10 Juni 2019, 20:12:42
Braucht man zum flashen einen ftdi adapter oder geht das auch mit nem usb kabel? Ich hatte mal eine ispindel geflasht und das ging mit einem einfachen usb micro kabel.
Ja man benötigt einen FTDI Adapter
Zitat von: ichbindas am 10 Juni 2019, 20:12:42
Kann man das sendeintervall auch auf 86400 stellen? In meinem heizöltank brauche ich nicht alle 30sek einen neuen stand :) was wäre der größte wert den ich hier eingeben kann?
In der aktuellen Firmware kann man das Intervall nur auf 255 Sekunden stellen.
Könnte man das Intervall hochsetzen? 255 Sekunden ist echt sportlich :)
Sorry wegen der ftdi frage. Die ispindel hatte nen ardu mit usb. Der hier hat nix. Ich zieh die frage zurück :D
Hi gibt es irgendwo die Gerberdatei für die dritte Version zum Download? Gruß
Zitat von: ZnarfMe am 10 Juni 2019, 21:31:26
Hi gibt es irgendwo die Gerberdatei für die dritte Version zum Download? Gruß
Leider gibt es die Gerberdateien nicht online und ich habe auch nur noch weniger Platinen übrig die ich selbst benötige.
Schade könnte noch sechs Sensoren benötigen.
Sent from my iPhone using Tapatalk Pro
Zitat von: ZnarfMe am 10 Juni 2019, 21:38:09
Schade könnte noch sechs Sensoren benötigen.
Sent from my iPhone using Tapatalk Pro
Ich baue bestimmt bei Gelegenheit nochmal welche auf. ;)
Gloob habe heute die v4 gedruckt. Saubere arbeit! Danke für das modell
(https://uploads.tapatalk-cdn.com/20190613/2345293c8f4cd62ac9fd6165c8d6a838.jpg)
Gedruckt mit einem prusa mk2.5 in pet :)
Druckzeit 4,5 + 1,5 stunden
Zitat von: ichbindas am 13 Juni 2019, 17:39:04
Gloob habe heute die v4 gedruckt. Saubere arbeit! Danke für das modell
(https://uploads.tapatalk-cdn.com/20190613/2345293c8f4cd62ac9fd6165c8d6a838.jpg)
Gedruckt mit einem prusa mk2.5 in pet :)
Druckzeit 4,5 + 1,5 stunden
Sehr gut. Ich habe fast die gleichen Zeiten mit meinem CR-10 mit Amazon PETG.
Bitte immer aufpassen welche Platine und Batteriehalter man hat, deswegen habe ich mittlerweile 5 Versionen davon.
Gloob ich muss dir noch einmal auf den Sack gehen (hehe)
Kann man die Firmware revisionieren und den Bereich vergrössern? Sekunden bis 86400? Geht das?
Ich kanns nicht - ich weiß nicht wie [emoji2373]
Bitte bitte
Zitat von: ichbindas am 19 Juni 2019, 09:15:52
Gloob ich muss dir noch einmal auf den Sack gehen (hehe)
Kann man die Firmware revisionieren und den Bereich vergrössern? Sekunden bis 86400? Geht das?
Ich kanns nicht - ich weiß nicht wie [emoji2373]
Bitte bitte
Hallo,
Aktuell gehen nur 7620 Sekunden. Es ist kein Problem der Firmware, sondern steckt in der HMConfig.pm von FHEM. Ich denke aber auch so wird der Sensor lange durch halten wenn er auf Batterien läuft.
Oder du nutzt einfach ein Netzteil mit 3.3V und versorgst den Sensor direkt. Meist gibt es ja eine Steckdose in der Nähe wenn der Sensor nicht gerade draußen im Garten oder so hängt.
Woher bekommt man denn einen Schaltplan für die Adapterplatine? Ich finde in den Links keine Infos [emoji2373]
Zitat von: ichbindas am 05 September 2019, 12:16:49
Woher bekommt man denn einen Schaltplan für die Adapterplatine?
Welche Adapterplatine?
Gruß Peter
Die vierte Version nutzt einen Arduino Pro und eine Adapterplatine...
diese Adapterplatine :)
Um den Pro mit dem CC-Modul zu verbinden und da ist noch ein Taster LED & Co. drauf
Zitat von: ichbindas am 05 September 2019, 12:33:18
Die vierte Version nutzt einen Arduino Pro und eine Adapterplatine...
diese Adapterplatine :)
Um den Pro mit dem CC-Modul zu verbinden und da ist noch ein Taster LED & Co. drauf
Die Adapterplatine der 4. Version ist im ersten Beitrag verlinkt.
Tut mir Leid sehe nichts
Zitat von: gloob am 01 August 2018, 10:03:37
Die vierte Version
nutzt einen Arduino Pro Mini sowie eine Adapterplatine (https://github.com/TomMajor/SmartHome/tree/master/HB-UNI-Sensor1). Somit ist das verlöten von SMD Bauteilen nicht notwendig.
Der Pro Mini sollte jedoch auf Stromsparmodus getrimmt werden: https://asksinpp.de/Grundlagen/01_hardware.html#stromversorgung
Dort wird klar auf die "Adapterplatine" HB-UNI-Sensor1 verwiesen. Aber du hast natürlich recht, der Link zeigt nicht genau auf die Platine: https://github.com/TomMajor/SmartHome/tree/master/PCB/01_Sensor_PLHT_V2.01
Ich glaube du meinst allerdings die Version 3 die deutlich kleiner ist. ;)
Wahrscheinlich mein ich die weil die andere is echt groß [emoji2373]
Und wo ist der Link auf HW-Doku und Schaltplan für V3? Den sehe ich nicht.
Zitat von: Tom Major am 05 September 2019, 14:36:10
Und wo ist der Link auf HW-Doku und Schaltplan für V3? Den sehe ich nicht.
Den habe ich auch noch nicht gepostet. ;D
Prinzipiell kann man alles nehmen wo ein Arduino Pro Mini + CC1101 + Taster + IOs drauf passt.
Das Ultraschallmodul wird an die Pins: 9,7,6,5 angeschlossen.
Pin 9 = GND
Pin 8 = NC
Pin 7 = Echo
Pin 6 = Trigger
Pin 5 = VCC
Mir geht es eigentlich nur um den Taster. Oder du verkaufst mir endlich deine Adapterplatine [emoji41]
Zitat von: ichbindas am 05 September 2019, 15:08:24
Mir geht es eigentlich nur um den Taster. Oder du verkaufst mir endlich deine Adapterplatine [emoji41]
Wie du siehst, sind die Platinen weg. Der Taster kommt wie bei fast allen Platinen an P8.
Steht so aber auch im Arduino Sketch und kann natürlich an die eigenen Bedürfnisse angepasst werden.
Zitat von: gloob am 05 September 2019, 15:02:06
Den habe ich auch noch nicht gepostet. ;D
Warum? Closed Source oder kommt der noch?
Habs endlich geschafft das Ding mal zu entstauben...
Frage:
Mir fehlt das value device wie krieg ich das rein?
Was sagt die grüne led aus?
Habe die vccu in anlernmodus versetzt und den taster nach dem batterie einlegen 1 sekunde gedrückt und habe dies dann auch bestätigt mit noch einmal drücken. Hatte dann das device in fhem inkl cmd done.
Wie gehts hier nun weiter?
(https://uploads.tapatalk-cdn.com/20191006/a908f47cdb36569e6462fc48a9110aa9.plist)
Zitat von: ichbindas am 06 Oktober 2019, 19:30:02
Habs endlich geschafft das Ding mal zu entstauben...
Frage:
Mir fehlt das value device wie krieg ich das rein?
Was sagt die grüne led aus?
Habe die vccu in anlernmodus versetzt und den taster nach dem batterie einlegen 1 sekunde gedrückt und habe dies dann auch bestätigt mit noch einmal drücken. Hatte dann das device in fhem inkl cmd done.
Wie gehts hier nun weiter?
(https://uploads.tapatalk-cdn.com/20191006/a908f47cdb36569e6462fc48a9110aa9.plist)
Dein Model ist unknown. Du musst die HMConfig_AskSinPPCustom.pm installieren. Wie es geht, steht im ersten Post.
Habe ich vor dem Vorhaben schon gemacht
Neustart? Was sagt das Log? Welche Firmware benutzt du?
Normalerweise sieht es so aus:
model HB-GEN-SENS
Steht ja im ersten Post... logfile steht nur dass das Gerät angelegt ist und das Filelog. Aber das zweite fehlt halt...
Ich verwende die Firmware mit US100
Zitat von: ichbindas am 06 Oktober 2019, 20:19:05
Ich verwende die Firmware mit US100
Die Firmware war von mir für die CCU gedacht. Warum nutzt du nicht die andere Firmware die mit Papas HMConfig_AskSinPPCustom.pm läuft?
So, Stefan danke für Deine Hilfe. Ich habe nun
HB-GEN-SENS-US-BATT-V3.ino
geflasht, nun ist der Sensor nicht mehr unknown, das Anlernen hat auf anhieb funktioniert, nur leider ohne das Values device...
Ich komm einfach nicht drauf :-(
Zitat von: ichbindas am 07 Oktober 2019, 17:26:42
So, Stefan danke für Deine Hilfe. Ich habe nun
HB-GEN-SENS-US-BATT-V3.ino
geflasht, nun ist der Sensor nicht mehr unknown, das Anlernen hat auf anhieb funktioniert, nur leider ohne das Values device...
Ich komm einfach nicht drauf :-(
Das Values Device ist doch da:
HM_444003_Values
Wenn du folgende in der Zeilen oben eingibst, findest du ihn auch unter HM_CUL:
attr HM_444003_Values userattr valuesformat
attr HM_444003_Values room CUL_HM
attr HM_444003_Values valuesformat 2:distance:10 1:batVoltage:10
Nichts zu finden...
No device named HM_444003_Values found
In deinem Screenshot sieht man das Device doch:
channel_01 HM_444003_Values
man bin ich doof... D A N K E
seit ich das attr room CUL_HM eingetragen habe isses in dem Raum.. ich könnt schwören in everything war nix!!
Hallo zusammen,
jetzt brauche ich doch mal Hilfe. Ich habe den Ultraschallsensor aufgebaut, die US-100 am WeMos D1 mini mit ESPEasy getestet (sie funktionieren und zeigen den richtigen Abstand an), meinen (bzw. auch gloob's) Sketch kompiliert (Board: Arduino pro mini 3,3V/8 MHz) und draufgespielt. Der Sensor zeigt 179 cm an, der Meterstab 89,3 cm -> also zeigt der Sensor das Doppelte an ???.
Dann habe ich einen Blink Sketch (1s an, 1s aus, ohne Bootloader) geflasht, die 1s ist ziemlich genau MM=60 -> die mit den Fuses eingestellte Frequenz sollte passen.
Der einzige Unterschied der noch besteht ist folgender:
Ich habe OTA an und generiere mit makeota.html den (Homematic) Bootloader inkl. der Firmware.
Hat einer eine Idee, wo ich noch suchen soll? Bin langsam echt ratlos :-\
Danke und Gruß
Peter
Hast du denn mal versucht die Firmware direkt zu flashen mit Standardboorloader. Wenn ich es richtig im Kopf habe wird da irgendwie die Frequenz runter getaktet um Energie zu sparen.
Also, ich wieder. Guten Morgen :)
Die Batteriespannung bekomme ich, bei distance steht 0...
Habe die Jumper Brücke entfernt auf dem US-100 und auch ein zweites Modul getestet. Same problem.
Habe beim Modul wechseln selbstverständlich die Batterien entfernt.
Das Modul summt leise durchgehend, also wird mit Spannung versorgt.
Hilfe??
Zitat von: ichbindas am 08 Oktober 2019, 07:04:25
Also, ich wieder. Guten Morgen :)
Die Batteriespannung bekomme ich, bei distance steht 0...
Habe die Jumper Brücke entfernt auf dem US-100 und auch ein zweites Modul getestet. Same problem.
Habe beim Modul wechseln selbstverständlich die Batterien entfernt.
Das Modul summt leise durchgehend, also wird mit Spannung versorgt.
Hilfe??
Wie groß ist denn der Abstand zur "Gegenseite"?
Vieles probiert. Ca 30cm momentan
Hast du bitte mal ein Bild von deinem Aufbau?
Zitat von: gloob am 07 Oktober 2019, 21:54:42
Hast du denn mal versucht die Firmware direkt zu flashen mit Standardboorloader. Wenn ich es richtig im Kopf habe wird da irgendwie die Frequenz runter getaktet um Energie zu sparen.
Welchen Bootloader nimmst Du denn? Den Standard Arduino? Optiboot? Oder den von Tom: https://github.com/TomMajor/SmartHome/tree/master/Info/Bootloader/mega328_RC-Osc_or_Quarz? Und welche Fuseeinstellung?
Ich werde es mal mit dem Standard Arduino Bootloader probieren ...
Danke + Gruß
Peter
Ich mach heut abend ein Foto
Zitat von: PeMue am 08 Oktober 2019, 08:13:38
Welchen Bootloader nimmst Du denn? Den Standard Arduino? Optiboot? Oder den von Tom: https://github.com/TomMajor/SmartHome/tree/master/Info/Bootloader/mega328_RC-Osc_or_Quarz? Und welche Fuseeinstellung?
Ich werde es mal mit dem Standard Arduino Bootloader probieren ...
Danke + Gruß
Peter
Ich nutze den: https://github.com/MCUdude/MiniCore
Ich hatte es aber auch mit dem Standard Arduino Bootloader laufen.
(https://uploads.tapatalk-cdn.com/20191008/a447ad20e29ff942ac06d3bc970067f8.jpg)
Das ist mein "setup" momentan. Wenn es tut kommts an den Öltank
Zitat von: ichbindas am 08 Oktober 2019, 16:51:41
Wenn es tut kommts an den Öltank
Aha, noch jemand mit demselben Anwendungsfall wie ich ;).
Zitat von: ichbindas am 08 Oktober 2019, 16:51:41
(https://uploads.tapatalk-cdn.com/20191008/a447ad20e29ff942ac06d3bc970067f8.jpg)
Weniger Fensterbank und mehr Sensor wäre besser gewesen 8) 8) 8)
Gruß Peter
Haja für was macht man den Sensor denn wenn nicht an den Öltank.
Mit Hand mit Glas Wasser alles dasselbe... immer 0 distance
Und das ist im log...
(https://uploads.tapatalk-cdn.com/20191008/fc90494987a8c889532b7d821bc2cf3a.png)
Kannst du mal ein Bild zeigen wie der Sensor am Arduino angeschlossen ist? Welche Pins genutzt werden wäre schön zu sehen.
VCC und GND sollte klar sein, RX geht auf TX und TX geht auf RX.
(https://uploads.tapatalk-cdn.com/20191008/1df3fd657d2a78c6ed9bbd0f3fb4c3dc.jpg)
Okay dann kann es auch nix anzeigen.
Folgende Verdrahtung ist aktuell im Sketch vorgesehen:
#define US_100_PIN_VCC 5
#define US_100_PIN_GND 9
#define US_100_PIN_TRIGGER 6
#define US_100_PIN_ECHO 7
(https://uploads.tapatalk-cdn.com/20191008/796975e5a819b6c813f2e27fe40b2c58.jpg)
Ohman dann muss ich an diese Pins... hab mich voll leiten lassen von dem ISP Anschluss...
Wenn man ohne Hirn ausm Haus geht... Mensch dankeschön Stefan!!
RX und TX wirst du sowieso nicht nutzen können, da dort die Log/Debug Nachrichten geschickt werden.
Zitat von: gloob am 07 Oktober 2019, 21:54:42
Am seriellen Ausgang kommt auch nur Mist, welche Baudrate ist da zu verwenden? 57600?
Hm, wenn man die "vermurkste" Platine so patcht, dass vermeintlich TxD an Pin 2 statt an Pin 31 angeschlossen ist, dann kann nur Murks kommen. Muss ich morgen korrigieren ...
Gruß Peter
Edit: Irgendwas ist mit diesem Post schiefgelaufen, sich selber zu zitieren geht vermutlich nicht und zerschießt den ganzen Text :o
Hier sind meine Flash-Einstellungen.
Die Console sollte auch auf 57600 was sinnvolles anzeigen. Im Code ist es so definiert.
DINIT(57600, ASKSIN_PLUS_PLUS_IDENTIFIER);
Wenn sie das nicht tut, würde ich schätzen, dass dein Arduino mit 16MHz läuft.
Hast du mal probiert den normalen Blink Sketch zu flashen und zu schauen ob die LED ca. 1 Sekunde an und danach aus ist.
Sicher dass du kein 16 mhz Board hast? Sorry für die Frage aber für mich klingt das, dass das Ding doppelt so schnell läuft. Kannste noch n anderes Board testen?
Zitat von: gloob am 08 Oktober 2019, 19:37:42
Hier sind meine Flash-Einstellungen.
Vielen Dank.
Zitat von: gloob am 08 Oktober 2019, 19:37:42
Wenn sie das nicht tut, würde ich schätzen, dass dein Arduino mit 16 MHz läuft.
Zitat von: ichbindas am 08 Oktober 2019, 19:48:40
Sicher dass du kein 16 Mhz Board hast?
Ja, denn es ist nur ein Atmega328P mit internem Taktgeber drauf, keine externer Quarz.
Zitat von: gloob am 08 Oktober 2019, 19:37:42
Hast du mal probiert den normalen Blink Sketch zu flashen und zu schauen ob die LED ca. 1 Sekunde an und danach aus ist.
Ja, siehe Thread weiter oben. Die 1 s passt. Die Einstellungen in der IDE waren dieselben.
Zitat von: ichbindas am 08 Oktober 2019, 19:48:40
Kannste noch n anderes Board testen?
Dann baue ich halt noch eine zweite Leiterplatte auf, aber auch hier ist kein externer Quarz drauf ...
Danke + Gruß
Peter
Nun tut alles... Stefan nur eines interessiert mich noch. Woher hast du diese Adapterplatinen? Die passen 100% ins Gehäuse. Ich möchte die haben bitte. Alles andere is murks
Die Adapterplatine findest du hier: https://github.com/ronnythomas/HB-Mini
Super, vielen Dank auch wegen der Geduld :)
Wie doof kann man denn eigentlich sein? :o :o :o
Problem gelöst:
attr UG_Tank_Values valuesformat 2:distance:5 1:batVoltage:10
passt natürlich zu dem festgestellten Verhalten. Und beim Patchen (serielle Schnittstelle im Layout vergessen) Tx auf Pin 2 statt Pin 30 gelegt ::) ::) ::).
AskSin OTA Bootloader V0.7.0<\n>
<\n>
Start App<\n>
AskSin++ V4.1.0 (Oct 9 2019 13:02:54)<\n>
Address Space: 32 - 37<\n>
CC init1<\n>
CC Version: 14<\n>
- ready<\n>
iVcc: 3413<\n>
1648<\r><\n>
<- 0E 01 86 53 B513ED 000000 01 02 06 70 22 - 6635<\n>
1642<\r><\n>
<- 0E 02 86 53 B513ED 000000 01 02 06 6A 22 - 7241<\n>
1641<\r><\n>
<- 0E 03 86 53 B513ED 000000 01 02 06 69 22 - 7847<\n>
1640<\r><\n>
<- 0E 04 86 53 B513ED 000000 01 02 06 68 22 - 8454<\n>
1640<\r><\n>
<- 0E 05 86 53 B513ED 000000 01 02 06 68 22 - 9060<\n>
1643<\r><\n>
<- 0E 06 86 53 B513ED 000000 01 02 06 6B 22 - 9666<\n>
1639<\r>
Jetzt geht's. Allerdings mag er immer noch nicht das Sendeintervall ändern, OTA habe ich noch nicht probiert.
Danke für Eure Ratschläge.
Gruß Peter
Hallo zusammen,
noch eine Frage: Funktioniert bei Euch folgender Befehl?
set <name>_Values regSet eventDlyTime ZEIT_IN_SEKUNDEN
Bei mir bricht der immer mit TIMEOUT ab. Auch ein
set <name> getconfig
hat dasselbe Ergebnis.
Wo muss ich da nachschauen? An was könnte das liegen?
Danke + Gruß
Peter
Was kommt denn auf der Console, wenn Du die Register schreibst / liest ?
Mir ballert es das log voll da steht HB SENS has 2 values und das kommt alle 20sek. Hab im global das verbose schon von 3 auf 2 gemacht aber das kommt seltsamerweise immernoch... hat das "problem" auch jemand?
Das sind meine Debug-Ausgaben :-)
Welchen Version des FHEM-Addons verwendest Du ? Das wurde eigentlich schon gelöst.
Ich hab den code aus dem ersten post eingegeben und hab bei github nichts aktuelleres gefunden als die v3 von vor einem jahr
Papa und wie mach ich das debugging weg?
Log 1, $model.$chnnum." has $numval values ($p)";
Da die Message mit LogLevel 1 geschrieben wird, sollte ein verbose = 0 helfen.
Verbose kannst du auch nur für das Device setzen, dass muss nicht global gemacht werden.
Hab das verbose 0 bei dem hm und dem hm_value gesetzt aber der schreibt immernoch ins los. Global hab ich wieder verbose 3 gemacht
Nimm mal das aktuelle von hier https://github.com/pa-pa/AskSinPP/tree/master/examples/custom/contrib/FHEM
saugeil! also ihr seit echt der knaller... hab die datei überschrieben und die hmmsg dazu geladen wie auf github beschrieben... was soll ich sagen... tut!! danke papa und stefan
Hallo papa,
Zitat von: papa am 10 Oktober 2019, 08:57:04
Was kommt denn auf der Console, wenn Du die Register schreibst / liest ?
Beim Start:
AskSin OTA Bootloader V0.7.0
Start App
AskSin++ V4.0.3 (Oct 10 2019 12:22:43)
Address Space: 32 - 37
CC init1
CC Version: 14
- ready
tmBatteryResDiv Voltage: 3618
Battery set low: 22
Battery set crit: 19
<- 0F 01 86 53 3E8A69 000000 01 02 00 00 0E 22 - 1050
-> getconfig
debounce
pressed
released
<- 1A 02 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 1105
-> getconfig
debounce
pressed
released
<- 1A 03 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 21149
<- 0F 04 86 53 3E8A69 000000 01 02 06 63 0E 22 - 41713
-> getconfig
debounce
pressed
released
<- 1A 05 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 41768
-> set <name>_Values regSet eventDlyTime 60
debounce
pressed
released
<- 1A 09 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 83017
-> CMDs pending
debounce
pressed
released
<- 1A 0A 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 103059
<- 0F 0B 86 53 3E8A69 000000 01 02 06 4F 0E 22 - 109291
MISSING ACK
Auch ein normales getconfig endet im MISSING ACK. Reicht das zur Analyse oder brauchst Du mehr?
Danke + Gruß
Peter
Der Sensor ist nicht richtig gepaired - sendet immer nach 000000. Einfach nochmal pairen. Dann sollte es funktionieren.
Wenn du den Sensor nicht richtig paaren kannst, solltest du mal gucken ob die Frequenz des Funkmoduls passt.
Langfassung: https://forum.fhem.de/index.php?topic=91740.0
Kurzfassung: https://github.com/pa-pa/AskSinPP/tree/master/examples/FreqTest
Zitat von: gloob am 11 Oktober 2019, 07:42:30
Wenn du den Sensor nicht richtig paaren kannst, solltest du mal gucken ob die Frequenz des Funkmoduls passt.
Langfassung: https://forum.fhem.de/index.php?topic=91740.0
Kurzfassung: https://github.com/pa-pa/AskSinPP/tree/master/examples/FreqTest
Diese Befürchtung hatte ich auch, aber dann sind gleich zwei Funkmodule betroffen :o
Gruß Peter
Zitat von: PeMue am 11 Oktober 2019, 08:05:14
Diese Befürchtung hatte ich auch, aber dann sind gleich zwei Funkmodule betroffen :o
Gruß Peter
Oftmals ist es eine ganze Charge/Bestellung.
Zitat von: gloob am 11 Oktober 2019, 07:42:30
Wenn du den Sensor nicht richtig paaren kannst, solltest du mal gucken ob die Frequenz des Funkmoduls passt.
Habe ich gemacht:
AskSin++ V4.0.3 (Oct 11 2019 08:38:03)
CC init1
CC Version: 14
- ready
Start searching ...
Freq 0x21656A 868.300 MHz: 0/0
Freq 0x2165BA 868.332 MHz: 0/0
Freq 0x21651A 868.268 MHz: 0/0
Freq 0x21660A 868.363 MHz: 0/0
Freq 0x2164CA 868.236 MHz: 0/0
Freq 0x21665A 868.395 MHz: 0/0
Freq 0x21647A 868.205 MHz: 0/0
Freq 0x2166AA 868.427 MHz: 0/0
Freq 0x21642A 868.173 MHz: 0/0
Freq 0x2166FA 868.459 MHz: 0/0
Freq 0x2163DA 868.141 MHz: 86132F. 1/78
Search for upper bound
Freq 0x2163EA 868.148 MHz: 0/0
Search for lower bound
Freq 0x2163CA 868.135 MHz: 0/0
Done: 0x2163DA - 0x2163DA
Calculated Freq: 0x2163DA
868.141 MHz
Store into config area: 63DA
Dummerweise findet FHEM dann beim Pairing gar nichts mehr. War dann meine Referenz (ungepairte HM-ES-PMSw1-Pl) schlecht? Wenn ich das richtig verstanden habe, macht der Sketch folgendes:
- Frequenz einstellen (ein ungepairtes Homematic Gerät drücken) und nach Message suchen, wenn nichts gefunden - 1 min warten
- weitermachen, bis was gefunden wird (obere Grenze)
- dann untere Grenze dasselbe
- Mittelwert aus beiden bilden und ins EEPROM schreiben
Das Pairing danach ergab folgenden Mitschnitt:
AskSin OTA Bootloader V0.7.0
Start App
AskSin++ V4.0.3 (Oct 10 2019 12:22:43)
Address Space: 32 - 37
CC init1
CC Version: 14
- ready
tmBatteryResDiv Voltage: 3545
Battery set low: 22
Battery set crit: 19
Config Freq: 0x2163DA
<- 0F 01 86 53 3E8A69 000000 01 02 00 79 0D D9 - 854
debounce
pressed
released
<- 1A 02 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 909
debounce
pressed
released
<- 1A 03 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 3776
debounce
pressed
released
<- 1A 04 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 23820
debounce
pressed
released
<- 1A 05 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 43864
debounce
pressed
released
<- 1A 06 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 63905
debounce
pressed
released
<- 1A 07 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 67721
debounce
pressed
released
<- 1A 08 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 87769
debounce
pressed
released
<- 1A 09 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 90181
<- 0F 0A 86 53 3E8A69 000000 01 02 00 00 0D D9 - 111134
debounce
pressed
released
<- 1A 0B 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 111190
debounce
pressed
released
<- 1A 0C 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 131233
debounce
pressed
released
<- 1A 0D 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 136060
debounce
pressed
released
<- 1A 0E 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 156104
debounce
pressed
released
<- 1A 0F 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 176148
debounce
pressed
released
<- 1A 10 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 195235
<- 0F 11 86 53 3E8A69 000000 01 02 00 00 0D D9 - 203843
debounce
pressed
released
<- 1A 12 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 215281
debounce
pressed
released
<- 1A 13 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 235323
debounce
pressed
released
<- 1A 14 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 255365
<- 0F 15 86 53 3E8A69 000000 01 02 00 00 0D D9 - 258652
debounce
pressed
released
<- 1A 16 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 265314
debounce
pressed
released
<- 1A 17 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 285358
debounce
pressed
released
<- 1A 18 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 292548
debounce
pressed
released
<- 1A 19 84 00 3E8A69 000000 04 F2 05 46 48 45 4D 30 30 30 30 30 31 41 01 00 00 - 312590
Danke + Gruß
Peter
Das sieht komisch aus. Was hast Du denn bei PING_FORM und PING_TO angegeben. PING_FROM muss ein bereits gepairtes Gerät - möglichst ein Switch - sein. PING_TO ist die Zentrale. Dann sollten da auch mehr empfangende Packete zu sehen sein.
Leute,
irgendwie bin ich zu blöd, den Sketch zu bedienen:
AskSin++ V4.0.3 (Oct 15 2019 09:22:33)
CC init1
CC Version: 14
- ready
Start searching ...
Freq 0x21656A 868.300 MHz: 0/0
Freq 0x2165BA 868.332 MHz: 0/0
Freq 0x21651A 868.268 MHz: 0/0
Freq 0x21660A 868.363 MHz: 0/0
Freq 0x2164CA 868.236 MHz: 0/0
Freq 0x21665A 868.395 MHz: 0/0
Freq 0x21647A 868.205 MHz: 0/0
Freq 0x2166AA 868.427 MHz: 0/0
Freq 0x21642A 868.173 MHz: 0/0
Freq 0x2166FA 868.459 MHz: 0/0
Freq 0x2163DA 868.141 MHz: 0/0
Freq 0x21674A 868.490 MHz: 0/0
Freq 0x21638A 868.109 MHz: 0/0
Freq 0x21679A 868.522 MHz: 0/0
Freq 0x21633A 868.078 MHz: 0/0
Freq 0x2167EA 868.554 MHz: 0/0
Freq 0x2162EA 868.046 MHz: 0/0
Freq 0x21683A 868.586 MHz: 0/0
Freq 0x21629A 868.014 MHz: 0/0
Freq 0x21688A 868.617 MHz: 0/0
Freq 0x21624A 867.982 MHz: 0/0
Freq 0x2168DA 868.649 MHz:
Done: 0x21656A - 0x21656A
Could not receive any message 0/0
Done: 0x21656A - 0x21656A
Could not receive any message
Was ich gemacht habe:
- meine HM-ID der Zentrale eingetragen
- den einer Steckdose (HM-LC-SW1-PL) eingetragen
Den Sketch auf dem Ultraschallsensor laufen lassen und per FHEM die Steckdose immer an und abgeschaltet. Irgendwie empfängt das CC1101 Modul nicht wirklich was.
Müssen die HM-IDs rückwärts im Sketch eingegeben werden?
Das initiale Pairing hat beim Ultraschallsensor hat funktioniert, jetzt halt nicht mehr, weil eine falsche Frequenz im EEPROM steht.
Habt ihr mir Tipps, wie ich weiter vorgehen kann?
Einer wäre, CC1101 Modul runterlöten und ein anderes drauflöten, aber da weiß ich dann auch wieder nicht, ob das tut.
Danke für Eure Geduld mit mir.
Gruß Peter
Was meldet der Test denn, wenn du Active Ping mal deaktivierst?
// #define ACTIVE_PING
Es reicht ihm ja auch, wenn er "fremde" Messages empfängt. Also einfach mal Active Ping deaktivieren. Den Sketch starten und dann die Dose ein paar mal ein und aus schalten.
Zitat von: gloob am 15 Oktober 2019, 20:29:35
Was meldet der Test denn, wenn du Active Ping mal deaktivierst?
Der Sketch findet auch nichts.
Jetzt habe ich mal das EEPROM wieder gelöscht (mit avrdude ausgelesen, die 4 Bytes für die Frequenz gesucht und auf 0 gesetzt, mit avrdude geflasht -> Fehlermeldung, aber avrdude sagt ja dankenswerterweise auch die richtige Checksumme :D -> korrigiert und nochmal geflasht).
Und siehe da: der Sensor wird wieder erkannt, aber mit getconfig -> RESPONSE TIMEOUT:RegisterRead
Ich werde wohl mal ein paar neue CC1101 Module auf meinem nanoCUL mit Steckleiste testen und wenn die tun, die Module von beiden Ultraschallsensoren runterlöten und ersetzen >:( >:( >:(.
Gruß Peter
Edit:
Ich schätze, dass das
<- 0F 12 86 53 3E8A69 000000 01 02 06 59 0D AE - 73365
in der seriellen Konsole dem hier im FHEM Eventmonitor
2019-10-17 21:45:52 CUL_HM HM_3E8A69_Values batVoltage: 1.3
2019-10-17 21:45:52 CUL_HM HM_3E8A69_Values distance: 162.5
entspricht.
Wobei ich nicht glaube, dass die Batterien 1,3V hat.
Ist nur eine Zelle LadyN (Akku).
Gruß Peter
Mein Sensor tut nicht mehr....
Der Batteriewert wird richtig angezeigt, die Distance bleibt Null.
Was ich bisher unternommen habe:
- neu Batterien
- neuer US-100
- Device gelöscht und neu angelegt wie auf Seite 1 beschrieben
Wo kann ich bei der Fehlersuche ansetzen ?
Danke und Gruß
Kai
########################################################
Update: Heute morgen funktionierte es wieder... Hat einen halben Tag gebraucht, um sich einzuschwingen... warum auch immer