Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

unimatrix

Hast du eine Antenne angeschlossen?

micky0867

Zitat von: Kuehmi am 25 November 2016, 11:29:02
Hat jemand noch eine Idee was ich überprüfen müsste, oder wo meine Fehler liegen könnte?

Warum nimmst du nicht einen nanoCUL oder <irgendwas>CUL als Sniffer?
Da ist doch praktisch schon alles drin.

Micky

micky0867

Heute wurde bei uns für 2 Stunden der Strom abgestellt. Mein HM_SEC_WDS hat sich danach scheinbar noch einmal gemeldet (Alive). Dann waren die Batterien zu schwach.
Zufall? Oder fängt der Sensor an zu pollen, wenn kein ACK kommt?

Gesendet von meinem Toaster.


0xFFFF

Ich bin nach langer Zeit mal wieder dazu gekommen, mich mit dem Thema zu beschäftigen. Mein Ziel ist es den HM-LC-RGBW-WM nachzubauen.

Mal zum grundsätzlichen Ansatz, wenn ich "neue" (im Sinne von bis jetzt noch nicht von trilu umgesetzten) devices erstellen will.Ich blicke durch den dataflow von Nachricht empfangen bis zur Funktionsausführung einfach nicht durch...

Kann mir mal jemand kurz erläutern, was ich alles anpassen/neu erstellen muss? Ich hoffe das kommt jetzt nicht so rüber als hätte ich es selber noch gar nicht versucht, weil ich wirklich keine konkrete Frage stellen kann, aber wie gesagt fehlt mir einfach der Ansatz :(

0xFFFF

Ok, ich versuche mal etwas konkreter zu werden...
Ausgehend von dem Beispiel, gibt es ja zunächst die ino datei, in der die eigentliche Funktionalität umgesetzt wird. Im switch-beispiel die cmSwitch::initSwitch und cmSwitch::switchSwitch. Dort würde jetzt die Ausgabe der PWM Signale rein kommen.
Ich kann jetzt aber keine bestehenden cm-Module übernehmen, sondern muss ein eigenes schreiben, in dem auch die Message behandelt wird? Das wird dann in ptr_CM[] initialisiert.
Ist das soweit richtig?

Außerdem blicke ich noch nicht so ganz, wie das mit den message strukturen gemacht wird. Einmal sind in der register.h ja die messages definiert, in der cmSwitch.h sind aber auch schon definitionen.
Kann mir dazu noch jemand genaueres sagen?

micky0867

Auf der Suche nach einem geringeren Stromverbrauch (derzeit ca. 0.7 mA), bin ich (wie auch schon Dietmar63) auf SLEEP_MODE_PWR_DOWN gestossen.
Wenn dieser aktiviert wird, sinkt der Verbrauch auf 0.004 mA!

In der Power.h ist der entsprechende Aufruf bereits vorgesehen, aber auskommentiert....

@trilu
Gibt es einen besonderen Grund dafür?
Außer der Tatsache, dass getMillis() beeinflusst wird, was bei meinen Sensor aber egal ist.

Micky

ahlermi

Hallo Arduino Gemeinde,

ich habe mir eine CC1101 am Arduino angeschlossen und kann erfolgreich mit FHEM kommunizieren (Beispiel HM_LC_Bl1_SM), leider kommen die driveUp und driveDown Kommandos nicht durch, es bleibt bei reading "R-driveUp set_14 s".

Ist im Beispiel der Bestätigungsbutton vergessen worden? Pin 8 gegen GND bringt nur versenden von FW Version und HMID.

https://forum.fhem.de/index.php?topic=66987.msg595653#msg595653

Bitte um Hilfe!

Gruß ein völlig verzweifelter Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

ahlermi

OK, ich konnte das Rätsel mit den Registern jetzt selbst lösen, leider scheint die cmBlind.cpp aber nicht auf die driveDown und driveUp Werte zu reagieren.

set  HM_51F669 pct 40

Zack, 40. sofort.

Gruß Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

micky0867

Hallo,
   woher weiß dein Aktor jetzt, wo 40% sind?

Micky

Gesendet von meinem ONEPLUS A3003 mit Tapatalk


ahlermi

wird ja normalerweise anhand der driveUp und driveDown Zeit berechnet.

driveUp 26s -> Rollade brauch 26 Sekunden um hoch zu fahren wenn ganz geschlossen, fährt man also auf 50% sind das 13 Sekunden.

Das macht der Aktor selbstständig, dummerweise zählt der Sketch nicht richtig, das Ergebnis ist sofort drin.

Gruß Michael
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

ahlermi

Vermutlich liegt es an der cnlTbl,

wie setzt sich das pAddr zusammen? der Rest war relativ Logisch:


EE::s_cnlTbl cnlTbl[] = {
    // cnl, lst, sIdx, sLen, pAddr, hidden
    { 0, 0, 0x00,  6, 0x001f, 0, },
    { 1, 1, 0x06, 13, 0x0025, 0, },
    { 1, 3, 0x12, 29, 0x0029, 0, },
};  // 21 byte



const uint8_t cnlAddr[] PROGMEM = {
    0x02,0x0a,0x0b,0x0c,0x15,0x18,
    0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x30,0x57,0x56,0x00,
    0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0f,0x11,0x1c,0x1d,0x1e,0x1f,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,
};  // 48 byte
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

trilu

Hallo Zusammen,

mal wieder ein kleines Update von mir. Hatte gar keine Benachrichtigung bekommen, dass hier was geschrieben wurde - komisch...
Mittlererweile ist die Newasksin doch etwas vorangeschritten und der Dimmer und WM55 6 Kanal Taster im DevAES branch funktionieren ganz gut. Der Taster auch mit AES, den Dimmer habe ich mit AES noch nicht getestet.
Die einzige größere Baustelle ist noch das PowerManagement.

Der Aufbau der Lib hat sich komplett geändert und damit auch die Register.h. Schaut einfach mal in das Example: HM_LC_Dim1PWM_CV
Das wäre auch die Basis für den RGB Dimmer. Zumindest für den ersten Kanal.
Im Dimmer Example funktionieren auch die virtuellen Kanäle, etc - Hab das Ding gerade mit Powerleds im Testbetrieb und möchte mehrere Lampen im Haus demnächst damit ausstatten.

Für Eigenentwicklung von Modulen muss man in Zukunft eigentlich nur noch eine .h und .cpp (siehe cm_remote und/oder cm_dimmer) erstellen und die register.h anpassen. Statusmeldungen und restliche Kommunikation sollte per Default funktionieren.

Eingefügt werden dann die Channels in der register.h:
/*
*  @brief definition of the device functionallity per channel
*/
CM_MAINTENANCE cm_maintenance(0); //   24 byte flash, 124 byte sram
CM_DIMMER cm_dimmer1(10, 0, 0); // 7332 byte flash, 330 byte sram - further 256 byte flash, 173 byte sram
CM_DIMMER cm_dimmer2(2, 1, 0);
CM_DIMMER cm_dimmer3(2, 2, 0);

CM_MASTER *cmm[4] = {
&cm_maintenance,
&cm_dimmer1,
&cm_dimmer2,
&cm_dimmer3,
};



In cm_dimmer kann man auch die State Machine relativ gut sehen, die müsste sich auch für Schaltkanäle und den Blind eignen.
Wie gesagt, momentan bin ich noch an der HW für den Dimmer am basteln, wenn das soweit klappt kümmere ich mich um den Blind sketch und das Power Management...

Doku ist natürlich immer noch Mangelware :-))))))
Viele Grüße
Horst



ahlermi

Ist es möglich eine Klasse für einen Microsekunden Waittimer zu bauen?

Das wäre für eine Lüftersteuerung eines PC Lüfters notwendig.

https://forum.fhem.de/index.php/topic,69079.0.html
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

ahlermi

Hallo Horst,

ich habe mir den cm_dimmer angesehen, leider habe ich mit dem Branch DevAES so meine Probleme.

Für die Arduino WEB IDE musste ich einige Dateien mit Groß und Kleinschreibung anpassen, Dateien hießen anders als im Quellcode und eine wurde sogar mit groß und klein angesprochen, da musste ich den Quellcode ändern.
Der Native Editor wirft mit noch mehr fehlern um sich z.B. Bindestriche in Dateinamen sind nicht erlaubt, womit entwicklest du?

Gruß Michael

PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

micky0867

In der "normalen" (also nicht Web) Arduino-IDE habe ich noch keine Probleme mit Bindestrichen gehabt.
Das not-case-sensitive kommt wohl von Windoof äääh... Windows

Micky