Freedomotic
-
Hi all,
we are translating our software in different languages: in particular Swedish.
Can you take a look and verify if it's correct?
Thankshttps://www.transifex.com/projects/p/freedomotic-open-source-buildi/
-
hey all,
I have installed freedomotic on my pc and up and running with the mysensors plugin.
there is a serial gateway(arduino duemilanove) connected via USB. i also have one sensor in the field with a relay switch.The serial connection of the gateway to the mysensors plugin is open. I verified this through the log view plugin where i saw the gateway presenting itself and telling the gateway startup is complete.
The problem however is that when the sensor presents itsself asking for a node-ID, the controller never responds with anything. The node just keeps asking for a node ID by presenting as ID 255.
Is there some kind of option in freedomotic or the mysensors plugin where i have to enable the vending of node ID's ? Or am i doing something wrong here..Thanks in advance,
vincent
-
Hi Vincent,
please can you give me more details? What's the expected reply from the controller (freedomotic)?
And your sensor request? I developed the plugin by simulating devices communications. Maaybe something is not complete.
Thanks for your support. -
Hi @freedomotic
I think @diamantmatch wants to use the AUTO-id feature from a sensor-node.
The node expects controller to reply to this id-request with a unique number between 1-254. Controller keep track of which numbers that is "taken" and only hand out a number once.<nodeId>;255;3;0;4<new id>
See http://mysensors.org/build/serial_api for a explanation of the 3;0;4 part.
-
hey @freedomotic
The AUTO-id feature @hek explains is exactly what i mean.
The node in my network doesnt know what ID to listen to and requests a unique ID from the controller.I like the plugin for freedomotics a lot! and i hope the AUTO-id feature can be functional with my setup anytime soon.
thanks!
-
Hi, I got it now.
This feature isn't yet implemented.
Can you give me a complete example?
Node sends on serial 255;???? What exactly?
Controller freedomotic replies writing on serial what? 255;3;0;4;<id-assigned>\n ?
Thanks -
Hi, I got it now.
This feature isn't yet implemented.
Can you give me a complete example?
Node sends on serial 255;???? What exactly?
Controller freedomotic replies writing on serial what? 255;3;0;4;<id-assigned>\n ?
Thanks -
hi,
Awesome that you want to implement the support for the AUTO assigning of unique ID's!
yes, as far as i got it now it starts out with the sensor presenting itself by shouting 255;255;3;0;3; across the network.
Decoded this means the following:
node-id: "255;" this means the node has no ID
child-sensor-id: "255;" this means the node has no child sensor ID's assigned to any sensors attached ( i do not know if this would also be automatically assigned aswell.. but i hope @hek could give us some clarification on this? )
message-type: "3;" the message type defines the type of message and basicaly why the message is send. the number 3 means that it is an internal message (propably for configuration)
ack: "0;" no ack needed
sub-type: "3;" this is where the magic happens. since in the message type it was defined this is an internal message we can state what type of internal message it is in this parameter. the 3 means "I_ID_REQUEST" wich means internal ID request. The node is requesting an ID.
payload: "(NULL, nothing, empty)" there is no payload, the request is simply enough.the controller recieves this request and defines what ID's are already in use. the controller picks a unique number between 1 and 254 and assignes it to the node using the same message-type but a different sub-message-type ( sub-message-type 4 means "Id response back to sensor. Payload contains sensor id" .
The assigned ID will be transmitted in the payload section.example:
The node boots and looks in his EEPROM memory if it already has a node-ID. if it doesnt it wil broadcast a request for the ID with: 255;255;3;0;3;The controller then looks in his table of vended ID's and sends back the first number available (in this example i have only one sensor so number 1 would be vended) and transmits the assigned ID to the node with: 255;255;3;0;4;1
The node then owns the number 1.
when something would be transmitted to the node it will listen to this number.i dont yet know how the child-sensor-id's work.. sorry for that :-|
thanks for the help !
i hope i made it a bit more clear what is needed to vend a node ID.vincent,
-
hi,
Awesome that you want to implement the support for the AUTO assigning of unique ID's!
yes, as far as i got it now it starts out with the sensor presenting itself by shouting 255;255;3;0;3; across the network.
Decoded this means the following:
node-id: "255;" this means the node has no ID
child-sensor-id: "255;" this means the node has no child sensor ID's assigned to any sensors attached ( i do not know if this would also be automatically assigned aswell.. but i hope @hek could give us some clarification on this? )
message-type: "3;" the message type defines the type of message and basicaly why the message is send. the number 3 means that it is an internal message (propably for configuration)
ack: "0;" no ack needed
sub-type: "3;" this is where the magic happens. since in the message type it was defined this is an internal message we can state what type of internal message it is in this parameter. the 3 means "I_ID_REQUEST" wich means internal ID request. The node is requesting an ID.
payload: "(NULL, nothing, empty)" there is no payload, the request is simply enough.the controller recieves this request and defines what ID's are already in use. the controller picks a unique number between 1 and 254 and assignes it to the node using the same message-type but a different sub-message-type ( sub-message-type 4 means "Id response back to sensor. Payload contains sensor id" .
The assigned ID will be transmitted in the payload section.example:
The node boots and looks in his EEPROM memory if it already has a node-ID. if it doesnt it wil broadcast a request for the ID with: 255;255;3;0;3;The controller then looks in his table of vended ID's and sends back the first number available (in this example i have only one sensor so number 1 would be vended) and transmits the assigned ID to the node with: 255;255;3;0;4;1
The node then owns the number 1.
when something would be transmitted to the node it will listen to this number.i dont yet know how the child-sensor-id's work.. sorry for that :-|
thanks for the help !
i hope i made it a bit more clear what is needed to vend a node ID.vincent,
@diamantmatch said:
i dont yet know how the child-sensor-id's work.. sorry for that :-|
The child sensor Id is defined in the arduino sketch by yourself.
for example the following code:
MySensor gw;
Setup() {
gw.begin();
gw.present(0,S_TEMP); // Present child sensor ID 0 as temperature sensor
}Loop() {
}/ Thomas
-
Thanks @tbowmo !
I uploaded two standard sketches to the node and the gateway so i never noticed before.
It seems quite logical to define the child-sensor-ID in the sketches on the sensor node itself.
will do that next time i upload a new sketch! -
Hi all,
thanks for your explanations. I have some questions:- when the controller assigned an ID, this is stored on the node. If the controller restarts, is this address maintained in the node? or does the node detect this restarting and ask again a new address?
- is the address changed only after a specific request by the node?
Hope my questions are clear. Every freedomotic object must have a fixed address, so if it assign an ID, this shouldn't change at any restarting of software or node.
Thanks for your support.
-
hey,
i really feel like i'm just nagging about things here.. sorry about that.
i can not seem to get the sensor to listen to the serial output from the plugin..
i suspect the plugin from not transmitting a newline, every string transmitted should end with \nthanks :)
-
Hi @diamantmatch,
I implemented a first draft of Auto-ID feature.
If you want you can test it using the attached file (you must extract thejar in it), substituting the old in the plugin folder. Starting Freedomotic from command line you can see all plugin activity.
I'm reviewing the entire plugin, to improve it and support an increasing number of devices.
Let me know and thanks for support mysensors-3.0.zip -
Hi Thomas,
the web client is under development. We hope to realease soon a first demo. If you are interested you can take a look at our repository https://github.com/freedomotic (Polymer). Now is it possible to interact remotely using our REST API (under development). It's the base to create customized clients in every programming languages. More info at http://freedomotic.com/content/plugins/restapi-v3
Remember that Freedomotic is a "framework" to create custom iot/home/building automations solutions.
Thanks for your interest
Mauro -
Hi Vincent,
please can you give me more details? What's the expected reply from the controller (freedomotic)?
And your sensor request? I developed the plugin by simulating devices communications. Maaybe something is not complete.
Thanks for your support.Hi freedomotic, I'm traying to test you plug-in in freedomotic, but dont make it works. Could you please give me a mini setup advise, for example for a** RelayActuator** using Lights General Switch. I set
protocolo: mysensors
dirección: 7;1 //static ip because i don`t use AUTO mode (or should I use AUTO mode? to make it works)
actions: turn on/of MySensors light<property name="serial.port" value="COM5"/> <property name="serial.baudrate" value="115200"/> <property name="serial.databits" value="8"/> <property name="serial.parity" value="0"/> <property name="serial.stopbits" value="1"/>There is allways the same message:
my sensors is reciving a command while is not running. Turn on the plugin first.but the plugin is turned on, what im doing wrong???
thanks -
Hi @asterisco
can you post a complete console log? If you double click on plugin icon (to stop it) and do the same to restart it do you receive the same error? Thanks for support