LevelSender - Tankfüllstand mit JeeLink empfangen

Begonnen von HCS, 04 Mai 2014, 12:03:46

Vorheriges Thema - Nächstes Thema

Wzut

@HCS, ich habe gerade das Jeelink Wiki gelesen -> http://www.fhemwiki.de/wiki/JeeLink
Ist eigentlich schade dort keinen Vermerk / Querverweis auf den Level Sender zu finden.
Im LaCrosse Fred hat Billy ja geschrieben das er die Tage erst Ergänzungen vorgenommen hat,
vllt. kannst ihn ja überreden noch ein zwei Zeilen für den Level Sender zu spendieren. :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

frober

#76
@HCS
Könntest du bitte die 36_Levelsender.zip nochmal hochladen.
Das Archiv lässt sich nicht öffnen.

danke
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

HCS

Habe sie gerade zum Test runtergeladen und entpackt, ist OK.

Ich denke, dass Du irgend ein "Download-Problem" hast.

Nachtrag: die runtergeladene Datei muss 898.294 Bytes groß sein.

frober

Danke für die Mühe, mein Browser hat wieder gezickt. Mit einem Anderen hat funktioniert.

Nochmals danke und sorry dass ich es nicht gleich gemerkt habe.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Billy

Zitat von: Wzut am 07 August 2015, 20:49:42
@HCS, ich habe gerade das Jeelink Wiki gelesen -> http://www.fhemwiki.de/wiki/JeeLink
Ist eigentlich schade dort keinen Vermerk / Querverweis auf den Level Sender zu finden.
Im LaCrosse Fred hat Billy ja geschrieben das er die Tage erst Ergänzungen vorgenommen hat,
vllt. kannst ihn ja überreden noch ein zwei Zeilen für den Level Sender zu spendieren. :)

Wenn du mir die 2 Zeilen nennst und sagst wo du die haben willst kann ich die gerne mit reinpacken.
Einfacher wäre wenn ein Anwender des Level Senders das macht! ;)

Gruss Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Wzut

Oh je ... In einem Wiki habe ich bisher noch herum gepfuscht :(
Ganz unten auf der Wiki Seite (bei den Weblinks)  ist nun zumindest ein Querverweis auf diesen Fred.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Billy

Zitat von: Wzut am 12 August 2015, 13:43:15
Oh je ... In einem Wiki habe ich bisher noch herum gepfuscht :(
Ganz unten auf der Wiki Seite (bei den Weblinks)  ist nun zumindest ein Querverweis auf diesen Fred.

Na das ist doch schon mal was. ;)
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Tobias



Zitat von: Wzut am 27 Juli 2015, 20:48:35
Füllstand Messung mit Selbstbau kapazitivem Sensor statt Ultraschall

:-[ kannst du das mal bitte genauer erklären? EV.  Mit Schaltplan und Bauteilen?

Beitrag kurz gehalten da unterwegs und mobil gesendet

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Wzut

#83
Hier wie versprochen mehr Infos und Bilder zu meiner Version des Level Senders für eine Regentonne.
Zuerst wollte ich dem LS aus einem Arduino mini/micro mit RFM12 Modul bauen.
Leider sind die Spannungsregler auf meinen China Boards solche Stromfresser das ein sinnvoller Batteriebetrieb nicht in Frage kam.
Verbaut habe ich dann einen nackten Atmega328p in Grundschaltung mit externem 16MHz Quarz , Arduino Uno Bootloader und abgeschalteter BOD.
Als Sendemodul habe ich das RFM12 ( nicht RFM12B !)  verwendet da dieses mit 5V betrieben werden kann.
Versorgungspannung sind 4,5 V aus drei AA Zellen, Tests mit alten Batterien haben gezeigt das der Aufbau bis ca. 3,5 Volt funktioniert.

Sensor :
In meinem Öltank setzte ich schon seit längerem einen Ultraschallsensor ein. Bei der Regentonne ist mir keine Lösung eingefallen wie ich den verbauen könnte das er vor Feuchtigkeit geschützt ist und ich den Mindestabstand Sensor zur Oberfläche bei voller Tonne einhalte. Nach etwas stöbern hier im Forum bin ich auf  den Regentonnen Sensor von ELV gestosen, allerdings fand ich den Preis überzogen. Im Netz finden sich viele Beispiele wie man solche kapazitiven Sensoren selber bauen kann. Teilweise findet man sehr aufwendige Konstruktionen, sehr oft werden irgendwelche Metallstäbe mit Schrumpfschlauch isoliert und mit Abstandshaltern parallel ausgerichtet, ich wollte aber etwas simples. Meine Lösung : Ein Kunststoffrohr von 25mm Durchmesser ( Baumarkt , Elektro Installations Rohr) auf zwei Seiten mit 2,5 mm² Lautsprecherkabel beklebt. Vorteil des Lautsprecherkabels : es ist auf einer Seite flach und lässt sich so viel leichter als ein rundes Kabel auf das Rohr kleben ( siehe Bild LevelSender2.png) Am unteren Ende ja einen Tropfen Heißkleber nicht vergessen damit durch das Wasser keine leitende Verbindung entsteht.
Auswerten lässt sich der Sensor recht leicht mit einem NE555 und zwei Widerständen ( siehe Bild NE555.) Die Widerstände R2 & R3 haben bei mir je 1M Ohm. Pin 3 des NE555 wird mit einem Pin des Arduino verbunden ( z.B. D3 ) um  die Impulszeit T zu messen. Kann man via Interrupt machen oder simpel als  Zweizeiler :
frame.Level = pulseIn(3, HIGH);
frame.Level +=pulseIn(3, LOW);

Mit Anschlusskabel und Sensor trocken habe ich Werte so um die 450 micro Sekunden. Ganz eingetaucht (ca 80 cm) steigt der Wert dann bei mir auf ca. 1300 micro Sekunden. Da die LevelSender Software von einem Abstand in Zentimetern Deckel zur Wasseroberfläche ausgeht muss man sich diese Werte entsprechend umrechnen. Obwohl die Sensor Werte von 0 cm bis 80 cm recht linear anwachsen ist der Einfluß der Umgebungstemperatur doch erheblich.
Hier bin ich z.Z. noch am testen um eine nahezu gerade Linie im Plot bei gleichbleibendem Wasserstand zu bekommen.   
   
     
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

SVLoneStar

#84
Hallo,
ich habe den LevelSender nachgebaut, bekomme aber (via Terminal) immer nur

Started                                                                         
Values: -1.0 cm   -50.00 C   4.93 V                                             
Values: -1.0 cm   -50.00 C   4.94 V                                             
Values: -1.0 cm   -50.00 C   4.92 V                                             
Values: -1.0 cm   -50.00 C   4.95 V                                             
Values: -1.0 cm   -50.00 C   4.92 V


Schaltung (d.h. Platine) habe ich mehrfach überprüft, schaut für mich ok aus.

Konfigurations im Sketch:
// --- Configuration ---------------------------------------------------------
#define SENSOR_TYPE           4     // 2=SRF02   4=HC-SR04
#define TRANSMIT_INTERVAL     20    // Transmit interval in seconds
#define SENSOR_ID             1     // ID of this LevelSender ( 1 ... 15)
#define DATA_RATE             3     // Bit coded: 1 = 17241   2 = 9579   4 = 8842 
#define VOLTAGE_DIVIDER       11.0  // Measure or try until voltage is right
#define TMP36_OFFSET          0     // Apply offset to measured temperature of TMP36
#define USE_LED               1     // Set to 0 to save battery power


List des Device:
Internals:
   CFGFN
   DEF        1
   IODev      myJeeLink
   NAME       LevelSender
   NR         4518
   STATE      ???
   TYPE       Level
   addr       1
Attributes:
   IODev      myJeeLink
   distanceToBottom 65
   icon       humidity
   litersPerCm 10
   room       7 - Zisterne


Hat jemand eine Idee, was der Fehler sein kann?
Eher SW/Config oder eher Hardware/Komponenten?

Besten Dank,
Stefan

EDIT: Kommando zurück, er sendet jetzt (ohne jede Änderung).
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors

DerPeter

Hallo,

hat schon mal jemand den Levelsender mit RFM69CW-868 zum laufen bekommen?
Oder anders formuliert: RFM69CW mit dem RFMxx.cpp als Lacrosse-kompatiblen Sender betrieben?

Habe die Schaltung gerade auf dem Breadboard (LevelSender v1.0.6) und wollte die Reichweite mit dem RFM12B-868 vergleichen (umsteckbar).

Mit dem RFM12B funzt es. Wird hingegen der RFM69CW eingesetzt, kann ich nichts empfangen. Habe allerdings auch keine Möglichkeit zu prüfen, ob er überhaupt sendet.
Die Schaltung sollte eigentlich OK sein. Wird die RFM69CW-Variante als Empfänger mit dem 36_LaCrosse-LaCrosseITPlusReader betrieben, kann ich Lacrosse Sensoren emfangen.

Bin für jeden Denkanstoß dankbar ...
Gruß, Peter

PS: Hätte jetzt fast das Lob für dieses Super-Projekt vergessen.




rpi b+ / rpi2 b; cul868; jeelink; MAX! (ht, wt, fk, et); lacrosse;

HCS

Das sollte auch mit einem RFM69 funktionieren. Weiter oben hat das jemand so zum Laufen bekommen. Hast Du die richtige Version? Es muss im Sketch die RFMxx und nicht die RFM12 Library eingebunden sein.

Wzut

Zitat von: HCS am 13 November 2015, 07:19:12
Weiter oben hat das jemand so zum Laufen bekommen.
ja das war ich -> Antwort #53 am: 29 Mai 2015, 16:06:05
nur hatte ich Probleme mit 16 / 8 Mhz Taktfrequenz auf dem Atmega.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

DerPeter

Hi,

danke für Eure Antworten.
Hatte diesen  Post auch gelesen, aber einfach als Implementation der Lib und nicht als HW-Aufbau interpretiert - sorry.

In den letzten Tagen habe ich also wirklich viele Tests gemacht.
Leider ohne zufriedenstellendes Ergebnis. Die Details möcht ich Euch bis auf folgendes ersparen:
1) Vereinzelt und unzuverlässig kamen Telegramme am Jeelink durch. Die Ursache konnte trotz X Modifikationen nicht eingegrenzt werden.
2) Der RFM69CW sendet gleichmäßig in dem programmierten Transferintervall. Grobtest durch nahe am Sender platziertem Drahtring auf NF-Eingang der Soundkarte. (hab leider momentan nichts besseres)
3) Der Sketch scheint OK. Wird er auf einen JeeLink_v3c (RFM69CW) gespielt, sendet er zuverlässig (natürlich mit Dummy-Daten).
Es muß also ein HW-Problem sein. Wo auch immer.

Dann fand ich im JeeLabsShop zum RFM69CW folgenden interessanten Hinweis:
ZitatMarking Convention: a yellow spot on the top of the transceiver chip indicates optimised for the 868 MHz ISM band, a green spot for 433 MHz. The bronze spot diagonally opposite marks a successful module test before shipping. This final check helps to avoid the known problem of occasional infant mortality with this class of RF module. You can have confidence that you are building your project with a fully functional module!

Mein Jeelink_v3c hat auch die Farbpunkte, wie auf dem Bild im JeeLabsShop.
Die Module, die ich verwendet habe, sind von Poll...
Werde mir 2Stk im JeeLabsShop bestellen - mal sehen, ob's was bringt.

Um neben dem Frust auch was produktives zu  machen, habe ich meine Platinen "klassisch" mit RFM12B bestückt. Funktionieren einwandfrei.

Nebenbei sind meine aktuellen Nodes keine Levelsender, sondern messen Temp, rel. Feuchte (AM2302) und Bodenfeuchte (mit diesem Sensor).
Die Inspiration und das Grundgrüst für einen Lacrosse-kompatiblen Node stammen vom Levelsender.

===

Als kleines Abprodukt (wenn der RFM69CW mal senden wollte):
ATMega328 mit 8Mhz (ext. Quarz) ohne BOD und RFM69CW funktioniert. Fuses: L=0xd7 H=0xd8 E=0x07

Mit dem RFM12B habe ich bei 8Mhz auch nichts hinbekommen (rfmNone).
Jener hier hat auch mit einem ATtiny84 / RFM12B bei 8Mhz gesendet (aber andere Lib).
rpi b+ / rpi2 b; cul868; jeelink; MAX! (ht, wt, fk, et); lacrosse;

Blablubblaber

Hallo,

ich habe ein Problem versuche gerade das ganze nachzubauen Hardware steht soweit.

Nun scheitere ich aber dabei den Sketch auf den JeeNode v6 zu spielen.

Habe mir einen https://www.amazon.de/gp/product/B01C2P9GD2/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1 gekauft um es damit auf den JeeNode zu spielen.

Vorgehen:

Treiber für den FTDI Chip installiert ohne Probleme.
Arduino IDE .zip runtergeladen und entpackt.
Alles angeschlossen und den FTDI Programmer auf 5 v eingestellt.
Sketch geladen und die Zeit geändert der Rest passt da ich den HC-SR04 nutze.
COM4 in Arduino IDE eingestellt.
Board Arduino uno ausgewählt.
Anschließend kompiliert was auch funktioniert hat.

Dann habe ich auf hochladen geklickt und der hat angefangen etwas zu machen und mir dann eine Fehlermeldung ausgespuckt.

Der Sketch verwendet 13.384 Bytes (41%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
Globale Variablen verwenden 653 Bytes (31%) des dynamischen Speichers, 1.395 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xa7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xa7
Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.


Mir ist klar das er kleine Kommunikation zum JeeNode aufbaut aber wieso ist mir rätselhaft.

Kann mir jemand bitte helfen???