Bausatz HM_Sen_RD_O

Begonnen von trilu, 27 Juli 2013, 20:26:25

Vorheriges Thema - Nächstes Thema

trilu

die alternative zum testen ist
1 Arduino nano oder mini pro
+ 1 Funkmodul aus einem HM oder Max Device

Der PanStamp kostet 18$ + MwST + 10$ Versand
Programmieren kann man die Dinger auch über ein kleines FTDI Modul USB zu Seriel
oder jedem anderen USB zu TTL Umsetzer PL2023 oder...
Nur zum testen ist mir der PanStamp zu teuer - ich werde wie schon geschrieben am Wochenende mal mit einem
Funkmodul aus einem Fensterkontakt vom MAX! testen. Arduino Mini's hab ich einige rumfliegen.
 
Wenn das klappt hol ich mir ein oder zwei von diesen PanStamps, wenn du willst können wir gerne zusammen bestellen.

Die Arduino Oberfläche läuft auf Windows und Linux - du kannst die Dinger aber auch mit Visual Studio + Plugin
oder Eclipse mit PlugIn programmieren.
Ob PanStamp auch die Arduino Oberfläche nutzt, weiss ich gar nicht. Ich will aber das PanStamp Framework nicht nutzen.
Ich will ja nicht Swap sondern Bidcos :-)

Oh, die Frage des Programmierens übersehen. Arduino hat einen seriellen Bootloader im Device. Der Bootloader stellt
eine serielle Schnittstelle zum Programmieren zur Verfügung. Falls du den Bootloader tauschen willst, benötigst du einen Programmieradapter mit ISP Schnittstelle. Zum Testen und Debuggen reicht ein serieller USB nach TTL Adapter.
Beim Arduino Nano ist der USB Adapter bereits eingebaut. Bei den PanStamps und Arduino Mini Pro steht der TTL Pegel an.
FTDI - Adapter sind gut geeignet, da der DTR den Arduino in den Bootloader Mode schalten kann.



betateilchen

Bei der Arduino Geschichte bin ich auch mit dabei - ich hab auch noch ein paar hier rumliegen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marc2

Hi Martin,

ich glaube, Du hast die On/Off settings in 10_CUL_HM an der falschen Stelle geändert. Mit folgender
Änderung geht es:

428c428
<                      ,"HM-Sen-RD-O02"   =>{"00"=>"on"                       ,"C8"=>"off"}
---
>                      ,"HM-Sen-RD-O02"   =>{"00"=>"off"                       ,"C8"=>"on"}
2221,2223d2220
< elsif ($md eq "HM-Sen-RD-O"){# on<->off for this sensor...
<  $lvl = ($lvl eq "00")?"C8":"00";
< }
2241c2238
< my $lvl = ($md eq "HM-Sen-RD-O")?"00":"C8";
---
> my $lvl = "C8";


Toggle schaltet nur ein, weil dem Channel das Attribute "level" fehlt und CUL_HM_getChnLvl daher immer 0
zurück liefert. on-for-timer geht prinzipiell, zeigt aber irgendwie kein lineares Verhalten. 30s sind
real ehe 3s, 50s deutlich mehr als 50s.

Gruß, Marc

betateilchen

und ich habe die aktuellen HM-Files aus dem SVN eingespielt und bekomme jetzt nur noch response-timeouts beim Regensensor...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marc2

Kann ich nicht bestätigen. Ich habe auch den aktuellen SVN Stand eingespielt und es fuktioniert
mit obgigen Einschränkungenm bzw. benötigten Fixes.

Gruß, Marc

betateilchen

tja, ich hab jetzt wieder den Stand von gestern eingespielt - und alles läuft wie es soll.

edit: funktioniert jetzt auch mit den SVN-Files - keine Ahnung was da vorhin los war.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marc2

Kann eigentlich nicht sein. Wenn Du einen Diff machst, wirst Du sehen, dass sich
seit gestern neben der Umbenennung von ein paar Variablen nur in Sachen RD on/off
was geändert hat. Letzteres funktionierte gestern nicht wie man es erwarten
würde und heute auch nicht . Allein das Fehlerbild sieht etwas anders aus ...

betateilchen

Zitat von: marc2 schrieb am Do, 01 August 2013 22:11Kann eigentlich nicht sein.

eine typische Support-Antwort ...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marc2

Mit Blick auf den Diff kann es nicht sein ...

@Martin

Während des Einschaltvorganges scheint der RD leider kein "PowerOn" zu senden. Er senden
nur zwei Nachrichten, "dry" und "heating on":

2013.08.01 22:31:09 1: HMLAN_Parse: HMLAN1 R:E20ECC4   stat:0000 t:24AC573E d:FF r:FFC1     m:00 A610 20ECC4 F14321 0602C800
2013.08.01 22:31:14 1: HMLAN_Parse: HMLAN1 R:E20ECC4   stat:0000 t:24AC6B6C d:FF r:FFC6     m:01 A610 20ECC4 F14321 06010000
2013.08.01 22:31:15 1: HMLAN_Send:  HMLAN1 I:K


Entsprechend wird es mit dem Trigger zum Abschalten der Heizung nach Starten des Sensors wohl schwierig.

Gruß, Marc

martinp876

Hi,

das hatte ich falsch verstanden. Es war kein Fehler beim Heizung-einschalten sondern nur in der Anzeige/parsen. Die hatte ich falsch :-(

Beruhigend, dass HM on und off nicht dreht.

@Marc - korrekt, dann sind das sie Aenderungen (bei on-fortimer wird es dann gar kein $lvl mehr geben, hätte ich nur zumDrehen gebraucht)

V 3574

Gruss Martin

martinp876

@Marc,

schade, dass es keine powerOn message gibt.

Ich sehe nur einen Weg, powerOn zu erkennen: Wenn der message-zähler mit 00 startet und die beiden Stati mit 00 und 01 kommen. Ist nicht schön aber sollte relativ sicher funktionieren.

Wie wichtig ist euch ein default "heating off" nach power-on?
Einbauen werden ich es wenn gewünscht und wenn die tests mit dem peeren des "heating-actors" abgeschlossen sind. Dann käme evtl noch die Regenautomatik dauz (falls peeren nicht klappt)

Gruss Martin

trilu

Hi Martin,

wenn es nicht zu viel Arbeit macht wäre so ein default heating off schon gut.
Das Ding zieht immerhin zwei Watt und bei der momentanen Wetterlage ist das rausgeschmissenes Geld :-))))
Hab mal ein Messgerät ran gehängt - 0,4W ohne Heizung, 2,4 Watt mit Heizung...

Viele Grüße und Danke
Horst

marc2

Hallo Martin,

sehe ich wie Horst, die Heizung verbrät deutlich Leistung. Am besten wäre vielleicht eine Automatik,
die einfach bei "dry" die Heizung abschaltet, und bei "rain" einschaltet. Am besten wäre es,
wenn man die Automatic per Attribut abschaltet können. Wenn das zuviel Aufwand ist, kann man
sich das ja auch einfach per notify und eingenem Attribut selber bauen. Kostet halt nur ein
wenig mehr CPU ...

Gruß, Marc

martinp876

Hi,

nun, noch nicht fertig getestet (habe keinen Sensor...) im Anhang ein Versuch. Noch ohne Doku.

Im heating sensor kann man das Attribut

attr heating param offAtPon
attr heating param onAtRain
attr heating param offAtPon,onAtRain

setzen.
Nach powerOn sollte jetzt auch das Reading "powerOn" kommen. Die Heizung entsprechend dem gesetztem Parameter gesteuert werden.
Man kann die Heizung natürlich noch manuell anschalten aber der nächste trigger sollte dies überschreiben.

onAtRain schaltet bei Rain "on" und bei dry "off"

Bitte Rückmeldung

Gruss Martin

betateilchen

Hallo Martin,

1. Test mit Deiner Testversion, ohne jegliche neue Attribute


2013.08.02 12:31:32.890 1: HMLAN_Send:  HMUSB I:K
2013.08.02 12:31:32.904 1: HMLAN_Parse: HMUSB V:03C3 sNo:JEQ0534751 d:1DAFAC O:127000 t:12B34C93 IDcnt:0006
2013.08.02 12:31:34.119 1: HMLAN_Parse: HMUSB R:E1D919A   stat:0000 t:12B3513C d:FF r:FFBE     m:DC A258 1D919A 1DA1A9 0000
2013.08.02 12:31:34.330 1: HMLAN_Parse: HMUSB R:E1DA1A9   stat:0000 t:12B351BF d:FF r:FFBE     m:DC 8202 1DA1A9 1D919A 0101000038
2013.08.02 12:31:51.242 1: HMLAN_Parse: HMUSB R:E20EC04   stat:0000 t:12B39427 d:FF r:FFB1     m:00 A610 20EC04 127000 0602C800
2013.08.02 12:31:56.393 1: HMLAN_Parse: HMUSB R:E20EC04   stat:0000 t:12B3A83F d:FF r:FFAC     m:01 A610 20EC04 127000 06010000
2013.08.02 12:31:57.895 1: HMLAN_Send:  HMUSB I:K
2013.08.02 12:31:58.185 1: HMLAN_Parse: HMUSB V:03C3 sNo:JEQ0534751 d:1DAFAC O:127000 t:12B3AF4C IDcnt:0006
2013.08.02 12:32:22.898 1: HMLAN_Send:  HMUSB I:K
2013.08.02 12:32:22.924 1: HMLAN_Parse: HMUSB V:03C3 sNo:JEQ0534751 d:1DAFAC O:127000 t:12B40FEB IDcnt:0006


Ein neues Reading poweron kann ich nicht finden,
die Parameter lassen sich nicht setzen, weil das Attribut "param" unbekannt ist.

out_Regen_Heizung: unknown attribute param, choose one of

muss param erst noch als globales userattr definiert werden?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!