Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

frank

hallo trilu,

ich versuche gerade der alternativen firmware für den sw1pbu-fm das sensor_event beizubringen. dazu habe ich mir deine umsetzung in der newasksin-library (trigger41) kopiert und angepasst. dabei sind mir ein paar fehler bei den vergleichen aufgefallen (fälle 0,1,4,5). jedes "msgVal > ..." müsste in "msgVal >= ..." geändert werden. ausserdem sollte es im fall 5 (outS) eine oder-verknüpfung sein.


// X GE COND_VALUE_LO                         - geLo -  >= low              - 0
// X GE COND_VALUE_HI                         - geHi -  >= high             - 1
// X LT COND_VALUE_LO                         - ltLo -  < low               - 2
// X LT COND_VALUE_HI                         - ltHi -  < high              - 3
// COND_VALUE_LO LE X LT COND_VALUE_HIGH      - betW -  low <= X > high     - 4
// X LT COND_VALUE_LO OR X GE COND_VALUE_HIGH - outS -  < low or >= high    - 5

//dbg << "curStat: " << curStat  << ", isLng: " << isLng << ", val: " << msgVal  << ", cond: " << ctTbl << '\n';

if      (ctTbl == 0) if (msgVal >= l3->ctValLo) trigger40(isLng, msgCnt);
else if (ctTbl == 1) if (msgVal >= l3->ctValHi) trigger40(isLng, msgCnt);
else if (ctTbl == 2) if (msgVal < l3->ctValLo) trigger40(isLng, msgCnt);
else if (ctTbl == 3) if (msgVal < l3->ctValHi) trigger40(isLng, msgCnt);
else if (ctTbl == 4) if ((msgVal >= l3->ctValLo) && (msgVal < l3->ctValHi)) trigger40(isLng, msgCnt);
else if (ctTbl == 5) if ((msgVal < l3->ctValLo) || (msgVal >= l3->ctValHi)) trigger40(isLng, msgCnt);


gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

trilu

oh, danke. ja mit den msgval's habe ich mich noch nicht viel gespielt
viele grüße
trilu

Maxl

Hallo,

interessantes Projekt, habe mir deshalb heute Arduino 1.6.4 installiert und auch die ASKIN-Library vom https://github.com/trilu2000/AskSin (ftp://github.com/trilu2000/AskSin) herunterladen. Wie beschrieben unter D:\Program Files\Arduino\libraries\AskSinmaster\.. entpackt. Dann versucht die Besipiele aufzurufen, leider kommt dann immer die Fehlermeldung


In file included from HM_LC_Sw1_Pl.ino:4:0:
Register.h:1:24: fatal error: AskSinMain.h: No such file or directory
#include <AskSinMain.h>
                        ^
compilation terminated.
Fehler beim Kompilieren.


Habe schon mehrfach hin und her kopiert, die Files werden aber nie gefunden.   :(
Kann mir jemand schnell mal auf die Sprünge helfen.
Danke
FHEM auf Raspberry mit HM, HMC und AVR Netios.

wirfman

Zitat von: Maxl am 21 Mai 2015, 16:49:33
https://github.com/trilu2000/AskSin (ftp://github.com/trilu2000/AskSin)
Es gibt mittlerweile unter https://github.com/trilu2000/NewAskSin eine überarbeite Version, ist aber egal, die alte funktioniert grundsätzlich auch

Zitat von: Maxl am 21 Mai 2015, 16:49:33
D:\Program Files\Arduino\libraries\AskSinmaster\..
Bitte entferne das "-master", das macht GitHub dahin, weil man sonst die Branches nicht unterscheiden könnte

Maxl

Hallo,

ich habe mir die neue Version unter https://github.com/trilu2000/NewAskSin (ftp://github.com/trilu2000/NewAskSin) heruntergeladen, die funktioniert wie beschrieben, Askinnew_Test ohne Fehler kompiliert. Anschliessend hätte ich das Tasterprojekt HM_LC_Sw1_PI kompilieren wollen, dafür aus dem alten Example Verzeichnis ins neue kopiert, gleiche Fehlermeldung wie vorher. Im testprojekt wird aber wie ich es verstehe keine Asksin.h includiert.

Gruß
FHEM auf Raspberry mit HM, HMC und AVR Netios.

trilu

die beiden versionen sind nicht kompatibel. hin und her kopieren der beispiele kann nicht funktionieren.
im prinzip ist die newasksin besser, da ziemlich viele änderungen und erfahrungen aus dem ersten anlauf eingeflossen sind.
die newasksin müsste mit den beispielen auch soweit funktionieren. einzig es fehlt die key-class, damit ist das simulieren des hm schalters derzeit nicht möglich.

Maxl

Hallo,

ist irgendwo ein Beispiel für einen Taster mit Relais wie das HM_LC_Sw1_PI oder was mache ich mit der alten AskSin-Version falsch.

Danke
FHEM auf Raspberry mit HM, HMC und AVR Netios.

trilu

nein, in der neuen lib gibt es so ein beispiel noch nicht
du kannst dich aber am HM_LC_SW1_BA_PCB orientieren, eigentlich nichts anderes als der steckdosenzwischenschalter.

wirfman

#863
Für  ein THSensor-basierendes System an Homegear muss man die Event-ID in einem der beiden System zuschießen, ist die Event-ID absichtlich so gewählt oder einfach nicht aufgefallen, weil FHEM das egal ist?
Habe gerade nocheinmal in den Code geschaut und gesehen sendWeatherEvent exsiteriert, hat aber keinen Inhalt, man könnte ja erstmal die Funktion genau so aufbauen wie sendSensor_event, nur mit anderem mTyp

Jetzt muss ich nur noch lösen wie man weniger als alle 30 Sekunden sendet, siehe
Zitat von: wirfman am 16 Mai 2015, 22:59:45
EDIT: Kann es sein, dass das SendDelay von THSensor nicht funktioniert, wenn es größer als 32 Sekunden ist?

trilu

eigentlich dürfte es da keine limitierung geben, wieso möchtest du kleiner 30 sekunden senden?

wirfman

#865
Ich möchte weniger senden, also mehr als 30 Skeunden einstellen, aber bei 2*30 Sekunden geht es schon nciht mehr(siehe nächsten Post)

wirfman

Kommando zurück! Es lag an der Multiplikation für die Millisekunden >:(

lech

kurze Zwischenfrage:

ich möchte 2x HM_LC_SW1_BA_PCB mit verschiedenen Seriennummern an der CCU2 betreiben.
Wenn ich in der register.h in den Zeilen 7 und 11 "tlu1001235" mit beispielsweise "tlu1001237" überschreibe, dann kann ich das zweite Gerät (mit der 7) nicht mehr anlernen.
CCU2 erkennt die zweite Platine automatisch und steuert die beiden gleichzeitig. Muss die Seriennummer dann noch irgendwo geändert werden?
Danke

trilu

Es gibt zwei Variablen die du ändern musst. Die Seriennummer und die HMId. Die Seriennummer wird eigentlich nur zum Pairen verwendet. Die HMId bei jeder Kommunikation.

lech

Super, jetzt funktioniert es!  :D
Die Doku ist leider noch unvollständig und der Thread zu unübersichtlich geworden.
Wird es noch weitere Beispiele geben wie Taster oder Bewegungsmelder?
Danke Trilu.