Arduino Asksin library

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

Vorheriges Thema - Nächstes Thema

jab

Moin Horst,

die Werte werden zyklisch gesendet nach einer bekannten Formel. Das ist nur wichtig wenn man den Sensor mit bekannten Geräten wie dem HM-CC-RT-DN peert. Kannst du alles 1:1 von FHEM übernehmen: http://forum.fhem.de/index.php/topic,17485.0.html

Was mir noch aufgefallen ist: Du killst deine git History andauernt. Ist das absicht? Macht es für andere schwer auf den Code aufzubauen, da man nicht rebasen kann.

Gibts schon was neues bzgl der Relay Klasse? Vorher kann ich meinen Code nicht umbauen.


Gruß,
Jan

trilu

ne, an der relay class bin ich gerade dran.
mit dem github kenne ich mich nicht besonders aus, hatte wieder mal probleme, bzw irgendwelche fehlermeldungen
und dachte mir, fang halt noch mal neu an :-)

sobald du darauf aufbaust verspreche ich, ihn nicht zu killen :-)
allerdings kann es dann sein, dass ich ab und an mal unterstützung brauche...

jjf

Zitat von: trilu am 02 Februar 2014, 18:57:18
ok, dann fang ich mal an ein sensor modul für temperatur zu stricken.
kann mir dafür jemand bitte die register liste auslesen?
in fhem auf das device gehen und get regList eingeben...

zusätzlich stellt sich mir die frage, werden die sensor werte zyklisch gesendet, oder nur nach änderung?
wie sieht so eine message aus?

viele grüße
horst

get regList:
list:         register | range              | peer     | description
   0: pairCentral      |   0 to 16777215    |          | pairing to central

Bei beiden Sensoren gleich.

2014-02-02_18:55:05 SolarkollektorTemperatur T: 10.2
2014-02-02_18:57:38 SolarkollektorTemperatur T: 10.2
2014-02-02_18:59:56 SolarkollektorTemperatur T: 10.1
2014-02-02_19:02:00 SolarkollektorTemperatur T: 10.1
2014-02-02_19:04:53 SolarkollektorTemperatur T: 10.1
2014-02-02_19:07:32 SolarkollektorTemperatur T: 10.1
2014-02-02_19:09:57 SolarkollektorTemperatur T: 9.9
2014-02-02_19:12:07 SolarkollektorTemperatur T: 9.9
2014-02-02_19:15:07 SolarkollektorTemperatur T: 9.7
2014-02-02_19:17:52 SolarkollektorTemperatur T: 9.7
2014-02-02_19:20:23 SolarkollektorTemperatur T: 9.7
2014-02-02_19:22:39 SolarkollektorTemperatur T: 9.6
2014-02-02_19:24:41 SolarkollektorTemperatur T: 9.6
2014-02-02_19:27:33 SolarkollektorTemperatur T: 9.4
2014-02-02_19:30:10 SolarkollektorTemperatur T: 9.4
2014-02-02_19:32:33 SolarkollektorTemperatur T: 9.2
2014-02-02_19:34:41 SolarkollektorTemperatur T: 9.2
2014-02-02_19:37:39 SolarkollektorTemperatur T: 9.1
2014-02-02_19:40:22 SolarkollektorTemperatur T: 9.1
2014-02-02_19:42:51 SolarkollektorTemperatur T: 8.9
2014-02-02_19:45:06 SolarkollektorTemperatur T: 8.9
2014-02-02_19:47:06 SolarkollektorTemperatur T: 8.7
2014-02-02_19:49:56 SolarkollektorTemperatur T: 8.7
2014-02-02_19:52:31 SolarkollektorTemperatur T: 8.6
2014-02-02_19:54:52 SolarkollektorTemperatur T: 8.6

Joachim

Porky666


list:         register | range              | peer     | description
   0: burstRx          |     literal        |          | device reacts on Burst options:on,off
   0: pairCentral      |   0 to 16777215    |          | pairing to central


Gesendet von meinem iPad mit Tapatalk HD
ODROID U3 1GB Ubuntu immer aktuell
FHEM immer das aktuellste Development
Defined modules:

COC; CULv3; HMLAN :HM-CC-SCD,HM-CC-TC,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-SCI-3-FM,HM-SEC-SC,HM-SEC-WIN,HM-WDS10-TH-O; ESA2000; FS20; HUEBridge; Huedevices; IT; JeeLink :PCA301 :panstamp:

trilu

#529
@jab
Die Formel ist:
#    int32_t result = (((_address << 8) | messageCounter) * 1103515245 + 12345) >> 16;
#   return (result & 0xFF) + 480;

Das Resultat sind die Anzahl der 250ms steps

damit wäre das timing geklärt, das ist easy zu implementieren...

wie sehen die messages aus. ich gehe davon aus, das wenn ein sensor kanal geppeert ist, 41 messages verschickt werden
also sowas:
  "41"          => { txt => "Sensor_event", params => {
                     BUTTON   => '00,2,$val=(hex($val)&0x3F)',
                     LONG     => '00,2,$val=(hex($val)&0x40)?1:0',
                     LOWBAT   => '00,2,$val=(hex($val)&0x80)?1:0',
                     NBR      => '02,2,$val=(hex($val))',
                     VALUE    => '04,2,$val=(hex($val))',} },

value ist klar, das ist die temperatur in 10tel
was ist NBR?

viele grüße
horst


sorry, sehe gerade es gibt noch eine 70'er message - die scheint besser zu passen
  "70"          => { txt => "WeatherEvent", params => {
                     TEMP     => '00,4,$val=((hex($val)&0x3FFF)/10)*((hex($val)&0x4000)?-1:1)',
                     HUM      => '04,2,$val=(hex($val))', } },

jab

Ja die Formel ist bekannt und in FHEM auch so implementiert. Funktioniert auch so. Habe ich mit meinen Sensor verifiziert.

Es gibt in der Tat verschiedene messages die man schicken kann. Martin hat dazu in dem verlinkten thread was geschrieben.


Gruß
Jan

trilu

#531
auf dem github gibts ein update - habe die relay klasse umgesetzt und funzt ganz gut!
https://github.com/trilu2000/AskSin

ist noch nicht ganz fertig, aber zum testen reicht es allemal.
ich möchte die relay klasse noch von "außen" schaltbar machen und der button klasse ein config flag mit delegate zur relay klasse mitgeben,
damit wäre dann das relay auch direkt schaltbar.
weiterhin fehlt in der relay klasse der trigger 41 - also die verbindung zu sensoren, aber auch das wird noch kommen.

aber zuerst fange ich jetzt mal mit dem temperatur und feuchtesensor an :-)

module basteln macht jetzt, wo der rest einigermassen geht,  richtig spass  8)

trilu

bin gerade am konzipieren für die sensor class und wie immer liegt der teufel im detail.
ich brauche einen sensor für temperatur und luftfeuchte. meine erste wahl viel auf den DHT22.
Laut spezifikation arbeitet der aber nur zwischen 3.3-6V DC

das würde ausschliessen das ich den sensor mit zwei AA batterien betreiben kann. also blöd...
ok, zur not gehen 3 batterien, aber dann muss ein spannungsregler vor den arduino und das funkmodul...

kennt ihr einen bezahlbaren, leicht anzusteuernden, wenig strom verbrauchenden, temperatur und luftfeuchtigkeitssensor????

Dirk

Ich wollte den Sensor mit einem SHT10 aufbauen. 2,4 - 5,5 V

Allerdings nicht soo günstig. Geht aber noch.
http://www.aliexpress.com/item/SHT10-100-NEW-SENSIRIO-MODULE-SENSOR-TEMP-HUMIDITY/636054795.html

Gruß
Dirk

trilu

#534
liesst sich gut, hast du den schon zu hause liegen?
stromaufnahme, standby verbrauch, etc scheint ok zu sein - genauigkeit zwischen 0,5 und 1 grad
ist auch ok...
library zur ansteuerung gibt es auch, ok, gekauft :-)

habe gerade mal gesucht wo ich so ein teil auf die schnelle bekommen könnte - beim großen c
gibts den sht11 für schlappe 33 euro.

Dirk

Ja, allerdings genau einen.

Ich hatte bei ALI einen 10er Pack bestellt. Aber nur einen bekommen.
Disput läuft noch.

Kann ich dir aber schicken.
Wenn du willst auch noch einen Helligkeitssensor TSL2561
http://www.aliexpress.com/item/TSL2561T-Digital-light-sensor-TSL2561-Large-amount-of-the-price/1410658269.html

trilu

ich müsste zu hause noch ein paar bmp085 als luftdrucksensor haben, können wir ja tauschen :-)
wenn du ihn mir schicken könntest, dann würde ich mit feuchte/temp anfangen, ich denke hier ist der bedarf der größte.
die original wettersensoren finde ich einfach zu teuer, zusätzlich sollte so ein modul kein größeres problem darstellen...

halten wir mal fest -
sht10 für feuchte und temp
bmp085 oder nachfolger für luftdruck
tsl2561 für helligkeit



Dirk

Ich Habe noch jede Menge bmp180 hier rumliegen. Aus diesem Projekt:
http://forum.fhem.de/index.php/topic,13771.msg85901.html#msg85901

Die sind Codemäßig kompatibel mit dem bmp085

Ich werde die nächsten Tage mal ein Layout für ein Shield machen.
Mit bmp180, sht10 und tsl2561. Man braucht ja nur das zu bestücken was man möchte.

trilu

das ist gut - lochraster finde ich nicht hübsch :-)
wenn du platinen machen lässt, denk an mich.

funkmodul ist klar, zusätzlich wäre es cool wenn man einen arduino pro mini
drauf lösten könnte, die feinen pins der neumodernen bauteile machen mich fertig ....

mmatt

Hier mal eine Frage für mich als "Anfänger" ;-)

Sehe ich das Richtig, dass die aktuellen Libary-Files nun bei Github abzuholen sind, und nicht mehr im ersten Post hier zu finden sind ?
Sorry.. ist vielleicht eine blöde Frage ;-)

Ich habe mal das AskSin-master.zip von Github heruntergeladen, das Zip enpackt und das File HM_LC_SW1_BA_PCB.ino aus dem Ordner HM_LC_SW1_BA_PCB mit der Arduino ide geladen.

Beim Versuch HM_LC_SW1_BA_PCB.ino zu zu kompelieren habe ich folgenden Fehler bekommen:
In file included from HM_LC_SW1_BA_PCB.ino:2:
Register.h:5: error: 'uint8_t' does not name a type
Register.h:13: error: 'HM' has not been declared
Register.h:13: error: expected constructor, destructor, or type conversion before 'dParm'


Gruss Martin

- FHEM 5.5 auf RPI REV.2
- CUL V3 868MHz
- CUL_HM: HM-LC-Dim1TPBU-FM/HM-LC-Swl1PBU-FM/HM-LC-Sw1-BA-PCB/HB-UW-Sen-THPL-O/HM-SEN-MDIR-SM