Controllino MAXI Automation connected to Cayenne but can not add Relays

#1

My Controllino MAXI Automation is connected to Cayenne.
I can also open the app on my mobile phone and connect there to it
But the only thing that i can see is Channel 0 and it have some time that shows it’s uptime.
I have Arduino installed on my Windows computer and it is working to sent new updates to the Controllino.
I have also installed the Card plugins for controllino
The Additional Boards Manager URL:s is set to https://raw.githubusercontent.com/CONTROLLINO-PLC/CONTROLLINO_Library/master/Boards/package_ControllinoHardware_index.json

I have followed this Guide to get this far: https://www.youtube.com/watch?v=qQ2g2e-OQFk
But i can not add any Relay switches, it does not find it in some way.
11:30 in this guide do they add relay switch in the same way that i want to do but i can not choose any device in my Cayenne login.

I am new to this products and is not a good programmer.
I want to find someone to help me with this as a consultant and i can pay for it as well.

If there is any one out there that want to help me with this, send a post or PM or email to jonas@jonaslarsson.nu

We can have contact on phone and with Teamviewer if you need to have direcr contact to the Controllino.

0 Likes

#2

Hi @jonas76. welcome to the cayenne community. the video you are following is using the old cayenne and we have upgraded to new MQTT cayenne.
You said you are getting time value on channel 0, so you have got it connected right. the reason for not able to select the relay is that you have added a new device by selecting Bring Your Own thing. so to solve this you need to add a custom button widget.

0 Likes

#3

Thanks for the help.

Now i followed this guide instead:(Arduino, MQTT, Cayenne)
http://mydevices.com/cayenne/docs/cayenne-mqtt-api/#cayenne-mqtt-api-using-arduino-mqtt

It worked little better for me.
Now i can turn on the light for R0 and R1 on my Controllino Maxi Automation.
I use channel 22 and 23.
The Pinout is here: https://www.controllino.biz/wp-content/uploads/2018/12/CONTROLLINO-MAXI-Automation-Pinout-1.jpg

But the strange thing for me now is that the light turns on on R0 and R1 but the Relay is not opend and closed, only the light changes.

I put my code below

=========================================================

#include <SPI.h>
#include <Controllino.h>

/*
This example shows how to connect to Cayenne using an Ethernet W5100 shield and send/receive sample data.

The CayenneMQTT Library is required to run this sketch. If you have not already done so you can install it from the Arduino IDE Library Manager.

Steps:

  1. Set the Cayenne authentication info to match the authentication info from the Dashboard.
  2. Compile and upload the sketch.
  3. A temporary widget will be automatically generated in the Cayenne Dashboard. To make the widget permanent click the plus sign on the widget.
    */

//#define CAYENNE_DEBUG // Uncomment to show debug messages
#define CAYENNE_PRINT Serial // Comment this out to disable prints and save space
#include <CayenneMQTTEthernet.h>

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username = “#################################”;
char password = "#################################;
char clientID = “#################################”;

#define VIRTUAL_CHANNEL_22 22
#define VIRTUAL_CHANNEL_23 23
#define ACTUATOR_PIN_22 22 // Do not use digital pins 0 or 1 since those conflict with the use of Serial.
#define ACTUATOR_PIN_23 23

void setup() {
Serial.begin(9600);
pinMode(ACTUATOR_PIN_22, OUTPUT);
pinMode(ACTUATOR_PIN_23, OUTPUT);
Cayenne.begin(username, password, clientID);
}

void loop() {
Cayenne.loop();
}

// This function is called when data is sent from Cayenne.
CAYENNE_IN(VIRTUAL_CHANNEL_22)
{
// Write value to turn the relay switch on or off. This code assumes you wire your relay as normally open.
if (getValue.asInt() == 0) {
digitalWrite(ACTUATOR_PIN_22, HIGH);
}
else {
digitalWrite(ACTUATOR_PIN_22, LOW);
}
}

CAYENNE_IN(VIRTUAL_CHANNEL_23)
{
// Write value to turn the relay switch on or off. This code assumes you wire your relay as normally open.
if (getValue.asInt() == 0) {
digitalWrite(ACTUATOR_PIN_23, HIGH);
}
else {
digitalWrite(ACTUATOR_PIN_23, LOW);
}
}

// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
CAYENNE_OUT_DEFAULT()
{
// Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
Cayenne.virtualWrite(0, millis());
// Some examples of other functions you can use to send data.
Cayenne.celsiusWrite(1, 23.0);
Cayenne.luxWrite(2, 700);
Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);
}

// Default function for processing actuator commands from the Cayenne Dashboard.
// You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands.
CAYENNE_IN_DEFAULT()

{
CAYENNE_LOG(“Channel %u, value %s”, request.channel, getValue.asString());
//Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError(“Error message”);
}

0 Likes

#4

change

to

pinMode(CONTROLLINO_D0, OUTPUT);
pinMode(CONTROLLINO_D1, OUTPUT);

and

to

digitalWrite(CONTROLLINO_D0, HIGH);

similarly do for others.

0 Likes

#5

I solved the problem.

It worked with my code that i had but i had only the USB cable from computer for power to the controllino.

But when i add a separate 24V power did it work.

Maby it was to less power to change the switch but it could turn on the lamp.

So now it is working.

0 Likes

#6

great to hear it is working now. looking forward to see the complete project in working.

0 Likes