PiDome Domotica/Home Automation


  • Plugin Developer

    @ceburge, @tortoisedoc

    The driver presentation has been enabled again from build 516 which is now available, so you should be able to see the driver/gateway status again (clear browser cache). This build also has inclusion mode support to comply with the MySensors Serial API (this should be tested).

    To view if inclusion mode works, open the admin page in the browser, press the inclusion button at the hardware gateway. You should see the message passing by that device discovery is enabled for mysensors.

    You can also enable the inclusion mode from the web browser by going to the page "Device/Drivers management > Device discovery" select the MySensors serial driver, and press "Enable discovery".

    You can double check if discovery is running, every driver in the dropdown list will have an icon. A spinning icon means discovery is enabled. A non spinning icon with a red line through it means discovery is disabled. Every time a node is discovered the list on the "Device discovery" page is automatically refreshed, no need to refresh the page. Also you will receive a notification on the right bottom part of the web interface that a new device has been discovered.



  • @John I think I just found something interesting here, which might actually match my case:

    [quote]
    I've tried two different pro mini 3,3v boards, and the SerialGateway does not respond to serial commands on them. I expect 0;0;4;4; to reply the firmware version of the serial gateway. And it works fine on non-3,3V-pro-mini. The vera lua script is doing the same on startup:
    [/quote]

    from :

    http://forum.mysensors.org/topic/66/unable-to-use-the-serialgateway-code/4

    I will dig a little into this before performing more tests.



  • Tested build 517 with serial gateway. Everything with the device discovery did as expected. Just can't beat the dynamics of this! I'm not sure if this has anything to do with the build or maybe something else, but I am using the Relay Actuator sketch to test with. Everything seems to work fine with the exception of when the light is toggled with the button. The status of Off and On in the control view never gets updated. I had this problem with an earlier build I think it was Alpha build 493, but with 493 I could turn the relay On from the controller and then toggle the push button to turn it Off and the controller would update to Off but never would to On now it's not doing either one. Do you have any ideas why? I see the serial monitor sending to the gateway the update with an OK but never see it get passed to the controller inside the driver page.


  • Plugin Developer

    @ceburge Good to hear that the disocvery does what it has to do.

    Reagrding the toggle button, this one listens very carefully, could you send a printscreen of the control details of this button in the device editor to support@pidome.org?

    @tortoisedoc Please let me know your findings! I must day that every test i did when i had the gateway running (before it became a IR relay) was always with the nano.



  • @John Okay! Making progress here; after digging and digging, it appears my FTDI module is funky; as in, 115200 Baud seem to somehow be a problem for it.
    I made a quick test sketch where arduino increases a counter and writes out the current value, and i have the possibility to reset the value (between 1 and 9). Well, it works properly only up to 57600 baud. Weird. I will test a version of the mysensors @ 57600 Baud now.

    EDIT AND IT WORKS! COME ON :D!

    capture.png

    This is interesting indeed. I wonder how it comes baud rate 115k fails the FTDI (note : both on PC AND RPi)...


  • Plugin Developer

    @tortoisedoc Good that it's working, please take a look at this page regarding higher speed, not much text, but explaines a lot: http://forum.arduino.cc/index.php?topic=26044.0 It could be an issue more often with for example cheap clones?

    [edit]Self note: change the text at new nodes presentation, it does not appear on the driver page anymore[/edit]



  • @John both board and FTDI are from sparkfun...I believe that is the official maker? But yes, this is exactly the same type of problem I have.


  • Plugin Developer

    @tortoisedoc The solution then would be build one with a crystal, or keep on using the lower speed. I personally had no problems with data running at 57k



  • @John said:

    @tortoisedoc The solution then would be build one with a crystal, or keep on using the lower speed. I personally had no problems with data running at 57k

    @John I will definietly keep the 57 K ; it should be enough as the data transfered is minimal. I plan to add another 5 sensors at least, but I believe it should be ok.



  • Hello John

    When I try to save a trigger I am getting this error:

    Message:
    java.lang.Integer cannot be cast to java.lang.Float

    Trace:
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Float\n at org.pidome.server.services.triggerservice.rules.RuleIfNumberFloat.equalsTo(RuleIfNumberFloat.java:74)\n at org.pidome.server.services.triggerservice.rules.RuleIf.equalsTo(RuleIf.java:141)\n at org.pidome.server.services.triggerservice.rules.RuleIf.run(RuleIf.java:113)\n at org.pidome.server.services.triggerservice.rules.RuleSubject.run(RuleSubject.java:92)\n at org.pidome.server.services.triggerservice.TriggerEvent.createRuleSubjects(TriggerEvent.java:353)\n at org.pidome.server.services.triggerservice.TriggerEvent.createSimpleRuleSet(TriggerEvent.java:277)\n at org.pidome.server.services.triggerservice.TriggerEvent.createRulesetFromJSON(TriggerEvent.java:225)\n at org.pidome.server.services.triggerservice.TriggerEvent.(TriggerEvent.java:211)\n at org.pidome.server.services.triggerservice.TriggerService.saveTrigger(TriggerService.java:229)\n at org.pidome.server.system.rpc.TriggerServiceJSONRPCWrapper.saveTrigger(TriggerServiceJSONRPCWrapper.java:240)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:483)\n at org.pidome.server.system.rpc.AbstractRPCMethodExecutor.execMethod(AbstractRPCMethodExecutor.java:166)\n at org.pidome.server.system.rpc.AbstractRPCMethodExecutor.execMethod(AbstractRPCMethodExecutor.java:121)\n at org.pidome.server.system.rpc.PidomeJSONRPC.handleRequest(PidomeJSONRPC.java:358)\n at org.pidome.server.system.rpc.PidomeJSONRPC.handle(PidomeJSONRPC.java:245)\n at org.pidome.server.system.webservice.webclient.Webclient_jsonrpc.collect(Webclient_jsonrpc.java:55)\n at org.pidome.server.services.clients.http.HTTPClientHandler.run(HTTPClientHandler.java:186)\n

    Am I doing anything wrong? Thanks!



  • Hi John,

    I'm trying to create a custom device that sends RF codes to a RF433 Mhz node, but I can't seem to send the additional fields I added to the device.

    upload-1d6be592-ff63-4988-858a-109f7f124626

    The additional fields:

    upload-bfb3a8dc-b918-4e24-97e1-e08efd14a13a

    Am I trying something here that is simply not possible?

    I want to add that device over and over with different House- and Device Codes:

    upload-77754828-1553-4625-9d14-7d00137c6301

    So in the end i need to send 4;3;1;0;2;3A1 to turn a light on at Housecode 3 and Devicecode A (and 1 is turn on, 0 is turn off)
    Is this currently possible?

    Many thanks and keep up the good work, really love PiDome.


  • Plugin Developer

    @ricardot
    Hard to see from only the stack trace. Is it possible that you send me a screenshot of how you setup the trigger and send this to support@pidome.org? The trigger system has become quite mature, so the message you have posted should not occur in any case. Need to take a close look into it.


  • Plugin Developer

    @ericvdb said:
    Hi eric,

    try to set the on command to 3A1 and the off command to 3A0 in the V_LIGHT toggle control. I know this is not what you want because this means you have to create a device for every address. And with flexible addresses you want to use the options so users can enter them.

    You are using the device editor the correct way, it currently only is not implemented yet. There is a task on my to-do list to take a look on how common fields for controls can use the options created in the editor.

    You know what, send an email to support@pidome.org with some of your device details, and I will come up with something. (If the programming API was ready i could have given some guidelines, but unfortunately it is not yet).

    P.S. it is 00:46 here, so expect an answer tomorrow ;).

    [edit]typo's[/edit]



  • I also Install the android client, but I can't make it works. I receive a login error: Could not connect/login: Authentication needs to be verified (202)

    But the client never ask me for a username and password.


  • Plugin Developer

    @ricardot Is not needed. On the server create an user. Then connect with the client to the server. On the page Connected clients you will see your android device. Click on it, select the user you just created and confirm your selection. The android client receives the confirmation and will continu starting. This device is now bound to this user.



  • Hi John,

    Happy Xmas and enjoying the new updates.

    I can't seem to get the 'Send data to an url' tab to work in automation anymore. Is this a bug or do I need to change the way it functions (it was working in an earlier version with the same settings).

    Jon


  • Plugin Developer

    @jonnyfishman Thnx! Hope you enjoyed Christmas as much as i did.

    There has been some streamlining done of code. This is the second report and i'm currently looking into it.

    If possible, Stop the server and start it with "./server.sh trace". Keep it running for a couple of minutes (so it can do a couple of http send commands). then go to "Server settings" in the web interface and turn of debug logging (bot trace and debug are turned of with this). Send me the file "logs/system/appLog.txt" to support@pidome.org with a reference to this post.

    Cheers,
    John.

    [EDIT]The other reported issue was a timeout on the remote host. Please take a look in the log file if this is also the case for you[/edit]



  • John,

    I would like to know what I need to do to create a rule to turn on an off a mysensors relay in a specific time of the day. And also If is possible Pidome to send me a email when it happens.

    Thanks!


  • Plugin Developer

    @ricardot At the automation rules create a new rule:

    • At the left side you can select rules logic and select an if block. put this on the field
    • Click on Time/Date/Dayparts on the left and select the block when time is, and fill in the time.
    • Click on devices on the left and select your MySensors device and choose the action.
    • Give your rule a name and description.

    Currently there is no option to send an email but there are messaging (which send messages to clients, pushbullet and sms. Email will follow asap.

    P.S. Note to all: Will be on leave until the 5th of januari next year (sounds long...). There will be support but this is at a minimal level.



  • Hi John,

    Checked the appLog.txt and the request was going through (it received a HTTP 200 code). The problem was the automation rule. It was no longer happy with having a variable as a parameter, I had to change it back to a string for it to work [examples below]?
    **ricardot **- This might also work for you. I'm using the 'URL hits' under 'miscellaneous' to email myself using the code below. Essentially it sends out a form to a waiting page on my website that automatically emails me when it receives the correct data, using the PHP mail function.

    fourm1.png
    This works.

    forum2.png
    This doesn't


  • Plugin Developer

    @jonnyfishman
    Sorry for the late response, the holidays consumed us all quite a lot, and i'm still on a sort of holiday leave, Could you send me the log, i'm interested in why the variable is not handled.

    Cheer,
    John.

    P.S. Happy new year!



  • Happy new year to you,

    I've attached the appLog. Relevant lines appear to be 2495 and 1555.
    I recreated the error several times to make it show up. At 2495 the variable is listed as null, whereas at 1555 the variable is passing what it should.

    appLog.txt

    Thanks,
    Jon


  • Plugin Developer

    @jonnyfishman Currently i'm not in the position to check it. I'm back at 5th of January. I will pick it up that day.


  • Plugin Developer

    @jonnyfishman

    I have updated the latest build on the build server. It looked like that the fallback (create a string type variable) did not set the variable value. This should now be fixed.

    Cheers!


  • Plugin Developer

    We now have a forum available, so if you have questions which are not related to MySensors these can be posted over there. This way this forum can be kept clean and dedicated to mysensors ;).

    Cheers!



  • @John I am new to all of this. I am an Arduino programmer. but this is a first to communicate with a controller. Is there a simple "ping/pong" example. where a device is created in PiDome that is a basic switch or trigger that then just sends a message to an Arduino. and then the Arduino sketch sends back a known value that we can then review in PiDome?

    brian


  • Plugin Developer

    @dafoink
    Communication with a plain Arduino using USB it currently needs to be programmed in the server. Methods to do things like ping/pong will be eventually possible using the web interface.


  • Plugin Developer

    I have added colorpicker support to the serial version of MySensors, When it has proven itself it will be added to the MQTT version as wel.

    I have tested this with one user and he has confirmed it working.

    It works as follows:
    Add a color picker to the controls as you would do with any other control (data/toggle button/etc..).

    There are three color modes, these are only used for how the color picker behaves in the interfaces. These are:

    • RGB - Shows three sliders: red, green and blue, use these to choose a color.
    • HSL - Shows three sliders: Hue, Saturation and lightness. Different with the RGB is that you can turn lightness to 0 ti simulate lights off.
    • CIE (Lch)- Shows three sliders: Lightness, hue and chroma, use this with calibrated fixtures, it can be quite off.

    Colors are send as RGB string to nodes without the number sign (#). I recommend using V_VAR(1-5) as the variable type as it is custom data.

    You also need a minimum of one button added in the colorpicker settings window. This will add a button so the selected color in the color picker will actually be send. The value is not important but must be filled in.

    Below an screenshot as an example of how to set up:

    http://s9.postimg.org/k1qvy23f3/Capture1.jpg

    Code for retrieving the r,g and b from the send string is available in this post: http://forum.mysensors.org/topic/816/send-color-data-to-sensors/14
    I personally have not tested the code (currently occupied hardware).


  • Plugin Developer

    This is an important message for all MySensors PiDome users.

    Oracle has released an update for Java on ARM. This update is numbered: Java 8 Update 33. But this release has features removed which the alpha builds are utilizing. I was busy with a feature to supply a graphical user interface embedded in the server so the Raspberry Pi could be used as server and client at the same time (slimmed down version).

    Because Oracle decided to remove JavaFX from this update, and i have JavaFX test code within the server, this update will completely $#%$ PiDome so it won't run correctly, or wont run at all.

    I have to remove all JavaFX related code from the server before you guys can upgrade to the new Java Release. I'm sorry for any inconvenience if you really need to upgrade Java.

    I will place a message in this thread when i have fixed it.


  • Plugin Developer

    Have been quite busy the last two days to remove any possibility to run the server with an embedded client. So you are save to update again. The latest version with the "fixes" is available on http://builder.pidome.org/job/PiDome Server platform snapshot build/lastSuccessfulBuild/ .

    All though all dependencies have been removed it could show a quirk here and there, but will not influence server inner workings.



  • Hi John!

    Can You tell, is it possible to show battery level and sketch name and version in PiDome? How to describe this information under custom device?

    Thanks in advance

    Vj


  • Plugin Developer

    Hi @bomber

    Battery status can be done this way:

    1. Drag an drop a group to the device declaration field. You can give it any name you want, but the group id must be named "INTERNAL"(capital letters without the " (quotes)).
    2. Drag and drop a data field control to this group. You can give it any name. but the id must be "I_BATTERY_LEVEL" (also without the quotes).
      Set the datatype to "FLOAT". All battery levels in the server are handled this way.
    3. If you want, you can select "Battery (0-100%)" as a visual type. This is for future references when the server is able to report low battery levels to users and visualize this in clients.

    Sketch name and version is not available, let me see how quick this can be added (if it is a quick add will do it immediately, otherwise it get's a position on my to do list, recent (unfortunate) developments are requiring a lot of my time).

    Cheers,


  • Plugin Developer

    @bomber

    I_SKETCH_NAME and I_SKETCH_VERSION have been added, only currently they only appear after a device has been added and is restart (during presentation and the device is known in the server).

    I currently do not have the time to have a persistent solution where the values are remembered during discovery (inclusion). Group id for both is also "INTERNAL" and the control id's must be I_SKETCH_NAME or I_SKETCH_VERSION. The data type is String.

    P.S. it is currently builing on the build server, give it a couple of minutes.



  • Hi John,

    I'm pretty new to PiDome and MySensors but I've been gradually figuring things out. However I can't get the battery information to display in PiDome. I followed your instructions you gave above but it never receives the information even though I can see it being sent via the com port on my pc. Has the method of receiving the battery information changed in the last 7 months since you posted this?


  • Plugin Developer

    Hi @AndrewB

    As far as i'm concerned the methods for displaying battery status have not been changed. it could have been changed between some days seven months ago.

    Are you using group id "INTERNAL" and control id "I_BATTERY_LEVEL" ?



  • Yes I am. I have checked and double checked. I am using the default BatteryPoweredSensor sketch that is included in the MySensors library.


  • Plugin Developer

    It currently is quite late i will test this tomorrow as i also have some resource available then. I have to get some hardware together, if i find everything quick will test it in a moment for you. I need some info from you though:

    What is your current build number being used (see server settings page)?
    What is the mysensors library version you are using, 1.4 or 1.5?

    Cheers!



  • Thanks for doing that! No rush though.

    I am using build number 0.1-SNAPSHOT-2015-08-25.528

    and Mysensors ver 1.5


  • Plugin Developer

    Oh dear, we are already at build 540 for the server with full platform build at: 0.1-snapshot-2015-09-05.746. The next server build version will probably stay at 540 but the platform number will become 747. I will notify here when there is an update.

    Build 747 will require you to update the android, desktop or raspberry pi client if in use, so be prepared 😉

    Cheers.

    [EDIT]
    I can confirm the battery level is not handled correctly. I'm on it now. The issue is that the data type is not handled correctly. If you would have used something else then float it would not work. I'm doing an explicit cast to float and did not respect the set type as set in the device editor. Currently testing and updating.
    [/EDIT]


  • Plugin Developer

    There currently is a new version of the server being built on the build server. The location is: http://builder.pidome.org/view/Snapshot builds/

    When it's done you can click 0.1-snapshot-2015-09-06.747 and download the server. On the pi stop the server, overwrite files, and start it again. Don't worry, important data will not be overwritten (as with any update)

    You can see it is done when on the left side there are no active jobs being displayed.

    Let me know if it has been solved for you.



  • Thanks for the quick responses and update!

    I downloaded and installed the new version on my pi, confirmed it was the correct version inside of pidome, however it is still not working. 😕


  • Plugin Developer

    Could you make a screenshot of your created device it's

    • Group control details
    • Control details

    And check in the file logs/system/appLog.txt if you got messages mentioning mysensors? (quite at the end, you can do a "tail-f log/system/appLog.txt -n 200" in putty "ctrl+c" to stop it, select lines, click (copy) and paste them)



  • I currently have debug enabled, will that make a difference on what you want from the log file?


  • Plugin Developer

    Well that would give a big amount of data, and it definitely will help... If you do not mind i will send my email address using chat so i can send you files if needed what could help in solving this quicker.



  • Sure! No problem!


  • Plugin Developer

    Send via chat


  • Plugin Developer

    With help from @AndrewB The issue has been solved.

    The battery level via the MQTT gateway seems to need some extra attention as it is broadcasted in an unexpected mqtt path.

    to show battery level using mqtt please use group id "255" and control id "V_"

    Cheers!



  • @John
    Hi John,

    I also stuck on the same problem as Eric has described. His post is quite a long time ago, so I don't know, if there is a solution now. The point is that I want not only transfer a status on/off to the mysensor node but the house and device code for the RF switches. I tried to do this as you have answered but if i look in the log file it say only true or false as payload to the sensor.

    Is this a limitation of using V_LIGHT (allowing only boolean coded payload)? But I also tried to use other V_* like V_IR_SEND, it was the same result.

    Thanks in advance.


  • Plugin Developer

    Sorry for the late response, have you tried to change the datatype to string with the codes as the values?



  • Hi John,
    appLog.txt
    I also tried using datatype string but it doesen't work. Meanwhile I have studies the log files more detailed and found the following behavior:

    • when defining the device skeletal and when updating the derived device (first approx. 25 lines in the log file V_STATUS is declared as string with values 51 resp. 52 as specified in the web interface. The entity is "Modul 433 MHz".

    • Later on, when using the toggle switch in the web interface the value has changed in the decription in the log file (see line 164 or 185) value has been changed to on/off. With this definition it seem that the mysensors-Plugin is feeded has been changed from the specified values.

    My conclusion is that the change is taking place somewhere outside the mysensors-plugin.

    By the way, if I change the type to string do I have to use quotation marks in the web interface?

    Thanks a lot for your support.

    Martin


 

342
Online

8.5k
Users

9.3k
Topics

98.6k
Posts