Arduino Asksin library

Begonnen von trilu, 06 August 2013, 10:02:17

Vorheriges Thema - Nächstes Thema

trilu

die liste mit dem was funktioniert ist noch recht kurz
empfangen funktioniert
und dekodieren funktioniert

mit senden bin ich gerade dran, hatte aber keine möglichkeit zu
prüfen ob wirklich was gesendet wird.

ich habe zum empfang nur einen HM USB adapter. Wenn ich etwas sende
zeigt mir der Adapter nichts an, was mehrere ursachen haben kann:
der HM CFG filtert ungültige nachrichten
ich setze die sende parameter falsch
der string ist nicht ordentlich kodiert
usw...

deshalb ja die bitte zu prüfen ob das senden klappt. soweit ich weiss hat der CUL
einen modus in dem er alle nachrichten anzeigt.

betateilchen

ich habe hier auch den HM_USB-CFG im Einsatz, gesehen habe ich beim Senden auch nichts auf fhem-Seite. Deshalb war ja meine Idee, eine "bekannte" Nachricht zum Testen zu verwenden.

Eigentlich müßte doch ein zweiter HMduino als Empfänger ebenfalls funktionieren?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

trilu

jap, ein zweiter panstamp oder arduino mit modul müsste auch gehen.
ich hab aber derzeit nur einen :-(
mit einer bekannten nachricht habe ich es schon probiert, habe aber kein ACK bekommen.
das hilft mir aber nur bedingt, da es an der init des sendeteils liegen kann
oder am falsch kodierten string.
wäre klasse wenn jemand zwei panstamps hätte und das mal testen könnte!

betateilchen

Wenn ich heute nicht Homeoffice hätte, wär das kein Problem.

Aber ich werde mal versuchen, den COC in Homematic Mode zu versetzen und zu schauen, ob dann was ankommt.

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

betateilchen

der COC (mit raw X25) sieht keine Nachricht vom Arduino.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

trilu

#65
so, nun geht senden :-)
war ein blöder configurations fehler...

viel spass beim testen!


betateilchen

kannst Du mal Beispiele posten, WAS man senden kann?

wie gesagt: Vielleicht wäre eine einfache Temperaturmeldung (wie von einem Außensensor kommend) an broadcast das am Besten nachvollziehbare.

Werde nachher die neue Version testen.

------------

edit: nachher ist jetzt. Das kommt am HM an, wenn man das weiter oben genannte Beisipel von Dir sendet.


2013.08.09 20:35:13.282 1: HMLAN_Parse: HMUSB R:E1FA65C   stat:0000 t:0940E1A8 d:FF r:FFC1     m:7F A240 1FA65C 631963 01A2
2013.08.09 20:35:13.410 1: HMLAN_Parse: HMUSB R:E1FA65C   stat:0000 t:0940E23F d:FF r:FFC1     m:7F A240 1FA65C 631963 01A2
2013.08.09 20:35:13.570 1: HMLAN_Parse: HMUSB R:E1FA65C   stat:0000 t:0940E2D6 d:FF r:FFC1     m:7F A240 1FA65C 631963 01A2
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

Hi trilu,

Du bist ja ziemlich fleissig.
Ich kann leider erst nächstes Wochenende mit testen.
Ich bin schon gespannt.

Gruß
Dirk

trilu

Martin hat doch die beispiele weiter vorne erklärt. Ich habe einfach einen string mitgeloggt, diesen in die serielle console kopiert, mit dollar zeichen versehen und abgeschickt. Wichtig ist, das das erste byte die länge angibt.
Man sieht dann schön das man von der zentrale die ACKs bekommt.
Beispiele kommen morgen.
Viele grüße
Horst

betateilchen

$0C $5b $86 $70 $1C $CA $12 $00 $00 $00 $00 $E0 $3B

ergibt im Eventmonitor:


2013-08-09 20:49:50.345 CUL_HM out_Balkon temperature: 22.4
2013-08-09 20:49:50.345 CUL_HM out_Balkon humidity: 59
2013-08-09 20:49:50.345 CUL_HM out_Balkon T: 22.4 H: 59 D: 14.0
2013-08-09 20:49:50.345 CUL_HM out_Balkon dewpoint: 14.0


das ist doch schon mal was :)

Jetzt habe ich ein HM-Device angelegt:


Internals:
   CFGFN      
   DEF        FEFEFE
   EVENTS     1
   HMUSB_MSGCNT 3
   HMUSB_RAWMSG EFEFEFE,0000,09537E2A,FF,FFC3,5B8670FEFEFE00000000E03B
   HMUSB_RSSI -61
   HMUSB_TIME 2013-08-09 20:55:33
   IODev      HMUSB
   LASTInputDev HMUSB
   MSGCNT     3
   NAME       arduino
   NR         1885
   STATE      ???
   TYPE       CUL_HM
   lastMsg    No:5B - t:70 s:FEFEFE d:000000 00E03B
   protLastRcv 2013-08-09 20:55:33
   rssi_at_HMUSB avg:-61 min:-61 max:-61 lst:-61 cnt:3
   Readings:
     2013-08-09 20:55:32   noReceiver      src:FEFEFE 8670 00E03B
   Helper:
     mId        003D
     rxType     1
     Respwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_hmusb:
         avg        -61
         cnt        3
         lst        -61
         max        -61
         min        -61
Attributes:
   expert     2_full
   model      HM-WDS10-TH-O
   peerIDs    


und die Bytefolge - mit geänderter Adresse natürlich - ergibt:

2013-08-09 20:55:32.747 CUL_HM arduino noReceiver: src:FEFEFE 8670 00E03B
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

Sehr Cool was hier so passiert.

Ich habe noch ein paar BMP180 hier rumliegen.
dann gibt es ja vielleicht bald einen Lufttrucksensor für Homematic.
Da müsste ich ja gleich mal ein Layout machen :)

Gruß
Dirk

betateilchen

Zitat von: Dirk schrieb am Fr, 09 August 2013 20:56Da müsste ich ja gleich mal ein Layout machen :)

Mach mal...

Ein Arduino Shield mit

- Footprints für die beiden möglichen Homematic Sendemodule
- für Deinen Luftdrucksensor
- für ein EEPROM
- für 3-polige Header zum Aufstecken für weitere Senosren an die verbleibenden Analogeingaänge

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

Dirk

ZitatFootprints für die beiden möglichen Homematic Sendemodule
zwei? hab ich was verpasst?
Ich kenne nur das TRX01. Oder meinst du das China-Teil?

ZitatEin Arduino Shield mit
Ihh. Irgendwie hab ich bisher ne Abneigung gegen die Arduinos. Aber für die Freunde des Arduino mach ich auch eine Arduino-Version.

Zitatfür ein EEPROM
DIL oder TSSOP-8?

Wieviel kb belegt der Code denn aktuell im AVR?

Der nicht-Arduino-Version würde ich auch den USART nach aussen führen damit man darüber ggf. einfach die Firmware tauschen kann, ohne einen eigenen eigenen Brenner zu haben.

betateilchen

Zitat von: Dirk schrieb am Fr, 09 August 2013 21:24
ZitatFootprints für die beiden möglichen Homematic Sendemodule
zwei? hab ich was verpasst?

In den Homematic Geräten gibt es zwei verschiedene Sendemodule.

- kurz, breit und einreihige Stiftleiste im 2.0mm Raster
- lang, schmal und zweireihige (2x4) Stiftleiste im 2.54mm Raster

(https://github.com/ccier/openhm/wiki/images/trx868_bot.png)

Quelle und Beschreibung: https://github.com/ccier/openhm/wiki/Trx868

Natürlich sind die Pinbelegungen bei beiden auch noch anders.

Ich hatte hier heute ein zweireihiges, drum hat das prima auf ein Prototype-Shield gepaßt

(http://up.picr.de/15442607cn.jpg)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

Achso, die beiden.
Ja. Jetzt müsste man die Dinger nur noch einzeln bekommen. Jedesmal einen Fensterkontakt dafür schlachten finde ich bissl schade. Auch wenn das nur der Bausatz ist.

Obwohl in das Gehäuse könnte man vielleicht gleich einen Sensor einbauen.
Kannst du mal schauen wie Groß der Code als Hexfile aktuell ist. Würde mich mal interessieren ob ein Atmega 32 ausreicht.