eedomus as controller
-
Hello,
I asked for support eedomus team and in eedomus forum but got no reply at all.
eedomus box has an USB port. I wonder, if I build a serial gateway (http://www.mysensors.org/build/serial_gateway) and connect the USB port to my eedomus box, is there any chance my box will recognize it ?
I think I have no possibility to build a plug-in for eedomus as Connected Objects does not provide any kind of API to extend the features of their box.
-
Hello,
Here is the status on my project to connect my eedomus controller to MySensors:
I am limited to make HTTP request to update some virtual state on my eedomus box.
I build an Arduino (mega) with an Ethernet shield to validate I can update a virtual state on eedomus.
I built a MySensor serial gateway with a temp/humidity sensor. Using hard-coded sensor's ID, I managed to get temp/humidity on the gateway.
I am now stuck to make both working together.
I have my sketch gateway: MySensorsGateway (http://www.mysensors.org/build/serial_gateway) using the library MyGateway and I have the library Ethernet.
In MySensorsGateway, I can use Ethernet library but I cannot access the message received.
In MyGateway library, I can view/display the message received but I cannot use Ethernet library.
I would like to access received message in MySensorsGateway in order to forward them by HTTP requests to my eedomus controller.
Can you point me in the right direction ? Some sample code would be great. -
You'll have to define a callback-function when calling gw.begin(). This function will receive all incoming messages. You can have a look at RelayActuator as an example of defining a callback.
The SerialGateway already uses this callback and should be possible to update.
-
Thank you, that seems to perfectly answer my need.
However I have one question: I will use the MyGateway::begin which takes void (*inDataCallback)(char ) parameter which seems less convenient to use than the void (_msgCallback)(const MyMessage &) parameter of the MySensor::begin.
Why is it like this ? Would it be not more convenient to have a callback with a MyMessage ? -
Hello,
Thanx to your help, it is now a few months I have a temp/humidity MySensor with the data updated in my eedomus domotic box.
Now the next challenge is to make a relay actuator. I did not buy the hardware yet, thus I wish to validate the transfer of the message from the box->gateway->sensor.- I have made the first step getting the command (O=Off, 1=On) from my eedomux box to my gateway node.
- Now I am trying to send the message from gateway (ID=0) to my existing temp/humidity sensor node (ID=10). I have written the following code:
void loop() { // Alway process incoming messages whenever possible gw.process(); //Read radio message, and display in serial window //Create a test messge to send to node MyMessage msg; boolean ok = false; msg.sender = 0; //0=gateway ID msg.destination = 10; //node ID msg.sensor = 2; //To be set later: CHILD_ID_HUM 0/CHILD_ID_TEMP 1 msg.type = 1; //set=This message is sent from or to a sensor when a sensor value should be updated mSetRequestAck(msg,0); //What is the difference with the one after ? mSetAck(msg,false); //For now no ack, later it would be better to get one mSetCommand(msg,S_LIGHT); msg.set(1); ok = gw.send(msg); if (!ok) { // //errBlink(1); Serial.println("Error sending message");For now the gw.send returns not OK.
Am I doing right by creating the message manually or is there a better way to do ?
What is wrong that the message is not sent ? -
Shouldn't msg.type be S_LIGHT and command be 1?
gw.send() actually sets command to C_SET for you
https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/MySensor.cpp#L483-L487Not sure why send returns false.. indicates that no ack was received from the other radio.
-
I am still trying to make it work. I uploaded on my temp/humidity sensor the code of the relay actuator (sketch:47534). I just updated this line to set the ID=10:
gw.begin(incomingMessage, 10, true); //Set ID=10 instead of AUTOOn the serial window of the temp/humidity everything looks fine:
read: 0-0-10 s=0,c=1,t=3,pt=2,l=2:18 send: 10-10-0-0 s=0,c=1,t=3,pt=2,l=2,st=ok:18But on my node (gateway) I still have error
send: 0-0-255-10 s=0,c=1,t=3,pt=2,l=2,st=fail:18 Error sending messageThe code is now as below:
// Alway process incoming messages whenever possible gw.process(); //Read radio message, and display in serial window //Create a test messge to send to node MyMessage msg; boolean ok = false; msg.sender = 0; msg.destination = 10; msg.sensor = 0; //To be set later msg.type = S_LIGHT; //mSetRequestAck(msg,0); //No ack //mSetAck(msg,false); //mSetCommand(msg,S_LIGHT); msg.set(18); ok = gw.send(msg, true); if (!ok) { //errBlink(1); Serial.println("Error sending message"); } else Serial.println("Success !!!!"); delay(5000); -
Yes, I have capacitor on both radio.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login