FS20S8M Spezialfirmware, S0 für Energiezähler, AD Wandler usw.

Begonnen von Noname, 01 Juni 2014, 23:47:28

Vorheriges Thema - Nächstes Thema

Noname

Hallo,

ich stelle meine neue Firmware mit Sonderfunktionen für das FS20S8M zur Verfügung.
Es gibt 2 Versionen, die Version mit S0-Schnittstelle sollte allerdings nur mit Netzteil
betrieben werden. (wegen Dauerbetrieb, kein Powerdown)

Funktionen:
Zustandsmeldungen von 8 Signalen, auch parallel.
Messwertübertragung 0-3V bzw. Widerstandsmessung LDR, Poti usw.
Kapazitive Füllstandsmessung z.B. Zisterne
S0-Schnittstelle für Energiezähler.

Funktionen und Beschreibung siehe PDF!

Bitte das Modul 09_FS20V.pm in den Modulordner kopieren.

Zum aufspielen der Firmware verwende ich diesen ISP Programmer:

http://shop.myavr.de/Topseller/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006

Für die KS300 Erweiterung, Einstrahlung und Dämmerung siehe hier:
https://forum.fhem.de/index.php/topic,25125.0.html
und
https://wolf-u.li/5212/wetterstation-ks-300-ks-555-mit-daemmerung-und-lichteinfall-erweitern/


rudolfkoenig

Schaut gut aus, einchecken kann ich aber nur dann, falls FS20Value nach FHEM eingecheckt ist, das hat aber keine Doku

Franz Tenbrock

Hallo
kann man da mit einem sm8 mehrere Stromzähler zb auslesen??
oder Strom, Gas und Solar über einen sm8

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Noname

Hallo Franz Tenbrock,

momentan kann an dem Modul nur eine
S0 Schnittstelle (fest auf 1000 Imp/KW eingestellt)
betrieben werden.

Eine Erweiterung auf mehrere S0 muss ich prüfen,
ich denke er wird aber wegen den  kleinen Speicher
des atmel 4k nicht möglich sein.

Die einzige Möglichkeit ist eine Firmware zu Entwickeln,
die nur S0 Schnittstellen besetzt.


ext23

Hallo,

mensch diesen Thread habe ich gar nicht gesehen! Ich hab nur den "http://forum.fhem.de/index.php/topic,13495.0.html" gesehen.

Die Füllstandsanzeige habe ich eben nachgebaut, Klasse Sache! Aber noch mit dem manipulierten 10_FS20.pm was ich nicht so prall finde. Die Sache mit dem extra Modul die hier beschrieben ist finde ich besser.

Also ich bin an der FW sehr interessiert, auch an das hinzufügen der Module ins FHEM Repo.

Ich habe nur zwei Wünsche für meinen Anwendungsfall (Tonne auf Balkon mit Pumpe und manuellem Nachfüllen)
- Eine "sofort" Message wenn die Tonne leer/voll ist. (Warum, weil ich dann das Wasser abdrehen kann ohne dass das Fass überläuft und das die Pumpe aus geht wenn es leer ist.)
- Eventuell kannst du die FW auch für Ultraschallsensoren erweitern?

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)

ext23

Super, ich probiere das aus. Mit dem Schwimmer, naeee, das will ich gerade nicht ;-) Und wozu wenn ich schon so ein tollen "Stab" habe.
Das mit der Hysterese stimmt natürlich, aber reicht ja wenn die Meldung nur ein mal gesendet wird, und dann erst wieder wenn die Tonne leer oder unter 50% oder so war. Das kann man ja leicht über ein Bit regeln. Wobei die leer Meldung bei mir weniger kritisch ist, die Pumpe läuft immer nur 6 Minuten, da habe ich genug Zeit wenn ich minütlich sende drauf zu reagieren. Das Füllen geht aber etwas schneller und ich hab die Tonne immer gerne bis zum Rand voll ;-) (Ohne den Balkon unter Wasser zu setzen, sonst gibt es Stress mit der Regierung) Alternativ könnte ich den Sensor der jetzt am Boden der Tonne ist oben anbauen und dann gibt es eben Alarm. Naja wie dem auch sei, war ja nur eine Idee. Falls du den Quellcode mal bereit stellen solltest und ich Programmiermuffel mal Zeit habe mach ich mir das auch selber. Aber ich löte lieber anstatt zu proggen ;-)

Ich denke mein Gehäuse kommt Mitte der Woche und dann werde ich berichten wie es läuft.

Gruß und 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)

ext23

Moin,

mit dem anderen Modul geht es auch, aber man muss es manuell anlegen, sonst wird es als FS20 normal device erkannt.

Btw. kann es sein das bei mir noch was nicht hin haut? Je voller die Tonne desto kleiner werden meine Werte. Das ist bei mir irgendwie invertiert. Oder liegt das an der fehlenden Kalibrierung?

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)

Noname

Hi,
du muss nach dem aufspielen der Firmware zwingend alles Einstellen,
siehe PDF.

Wenn für Voll und Leer keine Einstellungen vorgenommen wurden,
dann wird der unberechnete Wert übertragen(zur Diagnose).
Wenn der Voll und Leerabgleich eingestellt ist wird der Füllstand über
eine Spezielle Formel berechnet.

Bei mir wird von autocreate sofort ein Device FS20Value angelegt.

Du musst auf alle Fälle die Original 10_FS20.pm wieder einspielen,
und 00_CUL.pm sowie 09_FS20Value.pm austauschen!

Und Fhem neu starten

Ich habe beim letzten Beitrag nochmal die pdf ausgetauscht, zur Info!
(Bitauswertung ergänzt)

Mit dem Sofortsenden bei Voll gibt es noch ein weiteres Problem,
ich müsste bei den Internen Watchdogzyklus (alle 8 Sekunden),
den 555 Versorgen und eine Messung vornehmen. Das geht sicherlich
enorm auf den Akku. Vor allem falls man die Schaltung nur mit
Batterien Betreiben will.

Das mit dem Schwimmer ist vielleicht nicht die tollste Lösung, sollte aber vorerst mal dein Problem lösen, und das für unter 5€

http://www.ebay.de/itm/like/Schwimmerschalter-Niveauschalter-Schwimmschalter-Sensor-Fullstandssensor/351398747588?hlpht=true&ops=true&viphx=1&_trksid=p5197.c100068.m2280&_trkparms=ao%3D1%26asc%3D20140211130857%26meid%3D93ce1b29de354361b638b690f4e2a28c%26pid%3D100068%26clkid%3D7664249091088933901&_qi=RTM2052467

ext23

Zitat von: Noname am 19 Juli 2015, 11:08:10
Hi,
du muss nach dem aufspielen der Firmware zwingend alles Einstellen,
siehe PDF.

Wenn für Voll und Leer keine Einstellungen vorgenommen wurden,
dann wird der unberechnete Wert übertragen(zur Diagnose).
Wenn der Voll und Leerabgleich eingestellt ist wird der Füllstand über
eine Spezielle Formel berechnet.
OK, das mache ich dann wenn ich ein Gehäuse habe.

Zitat von: Noname am 19 Juli 2015, 11:08:10
Bei mir wird von autocreate sofort ein Device FS20Value angelegt.

Du musst auf alle Fälle die Original 10_FS20.pm wieder einspielen,
und 00_CUL.pm sowie 09_FS20Value.pm austauschen!
Mhh hab ich alles gemacht, es wurde aber trotzdem kein FS20Value Device angelegt, aber wie soll das auch gehen wenn die RAW Message diesellbe ist wie von den anderen FS20 Geräte. Also wenn ich die regulären Ausdrücke da richtig gesehen habe.

Zitat von: Noname am 19 Juli 2015, 11:08:10
Mit dem Sofortsenden bei Voll gibt es noch ein weiteres Problem,
ich müsste bei den Internen Watchdogzyklus (alle 8 Sekunden),
den 555 Versorgen und eine Messung vornehmen. Das geht sicherlich
enorm auf den Akku. Vor allem falls man die Schaltung nur mit
Batterien Betreiben will.
Mhh stimmt, muss man eben die CMOS Version vom 555er nehmen ;-)
Aber ich meine das könnte man ja so machen:
Wenn zwischen zwei Messungen (oder meinetwegen 3 oder 4) der Füllstand steigt, dann soll in den nächsten 5 Minuten eben dauerhaft gemessen werden. Oder wenn der Wert eine Schwelle überschritten hat oder dergleichen. Also da gibt es ja Möglichkeiten das raus zu bekommen. Das kann man ja alles nach bedarf zuschalten beim Einrichten des Boards.
Bei mir persönlich ist der Stromverbrauch egal, ich hab alles am Netz. Batterien oder Akkus nehme ich nicht so gerne, das ist mir alles zu wartungsintensiv. Aber gut da bin ich vermutlich eine Ausnahme :-)

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)

Noname

Hi,

RAW Message ist anders als bei normalen FS20 Telegrammen, es gibt da ein Bit das bei FS20Value gesetzt ist. Vielleicht hast du noch eine
alte Version der Firmware drauf?

Allerdings muss FS20Value vor FS20 in 00_cul aufgerufen werden! siehe Muster oder pdf.

Du solltest wie im pdf beschrieben immer die cmos Variante verwenden, um den Energiebedarf
des Moduls so gering wie möglich zu halten.

ext23

Naja ich hab den NE555 also die TTL Variante, die hatte ich noch rumliegen, ich verbaue die öfter mal. Gut ist ja nicht umsonst der meistverkaufte IC weltweit ;-) Also von daher zieht das bei mir eh alles etwas mehr. Aber wie gesagt ich steh nicht so auf Batterien.

/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)

Noname

Ups,

wie hast du den NE555 an dem FS20S8m betreiben können.
Der NE555 benötigt doch 5V Versorgungsspannung und das
FS20s8m liefert nur 3V abzüglich dem Spannungsabfall vom
Vorwiderstand der Innenbeschaltung des FS20s8m?

Es sollte der 555 auch zwingend  wie beschrieben vom Ausgang
des Moduls geschaltet werden um Energie zu sparen, dies gilt
auch für den betrieb von Kontakten. Die Masse sollte immer
vom Schaltausgang des Moduls abgegriffen werden, alle
geschlossenen Kontakte würden sonst die Batterie entladen.

Die CMOS Variante arbeitet bereits ab 1,5V deswegen kann es nur
mit der CMOS Variante funktionieren.

ext23

Der NE555 arbeitet ab 3V, passt schon... (also meiner zumindest, aber das sind auch gute DDR Bauteile ;-) )
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

So heute habe ich die Platine mal abgeglichen.
- Programmiermodus aktiviert
- Tonne leer gepumpt, Taste 2+3 gedrückt bis die LED leuchtet, losgelassen und gewartet bis die LED wieder blinkt
- Tonne gefüllt, dasselbe mit Taste 2+4

Jetzt zeigt der mir unter FHEM 997.6 % an. Da haut doch was nicht hin.

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)

Noname

#14
Hi,
wie hast du FS20Value eingestellt?

Welche Attribute hast du gesetzt und welche
Firmware Version ist auf dem FS20S8m

Das FS20S8m liefert 0-10000
Du kannst das Ergebnis frei Skalieren
in % m Liter wie du willst. Du könntest
auch mit einer Linearisierungstabelle arbeiten.


Ups im pdf steht ein falsches Beispiel!

so sollte es sein:

ValueDpoint 2
ValueFactor 0.01

Du kannst die Anzahl der Dezimalstelle einstellen. --> ValueDpoint X