No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
actors
bootloader/avr changes blocksize on eq3 Conversion to 256 byte for Atmega644 Jan 16, 2019
examples sensor only Feb 22, 2019
sensors add sensor VL53L0X Nov 16, 2018
.gitignore ignore settings Sep 2, 2016
.project use defines for configuration Sep 2, 2016
.travis.yml sensor only Feb 22, 2019
Activity.h Fix RTC sleep mode to get minimum power-save current Jan 23, 2019
Alarm.h line feeds converted to unix style - some small ram improvements Jan 22, 2017
AlarmClock.cpp adapt to MightyCore's definition of ATmega32 Oct 1, 2018
AlarmClock.h adapt to MightyCore's definition of ATmega32 Oct 1, 2018
AskSinPP.h allow device specific frequency by using eprom memory for config data Jan 27, 2019
Atomic.h adapt to MightyCore's definition of ATmega32 Oct 1, 2018
BatterySensor.h use higher resolution for readRefVcc Dec 9, 2018
Blind.h new ActorChannel class allows better reuse of event processing Dec 2, 2018
Button.h init local variable Jan 16, 2019
Buzzer.h
Channel.h sensor only Feb 22, 2019
ChannelList.h lib takes care on ledMode during send messages Dec 10, 2018
Debug.h macro to print device ID and Serial added Oct 6, 2018
Defines.h tab-style formatting Aug 7, 2018
Device.h allow device specific frequency by using eprom memory for config data Jan 25, 2019
Dimmer.h correct typo Jan 20, 2019
Globals.cpp fix custom firmware to compile in master Sep 24, 2018
HMID.cpp try to fix receive problems Jul 6, 2017
HMID.h try to fix receive problems Jul 6, 2017
IButton.h state handling improved Oct 13, 2018
Led.cpp allow configurations with direct pin register access Sep 1, 2017
Led.h moved buzzer section from Led.h to Buzzer.h Jan 20, 2019
Link.h line feeds converted to unix style - some small ram improvements Jan 22, 2017
Message.h allow custom EOT character (i.e. for custom sketches) Nov 3, 2018
Motion.h change brightness to 32bit Jul 5, 2018
MultiChannelDevice.h
Peer.h reorganize library configuration - use more templates Mar 5, 2017
PhaseCut.cpp enable phasecut only for AVR Jan 28, 2019
PhaseCut.h add namespace Jan 16, 2019
Pins.h faster taster polling Nov 2, 2017
README.md Update README.md Feb 22, 2019
RFID.h fixed wrong register Feb 18, 2019
Radio.h split Radio class into CC1101 and general parts Feb 7, 2019
Register.h ensure transmitMax is never 0 Feb 21, 2019
Remote.h simplify encoder code Jan 15, 2019
Sensors.h changed _brightness to uint32_t to support values > 65k Jul 4, 2018
Sign.h support of mixed channel devices added May 11, 2017
StateMachine.h new ActorChannel class allows better reuse of event processing Dec 2, 2018
Storage.h allow device specific frequency by using eprom memory for config data Jan 25, 2019
Switch.h allow easier reuse/extending of SwitchList3 Feb 20, 2019
ThreeState.h correct time calculation for delay Jun 29, 2018
aes.h aes signature support added Jan 21, 2017
aes128_dec.cpp aes signature support added Jan 21, 2017
aes128_dec.h aes signature support added Jan 21, 2017
aes128_enc.cpp aes signature support added Jan 21, 2017
aes128_enc.h aes signature support added Jan 21, 2017
aes_dec.cpp aes signature support added Jan 21, 2017
aes_dec.h aes signature support added Jan 21, 2017
aes_enc.cpp aes signature support added Jan 21, 2017
aes_enc.h aes signature support added Jan 21, 2017
aes_invsbox.c aes signature support added Jan 21, 2017
aes_invsbox.h aes signature support added Jan 21, 2017
aes_keyschedule.cpp aes signature support added Jan 21, 2017
aes_keyschedule.h aes signature support added Jan 21, 2017
aes_sbox.c aes signature support added Jan 21, 2017
aes_sbox.h aes signature support added Jan 21, 2017
aes_types.h aes signature support added Jan 21, 2017
cm.h some dimmer improvements Sep 12, 2018
gf256mul.S first support for maple mini board Mar 20, 2017
gf256mul.cpp first support for maple mini board Mar 20, 2017
gf256mul.h aes signature support added Jan 21, 2017
library.properties allow device specific frequency by using eprom memory for config data Jan 27, 2019

README.md

Please use V3 Branch for your devices. The master branch is used for active development and may be instable

AskSin++ Build Status

C++ implementation of the AskSin protocol

  • easy configuration of the device channels by using templates
  • direct eeprom access for the channel data
  • AES signature support
  • Supported MCU:

Required additional Arduino libraries:

  • EnableInterrupt
    • For ATMega644 and ATMega1284 the PR #49 needs to be included
  • Low-Power
    • For ATMega644 and ATMega1284 the PR #57 needs to be included

Optional required Sensor Libraries

Enable AES Support

To enable the AES signature support USE_AES needs to be defined. In addition the default key and the default key index has to provided with HM_DEF_KEY and HM_DEF_KEY_INDEX.

#define USE_AES
#define HM_DEF_KEY 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10
#deifne HM_DEF_KEY_INDEX 0

In FHEM you can get the key from the hmKey, hmKey2, hmKey3 attributes of the VCCU. The index is the key number multiplied by 2.