Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. eedomus as controller

eedomus as controller

Scheduled Pinned Locked Moved Controllers
12 Posts 2 Posters 5.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • godestalbinG Offline
    godestalbinG Offline
    godestalbin
    wrote on last edited by
    #3

    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.

    1 Reply Last reply
    0
    • godestalbinG Offline
      godestalbinG Offline
      godestalbin
      wrote on last edited by
      #4

      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.

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hek
        Admin
        wrote on last edited by
        #5

        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.

        1 Reply Last reply
        0
        • godestalbinG Offline
          godestalbinG Offline
          godestalbin
          wrote on last edited by
          #6

          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 ?

          1 Reply Last reply
          0
          • H Offline
            H Offline
            hek
            Admin
            wrote on last edited by
            #7

            You don't need the gateway class. Just initialise the MySensors with static id 0.

            (A suggestion is to have a look at the development branch instead.)

            1 Reply Last reply
            0
            • godestalbinG Offline
              godestalbinG Offline
              godestalbin
              wrote on last edited by
              #8

              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 ?

              1 Reply Last reply
              0
              • H Offline
                H Offline
                hek
                Admin
                wrote on last edited by
                #9

                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-L487

                Not sure why send returns false.. indicates that no ack was received from the other radio.

                1 Reply Last reply
                0
                • godestalbinG Offline
                  godestalbinG Offline
                  godestalbin
                  wrote on last edited by
                  #10

                  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 AUTO
                  

                  On 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:18
                  

                  But 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 message
                  

                  The 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);
                  
                  1 Reply Last reply
                  0
                  • H Offline
                    H Offline
                    hek
                    Admin
                    wrote on last edited by
                    #11

                    @godestalbin said:

                    read: 0-0-10 s=0,c=1,t=3,pt=2,l=2:18

                    Message seem to reach node... Did you add a capacitor to the node? It seems to have some problem sending ack back to gateway. Usually indicates a powering issue.

                    1 Reply Last reply
                    0
                    • godestalbinG Offline
                      godestalbinG Offline
                      godestalbin
                      wrote on last edited by
                      #12

                      Yes, I have capacitor on both radio.

                      1 Reply Last reply
                      0

                      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
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      16

                      Online

                      12.1k

                      Users

                      11.2k

                      Topics

                      113.4k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular