RFLink

RFLink R48 is pre-installed on the gateway.

RFLink Protocol describe what is detected.

Connect gateway via OpenBSD.

doas cu -l cuaU0 -s 57600

Connected to /dev/cuaU0 (speed 57600)
20;00;Nodo RadioFrequencyLink - RFLink Gateway V1.1 - R48;
20;01;MiLight=ON;
20;02;FineOffset;ID=0014;TEMP=0093;HUM=67;
20;05;TriState;ID=02aa2a;SWITCH=2;CMD=ON;
20;07;NewKaku;ID=02a4beb2;SWITCH=1;CMD=ON;
20;7B;Xiron;ID=1401;TEMP=0085;HUM=53;BAT=OK;
20;7F;Digitech;ID=02a0;TEMP=0123;BAT=OK;
20;5A;Firstline;ID=00a0;TEMP=00bf;
20;8C;Pollin;ID=005d;TEMP=0011;RAIN=05fa;BAT=LOW;
...

The gateway expects CR/LF after every line, but cu only interpret Enter as CR.

CTRL-M - CR
CTRL-J - LF

So to send commands back directly with CR/LF termination you need to add an extra LF.

10;PING;<Enter><CTRL-J>
20;04;PONG;

You should also be able to use e.g. minicom or screen.

Sensor board

NDSensors433SensorBoardUsersManual.pdf

Sensor available from tindie.com or directly from NDSensors

Weather Station(s)

Ambient Weather WS-1173 and its outdoor sensor WH2F seems to be picked up as.

20;2C;FineOffset;ID=0014;TEMP=00ca;HUM=49;

This means.

0xCA = 202 = 20.2 C
49% relative humidity

Buy more here.

Another weather station seems to be from Alecto.

20;26;AlectoV3;ID=3014;TEMP=80b7;HUM=48;BAT=OK;

That one report -18.3. Inside a freezer?

And yet another Xiron/Auriol.

20;7B;Xiron;ID=1401;TEMP=0085;HUM=53;BAT=OK;

Custom ATtiny84 with DHT22

Custom firmware from NDSensors

20;58;Oregon TempHygro;ID=2D0F;TEMP=00ee;HUM=52;HSTATUS=0;BAT=OK;

Controlling Telldus Switches

I tried to control the switches from the telldus web ui. Then I got the following ...

# kök
20;15;NewKaku;ID=004a4b52;SWITCH=1;CMD=ON;
20;16;NewKaku;ID=004a4b52;SWITCH=1;CMD=OFF;

# mat
20;18;NewKaku;ID=02a4beb2;SWITCH=1;CMD=OFF;
20;19;NewKaku;ID=02a4beb2;SWITCH=1;CMD=ON;

# tv
20;1C;NewKaku;ID=03cdb752;SWITCH=1;CMD=ON;
20;1D;NewKaku;ID=03cdb752;SWITCH=1;CMD=OFF;

So from this I could get the ID for each device.

So to control from RFLink i could do the following.

10;NewKaku;004a4b52;1;ON;<Enter><CTRL-J>
20;21;OK;

And

10;NewKaku;004a4b52;1;OFF;<Enter><CTRL-J>
20;23;OK;

Works fine!

NDDevices custom 433 MHz sensors

I use Arduino IDE to program the sensors. Some gotchas.

Use e.g. an USBAsp AVR programmer to program via IDE.

I have connected USBasp as follows to a pogopin connector.

ISP as pogopads on the board:

     +-------+
GND  | () () | RST
MOSI | () () | SCK
VCC  | () () | MISO
     +-------+
       "433" 

USBasp 10 pin:
(assumed female connector on board)

     +-------+
MOSI | () () | VCC
NC   | () () | GND
RST    () () | GND
SCK  | () () | GND
MISO | () () | GND
     +-------+

Note that the male connector from the USBasp match the female board connector described above.

Set the following parameters in Tools menu:

Board: ATtiny 24/44/84
Processor: ATtiny84
Clock: Internal 1MHz
Programmer: USBasp

Write a simple program:

/*
  Blink - Turns on an LED on for one second, then off for one second, repeatedly.
 */

#define LED 4        // PA4 / SCK = pin 9

// the setup routine runs once when you press reset
void setup() {
  // initialize the digital pin as an output.
  pinMode(LED, OUTPUT);

}

// the loop routine runs over and over again forever
void loop() {
  digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Upload sketch via Sketch / Upload Using Programmer.

It is possible to change internal clock to 8 MHz via Burn Bootloader. See Programming ATtiny84 / ATTiny44 with Arduino Uno.

Protocols

References