Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

trilu

Hi Carsten,

hat ja keiner vor, dich doof sterben zu lassen - ich denke so alt bist du noch nicht, das für Erklärungen keine Zeit mehr ist :-)
Es gibt einiges an Doku, aber eben nicht gesammelt.
In der Anfänger Doku FHEM gibt es ein riesen Kapitel zu HM, das ist schon mal ganz hilfreich um Kanäle, Register und deren Settings zu verstehen.
Bei Homegear gibt es auch einiges an Doku zur Kommunikation zwischen Zentrale und Devices.

Ich will mich ja schon seit langem an die Doku für AskSin setzen, aber es kommen immer wieder andere Dinge dazwischen...
Z.b. bastle ich gerade an der destillregs.pm wieder rum. Derzeit erzeugt die destillregs nur die register.h settings. Die sind aber nur für das Device.
Ich möchte in Zukunft noch ein xml file generieren, dass die user-defined Devices dann Homegear oder der CCU bekannt macht.

Momentan ist es am Einfachsten sich an die examples zu halten, die funktionieren so weit schon ganz gut, nächster Schritt ist es dann, wenn die
neue destillregs funktioniert, komplett neue Devices zusammen zu stellen.

Viele Grüße
trilu

volker.m

Hallo,

ich möchte mich bei der Gelegenheit auch noch mal in Erinnerung bringen. Zum Glück muß ja hier keiner doof sterben.
Ich habe bisher mit FHEM alles Mögliche versucht um z.B. den Dimmer mit irgendeinem x-beliebigen Wert einzuschalten, er fährt aber prinzipiell immer wieder auf Null zurück. Bei set on geht der Dimmer auf Einhundert Prozent und bleibt dort. Auf ein Hochdimmen folgt immer sofort oder nach einer eingestellten Zeit ein Runterdimmen. Der Slider in der FHEM-Oberfläche suggeriert einem daß man den Dimmer auf irgendeinen Wert zwischen Null und Einhundert Prozent einstellen kann. Macht man das wird in den Readings z.B.set_50 angezeigt, kurz darauf geht level wieder auf Null bzw. state auf off.

Volker

Carsten

#842
Zitat von: trilu am 29 Januar 2015, 17:49:59
Hi Carsten,

hat ja keiner vor, dich doof sterben zu lassen - ich denke so alt bist du noch nicht, das für Erklärungen keine Zeit mehr ist :-)
Hach... Danke!  ;)

Zitat von: trilu am 29 Januar 2015, 17:49:59
In der Anfänger Doku FHEM gibt es ein riesen Kapitel zu HM, das ist schon mal ganz hilfreich um Kanäle, Register und deren Settings zu verstehen.
Bei Homegear gibt es auch einiges an Doku zur Kommunikation zwischen Zentrale und Devices.

Ich will mich ja schon seit langem an die Doku für AskSin setzen, aber es kommen immer wieder andere Dinge dazwischen...
Z.b. bastle ich gerade an der destillregs.pm wieder rum. Derzeit erzeugt die destillregs nur die register.h settings. Die sind aber nur für das Device.
Ich möchte in Zukunft noch ein xml file generieren, dass die user-defined Devices dann Homegear oder der CCU bekannt macht.


Die Anfänger-Doku kenne ich. Hab gerade extra nochmal reingeschaut, aber dazu finde ich nichts.
Zu behaupten, dass ich den Arduino-Teil der Asksin-Lib verstanden habe, wäre gewaltig übertrieben, aber ich habe eine ungefähre Ahnung, was sie macht.
Was ich in erster Linie versuche herauszufinden, ist, wie man ein Gerät, das Protokollmäßig nicht 1:1 einem existierenden entspricht, in FHEM bekannt macht.
Wenn ich mir z.B. die HMConfig_SenTHPL.pm von Dirk anschaue, scheint es ja Funktionen zu geben, die die Definitionen da von der Seite aus reinschießen ( "culHmModel" oder "culHmRegModel" ).
Ich finde aber nirgends eine Erklärung, wie das zu benutzen ist und ich weiß auch nicht, nach welchem Stichwort ich dafür suchen soll. Wenn ich nach den beiden Stichworten suche, finde ich nur Detailfragen und Antworten, aber soweit möchte ich überhaupt erstmal kommen.

*edit*
Im Wiki habe ich diesen vielversprechenden Eintrag gefunden, der aber leider unvollendet zu sein scheint.

Viele Grüße

Carsten

P.S.: So oder so: Vielen Dank für diese Lib. So viele Möglichkeiten tun sich auf. ( Wenn man es denn verstanden hat )

frank

ZitatWenn ich mir z.B. die HMConfig_SenTHPL.pm von Dirk anschaue, scheint es ja Funktionen zu geben, die die Definitionen da von der Seite aus reinschießen ( "culHmModel" oder "culHmRegModel" ).
das sind funktionen von martin. siehe 10_cul_hm.pm. dazu hmconfig.pm. sie dienen irgendwie dazu, die devices in cul_hm zu definieren.
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

PeterS

Hallo Trilu

In der NewAskSin gibt es die Konsolen-Commandos nicht mehr ?!
Wäre es nicht sinnvoll diese analog zu den Debuginfos zu bei Bedarf aktivieren.

Somit braucht für man für Tests z.B. nicht immer den Config-Taster um zu pairen  ;)

Gruss Peter

Legende Available commands:
  p                - start pairing with master
  b[0] b[n] s      - send a string, b[0] is length (50 bytes max)

  i[0]. i[1]. e    - show eeprom content, i[0]. start address, i[1]. length
  i[0]. b[1] f     - write content to eeprom, i[0]. address, i[1] byte
  c                - clear eeprom complete, write 0 from start to end

  t                - gives an overview of the device configuration

  $nn for HEX input (e.g. $AB,$AC ); b[] = byte, i[]. = integer

Moebiu5

Wollte nur mal kurz nachfragen wegen dem Beispiel, wo ein Taster und ein Dimmer gleichzeitig auf einem Arduino laufen.
Geht das noch nicht, oder war bisher nur keine Zeit für das Beispiel?

Danke!

Mathea

#846
Hallo,

da ich auch großes Interesse am Bauen von custom Homematic Devices hätte, möchte ich mich der Frage anschließen. Wird noch an der Library gearbeitet?

Gruß,
Mathea

trilu

Klar wird noch an der Lib gearbeitet, nur leider mit zu wenig Zeit. Dirk hat in der letzten Woche noch Einiges zur HAL beigetragen und strukturiert. Ich bastle zur Zeit wieder mal an der destillRegs, mit der dann Gerätekonfigurationen möglichst einfach erstellt werden sollen. Dimmer und Relay Beispiele müssten funktionieren, der Sensor bedarf noch etwas Arbeit. Danach folgt der Schalter. Ab dann sollten auch alle möglichen Kombinationen gehen.
Viele Grüsse
Horst

Mathea

Top :) vielen Dank für die ganze Arbeit, die ihr reinsteckt. Das ist bemerkenswert!

daschauher

Hallo,

Ich möchte mir mittels Ultraschall eine Füllstandsanzeige für meine Zysterne basteln. Bis jetzt hätte ich das mit nem Raspi und ner 2ten Fhem Instanz geplant gehabt. Das würde aber auch bedeuten das ich Kabel verlegen muss und irgendwo einen größeren Kasten benötige wo ich alles rein packen kann.
Wenn ich mir euere Arbeit hier so ansehen und wenn ich es richtig verstehe,  könnte ich mir vielleicht das gleiche mit einem Arduino mit Batterie Betrieb (ohne Kabel) in Viel kleiner bauen.
Sehe ich das richtig so oder liege ich total daneben?  Bzw. Könnt ihr etwas schätzen wann es evtl soweit sein könnte,  dass man eigene HM Komponenten kreieren kann?
Sorry falls die frage blöd ist,  aber ich finde das genial was ihr hier auf die Beine stellt. Und wenn es noch ein Jahr dauert würde ich vermutlich auch gerne darauf warten bevor ich Kabel ziehe. ..

Viele Grüsse
Markus

thebeater

Hallo Zusammen,

zu allererst möchte ich mich für die sehr umfangreiche Arbeit bei den Entwicklern bedanken und möchte mich zukünftig hier auch mit einbringen.

Leider bleibe ich derzeit an einer Fehlermeldung hängen, die definitiv nicht schwer zu lösen ist, doch ich komme nicht drauf.
Aktueller Library Stand ist die NewAskSin-Library, die unter:

▸ Dokumente ▸ Arduino ▸ libraries ▸ NewAskSin

liegt.

Beim öffnen des Sketches und kompilieren kommt die Fehlermeldung:

In file included from hardware.h:9:0,
                 from hardware.cpp:9:
/Users/CZ/Documents/Arduino/libraries/NewAskSin/HAL.h:76:27: error: 'Print' does not name a type
  template<class T> inline Print &operator <<(Print &obj, T arg) { obj.print(arg); return obj; }
                           ^
/Users/CZ/Documents/Arduino/libraries/NewAskSin/HAL.h:85:9: error: 'Print' does not name a type
  inline Print &operator <<(Print &obj, const _HEXB &arg) { obj.print(hiHexB(arg.val)); obj.print(loHexB(arg.val)); return obj; }
         ^
In file included from hardware.h:9:0,
                 from hardware.cpp:9:
/Users/CZ/Documents/Arduino/libraries/NewAskSin/HAL.h:92:9: error: 'Print' does not name a type
  inline Print &operator <<(Print &obj, const _HEX &arg) { for(uint8_t i=0;i<arg.len;i++) { obj.print(hiHexB(arg.val[i])); obj.print(loHexB(arg.val[i])); if(i+1<arg.len) obj.print(' '); }; return obj; }
         ^
/Users/CZ/Documents/Arduino/libraries/NewAskSin/HAL.h:95:9: error: 'Print' does not name a type
  inline Print &operator <<(Print &obj, _eTIME arg) { obj.print('('); obj.print(getMillis()); obj.print(')'); return obj; }
         ^
Fehler beim Kompilieren.


Woran kann das liegen? ( nicht gefundene Library sollte ja als zusätzliche Fehlermeldung auftauchen?!?! )

Grüße
Christopher

gandy

Hi,

in HAL.h wird ein

#include "Print.h"

benötigt. Möglicherweise abhängig von der verwendeten Arduino-Version?

fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

wirfman

#852
Ich will einen Helligskeitsensor bauen. Habe mir Arduino 1.6.4 mit Panstamp-Patch geladen und die Lib aus dem Git. Custom_lux geöffnet und kompiliert, doch es will nicht, da Serial in der .ino und HAL nicht definiert sind, wenn ich SoftwareSerial einbinden, dann gibt es Konflikte :(


Warum vergisst diese Forum den Beitrag, wenn man angeblich die Rechenaufgabe falsch hat oder Zitronen nicht gelb sind

Hier nochmal die Fehlermeldung, falls nicht klar war wo:HM_Helligkeitssensor.ino:110:2: note: in expansion of macro 'dbg'
HM_Helligkeitssensor.ino: In function 'void measureTH1()':
arduino-1.6.4\libraries\NewAskSin/HAL.h:77:14: error: 'Serial' was not declared in this scope
  #define dbg Serial
              ^
HM_Helligkeitssensor.ino:119:2: note: in expansion of macro 'dbg'
HM_Helligkeitssensor.ino: In function 'void serialEvent()':
HM_Helligkeitssensor:128: error: 'Serial' was not declared in this scope
'Serial' was not declared in this scope

gandy

Hi, versuch mal, als Board den

Arduino Pro or Pro Mini (3.3V, 8MHz) w/ ATmega328

wählen, damit sollte alles tun. Die AskSin Library bringt ohnehin alles mit, was Du brauchst.

Grüße,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

wirfman

#854
Ohne Panstamp-Patch kompiliert es! Danke

EDIT: Kann es sein, dass das SendDelay von THSensor nicht funktioniert, wenn es größer als 32 Sekunden ist?