Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

Frank_S

Hallo,

brauche eure Hilfe. Ich möchte eine alte Wetterstation mit dem Universalsensor auf homematic umrüsten. Das Ganze soll wie eine HM-WDS100-C6-O funktionieren.

http://www.fhemwiki.de/wiki/HM-WDS100-C6-O_Funk-Kombi-Sensor_OC3

Könnt Ihr mir bei der Definition der register.h helfen? Wie bekomme ich die verschiedenen Werte in die payload?
Ganz super wäre es, wenn ich ein Beispiel bekäme, bei dem z:b. Temperatur, Luftdruck als Konstanten verschickt werden. Anpassen an die verschiedenen Sensoren
und den Regenmengenmesser würde ich mir zutrauen, aber wie die register.h aussehen muß bekomme ich nicht hin (-> Parameterliste).
Als Entwicklungssystem verwende ich einen Arduino Mini mit der newAsksin Library. Die Firmware wird dann über ein FTDI Modul auf den Arduino geladen.

Danke für dei Hilfe

Frank

kadettilac89

Zitat von: Tom71 am 26 September 2016, 20:59:55
Ja, hier ist mein Flash-Workflow:

  • Kompilieren des Bootloaders mit der Änderung der Serial und HM-ID in devices/HB-UW-Sen-THPL.h
  • make clean HB_UW_Sen_THPL -> Bootloader-AskSin-OTA-HB_UW_Sen_THPL.hex
  • Dann flashen des OTA-Bootloaders mit meinem Raspi:
    .....
Hallo Tom71, habe vergessen mich zu bedanken! Komme aktuell nicht dazu und mein Prototyp läuft auf dem Breadboard. Werde mich im Winter mal näher damit befassen. Aber dennoch schon jetzt ... danke![/list]

micky0867

Hallo,

Ich suche nach einer Möglichkeit,  meinen NewAskSin-Sketch im Powermode 3 zusätzlich per Interrupt aufzuwecken. Aber ich verstehe einfach nicht, an welcher Stelle ich ansetzen muss.
Kann mir jemand eine kleine Starthilfe geben?

Micky


Gesendet von meinem MD_LIFETAB_P9516 mit Tapatalk


papa

Zitat von: Frank_S am 12 Oktober 2016, 18:32:10
Hallo,

brauche eure Hilfe. Ich möchte eine alte Wetterstation mit dem Universalsensor auf homematic umrüsten. Das Ganze soll wie eine HM-WDS100-C6-O funktionieren.

Bei der NewAskSin kann ich nicht wirklich helfen, aber ich habe ein entsprechendes Beispiel in meiner Reimplementierung aufgenommen. Siehe

https://forum.fhem.de/index.php/topic,57486.0.html

Vielleicht ist das ja was für Dich.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

trilu

Hallo Zusammen,

wollte mich mal wieder melden. Ich habe in der letzten Zeit ziemlich viel an der NewAskSin gebastelt und einige Vorschläge/Kritikpunkte aufgegriffen.

Die NewAskSin benötigt jetzt kein destillregs mehr, wobei das nicht ganz stimmt - destillregs wird in Zukunft das entsprechende XML file für die CCU oder Homegear generieren :-)
Ich habe das fastdellegate für die channel module durch variable Klassen ersetzt. cmMaster macht das Kanalhandling und kann von eigenen Klassen überschrieben werden.
Alle Parameter für die verschiedenen Listen werden von der Software selbst generiert, so dass es die Rechnerei in der Register.h nicht mehr gibt.
Die verschiedenen HM Nachrichten sind als Structs abgebildet, so das man auf Parameter in der Nachricht direkt zugreifen kann.

Wer Lust hat es sich mal anzuschauen findet die Änderungen im DevAES Zweig - das derzeit funktionierende Beispiel ist HM_LC_SW1_BA_PCB.
Ist aber noch einiges zu tun - AES muss ich noch überarbeiten, die Sendefunktion an alle Peers wird noch angepasst und einige Funktionsaufrufe zum channel Modul gefallen mir auch noch nicht.

Ich werde bei Gelegenheit die Doku anpassen um das Zusammenspiel der Module und Structs zu erklären. Vielleicht finden sich ja noch ein paar Mitstreiter um am Code zu arbeiten. Ich denke die neue Struktur ist zukunftstauglich und eine gute Basis für viele verschiedene Channel Module. Am Ziel hat sich nichts geändert, ich hätte gerne eine Oberfäche zum Zusammenklicken von einem Device mit verschiedenen Modulen/Funktionalitäten, bekomme ein paar Dateien zum Aufspielen auf den Arduino und für FHEM/CCU/Homegear und kann das Device verwenden...

Liebe Grüße
Horst


micky0867

Hallo,

ich habe jetzt meinen HM_SEC_WDS Eigenbau auf die NewAskSin umgestellt.
Alles läuft soweit, inklusive des PCINT und mit den Registern scheint mir auch alles gut zu sein.

Allerdings hat mich jetzt doch der Ergeiz gepackt und ich will wissen, was ich mit den Registern noch anstellen kann/muss.
Das mit dem destillregs.pl scheint zu funktionieren.
Jetzt habe ich Register, die ich vermutlich auch irgendwie aus dem Code adressieren könnte...wenn ich verstehen würde wie  :(
Ich müsste doch z.B. im Programmcode mitkriegen, wenn, sagen wir, bei einem Bewegungssensor ein Brightnessfilter gesetzt würde, damit ich diesen dann beim Erzeugen eines Alarms berücksichtigen kann.

Also:
Hat jemand einen Tipp, wie der Zugriff auf die Register funktioniert?

Micky

unimatrix

Hallo trilu,

unglaublich dass du immer noch an der NewAskSin dran bist. Ich habe ja damals auch intensiv da rumprobiert mit meinen eigenen Devices aber als dann so das lief, was ich selbst dringend brauchte, hab ich mich lang nicht mehr damit beschaeftigt. Habe immer noch einige der Aufputz Schaltaktoren mit Taster und auch einen panstamp mit 8 Relais zur Steuerung meiner Fussbodenheizung. Das aber alles noch basierend auf der "Old AskSin"...ich hoffe ich habe bald Zeit mir mal den Stand anzusehen! Find ich toll dass es da noch weiter geht.

Ich wollte ja damals so gerne auch den Dimmer umsezten aber bei der 230V Version bin ich dann doch etwas zurueckhaltend da man dann ja die Phasenerkennung usw. alles selbst machen muss. Bugs könnten da im Worst Case zu Brandentwicklung fuehren...

trilu

Zitat von: micky0867 am 20 Oktober 2016, 21:46:37
Jetzt habe ich Register, die ich vermutlich auch irgendwie aus dem Code adressieren könnte...wenn ich verstehen würde wie  :(
Ich müsste doch z.B. im Programmcode mitkriegen, wenn, sagen wir, bei einem Bewegungssensor ein Brightnessfilter gesetzt würde, damit ich diesen dann beim Erzeugen eines Alarms berücksichtigen kann.

Vom Grundsatz kümmert sich die Lib um die Listen - d.h. Du musst nur die Aktionen festlegen, was mit den Werten passieren soll.
Schau Dir mal im letzten commit im DevAES das Beispiel der PCB an. In cmSwitch.h/cpp siehst Du das Struct, das ich über die Werte lege
Und in der poll, was ich dann damit mache...


0xFFFF

Hallo zusammen!
Erstmal möchte ich einen dicken Lob und ein großes Danke für die lib da lassen! Echt klasse, dass sich schon mal jemand die Mühe gemacht hat.

Ich bin gerade dabei mich ein bisschen in den Code einzuarbeiten und versuche erstmal das HM_LC_SW1_BA_PCB Beispiel aus dem devAES zum Laufen zu kriegen.
Auch wenn ich mir etwas blöd vorkomme bei der Frage, aber wie sieht es eigentlich auf der Hardwareseite aus? :D Wie zB verkabel ich den config key, damit das pairing überhaupt funktioniert? Gibt es irgendwo ein Schatplan von dem ganzen Gerät?

trilu

Danke für das Lob!
Das Hardware Setup findest Du im jeweiligen Example Ordner - Beim 328p ist die Peripherie so definiert:
//- cc1100 hardware CS and GDO0 definitions -------------------------------------------------------------------
#define CC_CS                  PIN_B2 // chip select
#define CC_GDO0                PIN_D2 // GDO0 pin, identify data received on falling edge
#define CC_MISO                PIN_B4 // SPI port MISO
#define CC_MOSI                PIN_B3 // SPI port MOSI
#define CC_SCLK                PIN_B5 // SPI port Clock


//- LED's definition ------------------------------------------------------------------------------------------
#define LED_RED                PIN_D6 // define the red led pin port
#define LED_GRN                PIN_D4 // define the green led
#define LED_ACTIVE_LOW         0 // leds connected to GND = 0, VCC = 1


//- configuration key  ----------------------------------------------------------------------------------------
#define CONFIG_KEY             PIN_B0 // define the config key pin port

0xFFFF

Ja, das hatte ich gesehen...aber wie schalte ich den key jetzt? Gegen vcc oder gegen masse?

Den Ausgang für den Schalter habe ich inzwischen gefunden, hatte völlig übersehen dass der PIN_D3 ja in den userfunctions unten definiert wird ::)

trilu


0xFFFF

Ich bin endlich mal zum Testen gekommen und konnte problemlos pairen und den Aktor schalten.
Besten Dank nochmal!

lech

kurze Frage: beim Sketch HM_PB_6_WM55 verlangt er nach "fatal error: cmRemote.h: No such file or directory"
Wo finde ich eigentlich die Library "cmRemote"?
Danke im Voraus

Kuehmi

Hallo,

erstmal Danke für die vielen Informationen hier im Forum. Ich sitze nun schon eine Weile an meinem Aufbau und komme nicht so recht weiter.

Was habe ich vor?
Ich möchte im ersten Schritt einfach einen kleinen "Sniffer" bauen. Mit der AskSin ist dafür im Prinzip alles fertig - wovon ich erstmal begeistert bin.

Da ich leider keinen TRX868 TI mehr aufgetan habe (nur SI), habe ich ein CC1101 mit 868 MHz angeschlossen. Die Konfiguration mit dem CC1101 funktioniert und meldet zum Schluss auch "ready" zurück.
Ich habe auch alle Debug-Anzeigen eingeschaltet. Wenn ich nun eine Homematic-Komponente in das Paring versetzte hätte ich nun in den Debugausschriften zu mindestens irgendwas erwartet (Anzeige der Roh-Daten). Da ich nichts gesehen habe, habe ich zunächst den Interrupt überprüft und die Prüfung auf Daten des CC1101 ins Polling geschaltet (er fragt also immer, ob Daten vorhanden sind) und lasse mir die empfange Datenanzahl anzeigen.
Leider liest er nie Daten vom CC1101 aus - er meldet immer Null Bytes vorhanden. Es scheint so, als ob er per 868 MHz keine Daten empfängt oder ich (das erwarte ich) was falsch gemacht habe.
Die Register vom CC1101 kann ich allerdings problemlos auslesen - daher schließe ich weiterhin eine fehlerhafte Kommunikation zwischen Arduino und CC1101 aus.

Hat jemand noch eine Idee was ich überprüfen müsste, oder wo meine Fehler liegen könnte?

Vielen Dank im Voraus.

LG
Kühmi