Eigenbau Homematic Wasserzähler.

Begonnen von Dirk, 17 Januar 2016, 16:18:13

Vorheriges Thema - Nächstes Thema

pc1246

Hallo Daniel
Kannst du uns mal irgendwie mitnehmen!? Wie sieht Dein Aufbau aus? Wie Deine Wasseruhr?
Danke und Gruss
Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

ext23

Zitat von: pc1246 am 21 Juni 2017, 07:37:54
Kannst du uns mal irgendwie mitnehmen!? Wie sieht Dein Aufbau aus? Wie Deine Wasseruhr?

Klar, Fotos kann ich aber erst heute Abend machen. Ich habe halt zwei Uhren die einen drehenden Halbkreis haben. Das kann man im Prinzip mit jeder normalen Reflex-Lichtschranke messen, da muss man nicht viel justieren. Da habe ich mir nur eine neue Blende gedruckt wo die Lichtschranke eingebaut ist.

Dann habe ich im Moment noch einen AVR der die Lichtschranke auswertet und mit ein TTL Signal ausgibt ob gerade etwas reflektiert oder nicht. Das ganze geht auf einen panstamp (Auch nur ein AVR + Funkmodul) auf dem die Software des HomeMatic Gas/Energy Zählers läuft. Die entsprechend etwas angepasst.

Das ist der Stand der Dinge. Um jetzt den AVR für die Lichtschranke zu sparen wurde die HM Software wiederum angepasst so das die Lichtschranke direkt an den panstamp geklemmt werden kann. Da bin ich gerade am spielen.

Es wird also ein bestehenden HM Device benutzt um es für andere Zwecke zu missbrauchen.

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

papa

#167
Zitat von: ext23 am 21 Juni 2017, 07:26:22
Moin, also das klappt wirklich ganz gut.

Das freut mich

Zitat von: ext23 am 21 Juni 2017, 07:26:22
Zwei Sachen muss ich nur anpassen.
Einmal das wieder der Flankenwechsel als ein Count gezählt wird, so kann ich halbe Liter messen.
Und das der nur in kilo Schritten hoch zählt im IR Mode.

Hm - das liegt sicherlich daran, dass der IR für Strommessung gedacht ist. Da werden Umdrehungen/kWh übertragen. Stell doch einfach den Type auf Gas. Das ist dann ein normaler Zähler. Alternativ kannst Du auch den "case 2:" in Zeile 312 hoch ziehen zum "case 1:".

Zitat von: ext23 am 21 Juni 2017, 07:26:22
Für was ist eigentlich der zweite Kanal, könnte ich hier zwei Sensoren anschließen? Ich habe zwei Uhren, warm und kalt.

Ich habe wirklich keine Ahnung, wie der "richtige" HM-ES-TX-WM hier arbeitet. Du könntest einfach noch eine IRSensor-Klasse anlegen und diese mit dem Channel 2 verbinden. Dann mal schauen, was FHEM draus macht.

Sonst müssten wir uns mal damit beschäftigen, wie wir ein neues Gerät in FHEM machen können.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Zitat von: papa am 21 Juni 2017, 08:48:41
Hm - das liegt sicherlich daran, dass der IR für Strommessung gedacht ist. Da werden Umdrehungen/kWh übertragen. Stell doch einfach den Type auf Gas. Das ist dann ein normaler Zähler. Alternativ kannst Du auch den "case 2:" in Zeile 312 hoch ziehen zum "case 1:".

OK, ich dachte ich muss den Type auf IR stellen damit das funktioniert und diese Funktion/Classe/Methode wie auch immer benutzt wird. Wenn ich es auf Gas umstelle habe ich ein komischen Verhalten. Wenn ich mir die values ausgeben lasse passt da etwas nicht. Ich schau mir das heute Abend nochmal an.

/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

Btw. etwas offtopic aber wenn du es irgend wann mal schaffst den HM RGB Controller zu kopieren meld dich mal. Das original Teil geht mir auf die Ketten weil das flimmert wie verrückt beim faden. Da kann man sicher einiges verbessern.
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

OK also ich habe es auf gas umgestellt und es geht wirklich. Dann tritt nur ein Phänomen auf was ich im IR Mode nicht habe, warum auch immer...

"valon - valoff" ist im gas Modus ab und an mal 65535 weil der Wert für die Messung valoff 1 ist. Warum auch immer im IR Modus bleibt der star bei 0. Kann aber auch ein Zufall sein. Wie dem auch sei, ist ja kein Thema muss man nur Abfangen das valoff nicht größer ist als valon. Dann läuft das auch 1A.

Im Anhang mal mein Adapter für die Wasseruhr. Ist eine Uhr von Andrae.
http://datenblatt.stark-elektronik.de/wasserzaehler/Einstrahlzaehler%20neu.pdf

Interessanterweise könnte ich die auch mir einem reed Sensor auslesen, das wird wohl magnetisch übertragen. Aber gut so geht es ja auch. Aber magnetische Übertragung, da kommen mir ja ganz andere Sachen in den Sinn *hüstel*
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Zitat von: ext23 am 21 Juni 2017, 11:14:13
Btw. etwas offtopic aber wenn du es irgend wann mal schaffst den HM RGB Controller zu kopieren meld dich mal. Das original Teil geht mir auf die Ketten weil das flimmert wie verrückt beim faden. Da kann man sicher einiges verbessern.

:) Das wird mit nem AVR nicht mehr - zu wenig PWM-Port. Aber mit nen STM32 könnte es klappen. Allerdings sieht das Teil recht kompliziert aus. Mal sehen, wenn es im Winter langweilig wird. Verher ist aber noch der Blindactor dran. Will endlich meine FS20 RSU austauschen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Stimmt der hat nur 3 Hardware PWMs was. Aber wäre ja für RGB genug ;-) Alternative ist ein externer PWM.

Sag mal diese eq3 Firmware files sind die speziell codiert oder wie erstellst du die?

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

papa

Zitat von: ext23 am 21 Juni 2017, 21:54:41
Sag mal diese eq3 Firmware files sind die speziell codiert oder wie erstellst du die?

Im Github - Master gibt es ein Verzeichnis bootloader/avr. Im README.md steht es kurz zusammen gefasst.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

#174
@papa: kurz Frage zum sketch. Ich hab mir jetzt ein Platinchen gelötet wo nur noch ein panstamp drauf ist und ein DCDC wandler und ja dann wollte ich mal schauen ob ich da beide IR sensoren angeschlossen bekomme.

Mir ist da aber etwas aufgefallen, ich hab mich dämlich gesucht weil die Status LED nicht leuchtete:
#define LED_PIN 9

später habe ich dann das gefunden:
typedef StatusLed<9> LedType;
und dann ging es auch. Was ist da der Unterschied? Ist das erste obsolete?

Achso und könntest du mir das mit der zweiten classe nochmal näher erklären wie ich das mache und auf den zweiten Kanal mappe?

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

papa

Zitat von: ext23 am 20 Juli 2017, 13:03:43
@papa: kurz Frage zum sketch. Ich hab mir jetzt ein Platinchen gelötet wo nur noch ein panstamp drauf ist und ein DCDC wandler und ja dann wollte ich mal schauen ob ich da beide IR sensoren angeschlossen bekomme.

Mir ist da aber etwas aufgefallen, ich hab mich dämlich gesucht weil die Status LED nicht leuchtete:
#define LED_PIN 9

später habe ich dann das gefunden:
typedef StatusLed<9> LedType;
und dann ging es auch. Was ist da der Unterschied? Ist das erste obsolete?

Ja - das erste geht im Master nicht mehr. Hier habe ich fast komplett auf Templateparameter umgestellt. Das ist flexibler, da hiermit auch mehrere Instanzen mit unterschiedlichen Werten möglich sind.

Zitat von: ext23 am 20 Juli 2017, 13:03:43
Achso und könntest du mir das mit der zweiten classe nochmal näher erklären wie ich das mache und auf den zweiten Kanal mappe?

Ich habe mal auf die Schnelle was gestrickt. Das ganze ist aber nicht durch den Kompiler gegangen. Könnte also auch totaler Unsinn sein. Im Prinzip habe ich die Defines für die Pins in member-Variablen umgewandelt. Die Pins werden nun im init() üerbgeben. Außerdem wird eine zweite IRSensor-Instanz angelegt und mit dem Channel 2 verbunden. Sollte eigentlich so funktionieren.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Hi, sorry für die späte Antwort aber bin in Katar zugange gewesen.

Also so funktioniert es alles, aber FHEM zeigt auf dem zweiten Kanal keine Werte an. Die Readings kommen nicht. Ich sehe nur RegL_01.
Der zweite IR Sensor geht aber an sich, die LED blinkt zumindest immer.

Ich werd am besten mal schauen was die serielle so sagt, oder?

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

papa

In setup() fehlt noch ein


  sysclock.add(sdev.channel(2));


Damit für den 2. Channel auch zyklisch der Zählerstand gesendet wird.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Mhh irgendwie ändert sich da nichts. fehlt noch was?

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

papa

Ach Mist - der Gas-Wert geht immer in Kanal 1. Es wird in der entsprechenden Nachricht gar keine Channelnummer mitgesendet. Wahrscheinlich müssten wir eine IEC_POWER_EVENT Message senden. Da kann dann auch der Kanal gesetzt werden.


<frame id="IEC_POWER_EVENT" direction="from_device" event="true" type="0x61" channel_field="9:0.6">
<parameter type="integer" index="9.6" size="0.1" param="LOWBAT"/>
<parameter type="integer" index="10.4" size="0.4" param="ENERGY_TARIFF"/>
<parameter type="integer" index="10.0" size="0.1" param="ENERGY_UNIT"/>
<parameter type="integer" index="11.0" size="5.0" param="IEC_ENERGY_COUNTER"/>
<parameter type="integer" index="16.4" size="0.4" param="POWER_TARIFF"/>
<parameter type="integer" index="16.3" size="0.1" param="POWER_SIGN"/>
<parameter type="integer" index="16.0" size="0.1" param="POWER_UNIT"/>
<parameter type="integer" index="17.0" size="4.0" param="IEC_POWER"/>
</frame>


Hab nur noch nicht ganz kapiert, was das alles bedeutet.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire