eigener Sensor mit Firmata und Fhem

Begonnen von autleon, 13 September 2015, 17:23:01

Vorheriges Thema - Nächstes Thema

autleon

Hallo
Ich bin relativ neu mit fhem, habe aber schon einiges in meinem Fhem integriert.
Aktuelles Projekt:  Ich moechte den Wasserstand meiner Regenwasserzisterne in Fhem anzeigen.

Soweit bin ich momentan.
1. Ultraschallsensor gekauft welcher Analogspannung ausgibt (0-10V, 400 - 6000mm)
2. Arduino Mega gekauft und Firmate aufgespielt
3. Sensor derzeit noch mit Poti simuliert und am Arduino angeschlossen
4.in Fhem Firmata und neuen Sensor definiert:
######Firmata
define FIRMATA FRM 3030 global
attr FIRMATA sampling-interval 3000

define Zisterne FRM_AD 62
attr Zisterne IODev FIRMATA
attr Zisterne event-min-interval reading:180
attr Zisterne stateFormat reading
attr Zisterne userReadings 1

define FileLog_Zisterne FileLog ./log/Zisterne-%Y.log Zisterne
attr FileLog_Zisterne logtype text


Fhem zeigt mir jetzt den AD Wert (Zahl  von 0 bis 1024) an und ich kann auch einen Plot erzeugen.
Ich wuerde nun gern diesen AD Wert mit meiner Geometrie der Zisterne kombinieren.
1. AD Wert mit 600 multipliezieren fuer Wasserhoehe
2. AD Wert mit r*r*pi * Wasserhohe fuer Fuellstand in Litern

Das ganze wuerde ich gerne wieder ploten bzw. den Wert anzeigen.

Habe schon gegoogelt bin aber nicht so richtig schlau geworden.

Danke
Gruss
leo

Prof. Dr. Peter Henning

Dabei stellt sich zuerst die Frage, warum man die Abstandsmessung nicht den Arduino machen lässt:  http://www.robodino.de/2011/12/ultraschall-distanz-sensor-hc-sr04.html mit Sensoren, die ca. 2 € pro Stück kosten.

Selbst mit dem gegenwärtigen analogen Sensor ist es viel einfacher, die Berechnung den Arduino machen zu lassen.

Zum Zweiten: Ich verstehe das Problem noch nicht so ganz, woran hapert es denn ? An der Multiplikation mit einer Konstanten in einem userReading ?

LG

pah


autleon

Hallo Pah
ich hatte noch so einen Sensor herumliegen und ich wollten diesen Verbauen.

ich verwende die Firmata Software am Arduino weil ich da keine Erfahrung mit der Programmierung habe. Das wollte ich dadurch vermeiden in dem ich die umrechnung im fhem mache

ad 2: exakt ich habe Probleme das userreading zu verstehen bzw es umzusetzen :-\ :-\

gruss leo

Wzut

#3
Lass dich nicht verrückt machen, für manche Leute ist alles "Teufelswerk" was sie selbst nicht im Einsatz haben bzw. kennen. Firmata hat IMHO gerade für fhem Anfänger den Vorteil recht schnell und einfach einen beliebigen externen Wert X in fhem zur Verfügung zu haben - die Hürde hast ja auch bereits erfolgreich genommen, den zweiten Schritt schaffst du auch noch.   

Zitat von: autleon am 13 September 2015, 17:23:01
attr Zisterne userReadings 1
richtig an dem Punkt must du ansetzen , aber was soll die 1 ?
Versuch doch mal :
attr Zisterne userReadings test reading*2
Das sollte dir ein Reading mit Namen test erzeugen und dessen Wert ist doppelt so gross wie der deines analogen Eingangs.
Bei Firmata vllt. etwas verwirrend am Anfang ist das die eingelesenen Werte als Reading Namen "reading" haben.
 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Prof. Dr. Peter Henning

"Teufelswerk", der ist gut  ;D

Soll ich jetzt mein diversen Arduinos mit Weihwasser besprengen ?

LG

pah


Wzut

Zitat von: Prof. Dr. Peter Henning am 14 September 2015, 10:18:37
Soll ich jetzt mein diversen Arduinos mit Weihwasser besprengen ?
Klar, wenn sie Kontaktprobleme haben und der Glaube versetzt ja bekanntlich Berge ... allerdings ging es mir nicht um die Arduino Familie sondern um FIRMATA :)
Ich bin mir relativ sicher würden wir hier einen Wettbewerb ausschreiben "wie überwache ich meine Regentonne mit fhem", wir auf locker über 20 verschiedene Lösungen kommen würden.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Prof. Dr. Peter Henning

Öh - ich lese in meinem Post nichts von Firmata, oder einer Abneigung dagegen.

LG

pah

Wzut

@autleon, vergiss das mit dem einfachen reading/2,  klappen müsste es in deinem Fall mit :
attr Zisterne userReadings test {ReadingsVal("Zisterne","reading",1)/2;}
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

autleon

Danke

Ich probiers am Abend gleich aus!

Gruß aus Österreich
Leo

autleon

super funktioniert einwandfrei.

Eine Frage noch. kann ich eigentlich mehrerer Arduinos mit Firmata auf den Fhem anschliesen.
Zb. ein Arduino pro Zimmer mit allen Sensoren pro Raum

danke
leo

Wzut

ja geht, must halt pro Quell Arduino ein eigenes FRM Device in fhem anlegen.
Wenn das via IP laufen soll nicht vergessen die Portnr sowohl auf fhem als auch auf Arduino Seite zu ändern, bzw. auf dem Arduino noch die eigene IP und MAC anzupassen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

autleon