Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
  1. Home
  2. Software
  3. Multi-System Reactor
  4. Vera device extended attributes ?
Gradually turn on lights.
Tom_DT
I have several lights that I would like to turn on very gradually over 15 or 20 seconds. from 0 to .25 in .01 increments. I have tried a few things that came nowhere near working, so here I am.
Multi-System Reactor
Stop the MSR by an external switch on Hubitat.
wmarcolinW
Use case: When performing home maintenance, such as air conditioning, I want all rules involving air conditioning to be disabled. To do this, to day, I have a virtual switch that I placed within all rules involving air conditioning, meaning that if I turn it off, none of them work. Then another situation: the water pump system and garden irrigation, another switch. In short, I had to create several virtual switches in Hubitat to disable rules in MSR. Unfortunately, however, I was unable to cover all scenarios, so I wondered if it would be possible for MSR to support a virtual MSR switch, which, when configured in the reactor settings, would function as a general on/off switch for MSR. If it is configured and turned off, the entire rules and actions in MSR stops working, except for the status change reading process, specifically for this switch, which, when turned on, would restart the MSR. Would it be possible to do something like this? Any recommendations from the experts?
Multi-System Reactor
Error After Upgrade
T
Topic thumbnail image
Multi-System Reactor
Reset attribute value of entity in event handler
R
Topic thumbnail image
Multi-System Reactor
Need help figuring out how to delay a reset on reaction
T
Topic thumbnail image
Multi-System Reactor
Way to search for rules (rule state) in other rules
T
@toggledbits, not sure if this is a feature request or I'm using the search tool wrong. You have a "Search for rule" in the Rules Set tab in MSR. It works nicely to find a rule and bring up said rule, but can it/could it be used for as a "where used?" global search? For instance, I have a fairly large set of rules, divided up into 10 different rulesets. There's easily a hundred individual rules, and many of the rules have Rule State triggers, which of course refer to other rules. Amongst my troubleshooting today, I came across what may have been a duplicate or troubleshooting attempt, but I can't tell if it's actually used as a Rule State in another rule without opening each rule that I suspect it may be a part of. Thanks.
Multi-System Reactor
Links to MSR from HA
Tom_DT
I am using Home Assistant a lot recently. On a dashboard showing the devices, I would like to show a link to the MSR rule that controls the devices. Is there a way to link directly into MSR?
Multi-System Reactor
Set Reaction > Script Action
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Errors after updating to MQTTController build 25139
tunnusT
I'm running MSR build 25139 on Docker, using MQTT controller 24293, and everything working as expected. But if I try to upgrade to MQTTController build 25139, I'm getting the following errors on MSR UI: An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.god Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.green Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.red Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto run" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.pump Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa watchdog" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.status Last 11:20:37 My MQTT configuration (local_mqtt_devices.yaml) for the related entity is: layzspa_message: type: ValueSensor capabilities: ["temperature_sensor", "value_sensor", "power_sensor"] primary_attribute: power_sensor.value events: "layzspa/message": "power_sensor.value": json_payload: true if_expr: '! isnull( payload?.PWR )' expr: "float(payload.PWR)" "value_sensor.air": json_payload: true if_expr: '! isnull( payload?.AIR )' expr: "float(payload.AIR)" "value_sensor.pump": json_payload: true if_expr: '! isnull( payload?.FLT )' expr: "float(payload.FLT)" "value_sensor.god": json_payload: true if_expr: '! isnull( payload?.GOD )' expr: "float(payload.GOD)" "value_sensor.lock": json_payload: true if_expr: '! isnull( payload?.LCK )' expr: "float(payload.LCK)" "value_sensor.unit": json_payload: true if_expr: '! isnull( payload?.UNT )' expr: "float(payload.UNT)" "value_sensor.error": json_payload: true if_expr: '! isnull( payload?.ERR )' expr: "float(payload.ERR)" "temperature_sensor.green": json_payload: true if_expr: '! isnull( payload?.GRN )' expr: "float(payload.GRN)" "temperature_sensor.red": json_payload: true if_expr: '! isnull( payload?.RED )' expr: "float(payload.RED)" "temperature_sensor.target": json_payload: true if_expr: '! isnull( payload?.TGT )' expr: "float(payload.TGT)" "temperature_sensor.value": json_payload: true if_expr: '! isnull( payload?.TMP )' expr: "float(payload.TMP)" "temperature_sensor.virtual": json_payload: true if_expr: '! isnull( payload?.VTM )' expr: "round(float(payload.VTM), 1)" "temperature_sensor.ambient": json_payload: true if_expr: '! isnull( payload?.AMB )' expr: "float(payload.AMB)" "layzspa/Status": "value_sensor.status": if_expr: '! isnull( payload )' expr: "payload" "layzspa/button": "value_sensor.button": if_expr: '! isnull( payload )' expr: "payload" and in reactor.yaml I have: "layzspa_states": name: "Lay-Z-Spa States" friendly_name: 'Lay-Z-Spa States' include: layzspa_message I realize my MQTT configuration might be a bit unorthodox, but could there still be something unintentional in the latest MQTTController build? If needed, I can provide detailed logs.
Multi-System Reactor
🎉 My very first MSR controller: OpenSprinkler
therealdbT
Since today is my birthday - and I still pretend to be unconventional - I'm giving away a present to this wonderful community and I'm releasing my first OpenSprinkler controller for MSR. It was real fun to code it - and while it's still WIP, it seems to work OK for me. It's polling-based at the moment, but I'll add support for updates via MQTT very soon (it's already partially coded). Get it at (install is similar to MQTTController and such): https://github.com/dbochicchio/reactor-opensprinkler Feel free to try it. It's beta software, but it's stable. I'll update it weekly until all the tasks from my todo list are empty. Since I've learnt a lot from this controller, I'll explore new controllers soon.
Multi-System Reactor
Advice reqeusted to migrate MSR from Bare Metal to Container
T
Good day all, I'm in the process of trying to shut down my 10 year old Linux home server that served many purposes, but primarily it's what I used for my NAS/Plex Media server. I migrated the NAS aspect of the server in November of last year to a true NAS solution (Ubiquti UNAS Pro), which is rack mount and much more efficient than my old tower, which it's only side benefit was heating my home office during the winter. Unfortunately it also means heating my home office during the summer, which were about to be in full swing. I have two things running on this 10 year old server at this point. MSR and pi-hole. I'm running Plex Media Server on Fedora Workstation in Podman on mini PC, which is much more energy efficient than my old tower. My next step is to migrate MSR. I know there are images of MSR out there, and creating it is well documented. I'm going to be using Podman instead of Docker for various reasons, but they work very similar. What I don't know, is what I need to do to migrate my existing Bare Metal installation over to a container. Has anyone done this? Any advice?
Multi-System Reactor
Reactor (Multi-System/Multi-Hub) Announcements
toggledbitsT
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here. Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.
Multi-System Reactor
Can´t restart or upgrade/deploy MSR
F
Topic thumbnail image
Multi-System Reactor
[Solved] Limit HA Entity in MSR
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Organizing/ structuring rule sets and rules
R
Hi guys, Just wondering how you guys organize your rule sets and rules. I wish I had an extra layer to have some more granularity, but my feature request was not popular. Maybe there are better ways to organize my rule sets. I use the rule sets now primarily for rooms. So a rule set per room. But maybe grouping by functionality works better. Any examples/ suggestions would be appreciated.
Multi-System Reactor
Moving MSR from a QNAP container to RP 5 - some issues
Tom_DT
Topic thumbnail image
Multi-System Reactor
Widget deletion does not work and landing page (status) is empy
M
Topic thumbnail image
Multi-System Reactor
Need help reducing false positive notifications
T
Topic thumbnail image
Multi-System Reactor
Deleting widgets
tunnusT
Hopefully a trivial question, but how do you delete widgets in a status page? Using build 22266
Multi-System Reactor
MQTT configuration question
tunnusT
I have the following yaml configuration in local_mqtt_devices file x_mqtt_device: set_speed: arguments: speed: type: str topic: "command/%friendly_name%" payload: type: json expr: '{ "fan": parameters.speed }' While this works fine, I'm wondering how this could be changed to "fixed" parameters, as in this case "fan" only accepts "A", "Q" or a numeric value of 1-5?
Multi-System Reactor

Vera device extended attributes ?

Scheduled Pinned Locked Moved Multi-System Reactor
38 Posts 3 Posters 2.8k Views 3 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.
  • rafale77R rafale77

    Try also update the LastWakeupTime to be the same as LastTrip and reset the sensor failure with the setFailure command in luup code for that device or maybe even waking them up manually. I think these devices may not be waking up at all or may just happen to be waking up when your zwave network is doing something else like a heal or an nnu so it is missing them every time.

    cw-kidC Offline
    cw-kidC Offline
    cw-kid
    wrote on last edited by cw-kid
    #7

    @rafale77 Looking at one of the motion sensors that has "Can't detect device" on it now, its lastwakeup time is: 1606495613 or Friday, 27 November 2020 16:46:53

    Its an Everspring SP816-1 outdoor one. Looking in its user manual it does say its maximum wakeup interval is 1 day, so I should be OK with 86400 seconds I have it set as.

    Wonder why its not waking up? It's still detecting motion events perfectly fine. Might have to take it down and check the batteries and wake it up manually.

    5caa267c-6322-4ba3-8067-ea80c5035de8-image.png

    1 Reply Last reply
    0
    • cw-kidC Offline
      cw-kidC Offline
      cw-kid
      wrote on last edited by
      #8

      The other problem motion sensor is a Neo Cool Cam NAS-PD02Z. I can't even see a "LastWakeup" variable / value on that device at all, it has no field for it in the GUI showing.

      1 Reply Last reply
      0
      • rafale77R Offline
        rafale77R Offline
        rafale77
        wrote on last edited by rafale77
        #9

        Yep that's the problem. The vera tags its battery operated devices as "can't detect" using this variable. For your information:
        WakeupInterval is a parameter of the vera. It is the interval the vera is going to measure to as it expects the device to update.
        ConfiguredWakeupInterval is a parameter stored in the device. It is the number the vera got the last time the device was configured and told the vera that's the setting it has.
        LastWakeup is the date the last time the vera saw the device to have woken up.

        The logic in the vera is as I said before, "if os.time() - LastWakeup > WakeupInterval*2 then set Device fail =1".... 😉
        Now more funny... The device wakes up to its lifeline associated group. (group 1). It is possible that your device was not completely configured and that the association was not setup correctly. The best way to know is to wake the device up to see if you see the variable. If not then try reconfiguring.
        More fun... some devices won't accept any other nodeID than "1" in this association group so if your vera's zwave has a different ID... well it will never report to the vera that it has woken up.

        cw-kidC 1 Reply Last reply
        0
        • rafale77R rafale77

          Yep that's the problem. The vera tags its battery operated devices as "can't detect" using this variable. For your information:
          WakeupInterval is a parameter of the vera. It is the interval the vera is going to measure to as it expects the device to update.
          ConfiguredWakeupInterval is a parameter stored in the device. It is the number the vera got the last time the device was configured and told the vera that's the setting it has.
          LastWakeup is the date the last time the vera saw the device to have woken up.

          The logic in the vera is as I said before, "if os.time() - LastWakeup > WakeupInterval*2 then set Device fail =1".... 😉
          Now more funny... The device wakes up to its lifeline associated group. (group 1). It is possible that your device was not completely configured and that the association was not setup correctly. The best way to know is to wake the device up to see if you see the variable. If not then try reconfiguring.
          More fun... some devices won't accept any other nodeID than "1" in this association group so if your vera's zwave has a different ID... well it will never report to the vera that it has woken up.

          cw-kidC Offline
          cw-kidC Offline
          cw-kid
          wrote on last edited by
          #10

          @rafale77 said in Vera device extended attributes ?:

          WakeupInterval is a parameter of the vera. It is the interval the vera is going to measure to as it expects the device to update.
          ConfiguredWakeupInterval is a parameter stored in the device

          ConfiguredWakeupInterval on both of these motion sensor is
          86400 I can see this value on each device.

          The WakeupInterval on both of these motion sensor is
          86400 I can see this value on each device.

          I've just woken up the Neo Cool Cam one that had the missing LastWakeUp value and its still missing. I then polled it OK but still no LastWakeUp field showing up. Might have to try and reconfigure it.

          As for the Everspring one outside, Vera says it hasn't woken up since November LOL. I'll have to take it down and have a look also.

          1 Reply Last reply
          0
          • rafale77R Offline
            rafale77R Offline
            rafale77
            wrote on last edited by rafale77
            #11

            Idea popping in my head to make this behave more like z-way... have a scene to update the LastWakeup variable every time the Tripped variable changes... That would be a quick patch to overcome the stupidity of the firmware.

            cw-kidC 1 Reply Last reply
            0
            • rafale77R rafale77

              Idea popping in my head to make this behave more like z-way... have a scene to update the LastWakeup variable every time the Tripped variable changes... That would be a quick patch to overcome the stupidity of the firmware.

              cw-kidC Offline
              cw-kidC Offline
              cw-kid
              wrote on last edited by
              #12

              @rafale77 Sounds like a good idea.

              If I could have a MSR rule do this? even better.

              rafale77R 1 Reply Last reply
              0
              • cw-kidC cw-kid

                @rafale77 Sounds like a good idea.

                If I could have a MSR rule do this? even better.

                rafale77R Offline
                rafale77R Offline
                rafale77
                wrote on last edited by rafale77
                #13

                @cw-kid

                It's possible to do it on the MSR but this is the version on the vera:

                1. Create a scene with trigger being your sensor's tripped event (tripped or untripped)
                2. Add the following lua code as the scene lua:
                local dev = --the device id of the sensor--
                local t = os.time()
                luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "LastWakeup", t, dev)
                if luup.variable_get("urn:micasaverde-com:serviceId:HaDevice1", "CommFailure", dev)=="1" then
                  luup.set_failure(false,dev)
                end
                

                Done...

                You could possibly even implement this to all sensors by making it a function and set a variable watch on all the tripped values in the startup lua... After this, you would also have to run

                1 Reply Last reply
                1
                • cw-kidC Offline
                  cw-kidC Offline
                  cw-kid
                  wrote on last edited by
                  #14

                  Great thank you. I will give it a try.

                  1 Reply Last reply
                  0
                  • cw-kidC Offline
                    cw-kidC Offline
                    cw-kid
                    wrote on last edited by
                    #15

                    Just tried the code in the Vera test window against the outdoor Everspring motion sensor. It works. Its updated its lastwakeup value to just now and gotten rid of the "Can'r detect device" red banner also.

                    1 Reply Last reply
                    0
                    • cw-kidC Offline
                      cw-kidC Offline
                      cw-kid
                      wrote on last edited by cw-kid
                      #16

                      I ran the code against the other Neo Cool Cam motion sensor with the missing LastWakeUp field and now that field is present and up to date with that time stamp.

                      I've setup two functions in the Vera startup for each motion sensor to run this LUA code and two MSR rules to trigger upon their motion being tripped etc.

                      1 Reply Last reply
                      1
                      • cw-kidC Offline
                        cw-kidC Offline
                        cw-kid
                        wrote on last edited by cw-kid
                        #17

                        But the "Can't Detect Device" error comes back again shortly after the motion sensor has been untripped for a while.

                        5592b768-9242-480f-a18a-be843dcf51f1-image.png

                        Damn you Vera firmware haha.

                        As soon as its tripped it goes away, with what we have setup

                        c23296a1-50eb-4aa1-8ab5-822da12bb0d7-image.png

                        1 Reply Last reply
                        0
                        • rafale77R Offline
                          rafale77R Offline
                          rafale77
                          wrote on last edited by rafale77
                          #18

                          Note that if you don't trip these sensors regularly, you will still see a problem eventually so it is best to fix the wakeup. If they get tripped regularly then you don't need to worry too much about it.

                          On your last edit: Please ensure to use the code I updated. I made a mistake the first time around using the wrong service ID.

                          1 Reply Last reply
                          0
                          • cw-kidC Offline
                            cw-kidC Offline
                            cw-kid
                            wrote on last edited by
                            #19

                            This is what I have in the functions:

                            -- Porch Motion Sensor Fix LastWakeUp and Can't Detect Device Errors
                            function PorchMotionSensorFix() 
                               luup.log('VeraScenes.PorchMotionSensorFix')
                               local dev = 304
                               local t = os.time()
                               luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "LastWakeup", t, dev)
                               if luup.variable_get("urn:micasaverde-com:serviceId:HaDevice1", "CommFailure", dev)=="1" then
                               luup.set_failure(false,dev)
                               end
                            end
                            
                            -- Lounge Motion Sensor Fix LastWakeUp and Can't Detect Device Errors
                            function LoungeMotionSensorFix()
                               luup.log('VeraScenes.LoungeMotionSensorFix')
                               local dev = 331
                               local t = os.time()
                               luup.variable_set("urn:micasaverde-com:serviceId:ZWaveDevice1", "LastWakeup", t, dev)
                               if luup.variable_get("urn:micasaverde-com:serviceId:HaDevice1", "CommFailure", dev)=="1" then
                               luup.set_failure(false,dev)
                               end
                            end
                            
                            1 Reply Last reply
                            0
                            • rafale77R Offline
                              rafale77R Offline
                              rafale77
                              wrote on last edited by
                              #20

                              Yup it should work. I don't see why it would flag them as failed again... The firmware checks every 10min so you have to wait 10min to be sure it doesn't come back.

                              cw-kidC 1 Reply Last reply
                              0
                              • rafale77R rafale77

                                Yup it should work. I don't see why it would flag them as failed again... The firmware checks every 10min so you have to wait 10min to be sure it doesn't come back.

                                cw-kidC Offline
                                cw-kidC Offline
                                cw-kid
                                wrote on last edited by
                                #21

                                @rafale77 I'll take a closer watch over it and see, it may have been 10 minutes.

                                1 Reply Last reply
                                0
                                • cw-kidC Offline
                                  cw-kidC Offline
                                  cw-kid
                                  wrote on last edited by cw-kid
                                  #22

                                  I tripped the Everspring motion sensor and then untripped it. Started a stop watch and I'm up to 13 minutes now and the error has just come back again. Also the motion sensor hasn't been re-tripped again during this time.

                                  1 Reply Last reply
                                  0
                                  • rafale77R Offline
                                    rafale77R Offline
                                    rafale77
                                    wrote on last edited by
                                    #23

                                    I have two of these everspring sensors and have no problem with them. I highly recommend to reconfigure it. Now I don't know why the error would come back. There has to be another mechanism causing this. Likely some variable not set properly.

                                    1 Reply Last reply
                                    0
                                    • cw-kidC Offline
                                      cw-kidC Offline
                                      cw-kid
                                      wrote on last edited by
                                      #24

                                      OK Ill take it down the Everspring from the Porch and have a look at it.

                                      The Neo Cool Cam is also giving me this same "Can't detect device" error that one never even had a LastWakeUp variable present, until I ran your code.

                                      I have a Fibaro motion sensor and that seems OK though.

                                      1 Reply Last reply
                                      0
                                      • rafale77R Offline
                                        rafale77R Offline
                                        rafale77
                                        wrote on last edited by
                                        #25

                                        Ok I now have another recollection of a mechanism by which the vera flags these devices as failed... It is from the database in the zwave chip itself. The only way to reset this on the vera is to get the device reconfigured because a flag was set at the serial level. On Z-way you can remove this flag with a click but the vera doesn't offer this option. So... you should not see these anymore after you have the devices reconfigured. The way I previously addressed this was running the vera on a USB stick and then stick it into a windows PC and use the PC controller software from silabs to reset the failed flag before sticking it back into the vera. there should also be a serial command from the command line to do this on the vera but I forgot...

                                        cw-kidC 1 Reply Last reply
                                        0
                                        • rafale77R rafale77

                                          Ok I now have another recollection of a mechanism by which the vera flags these devices as failed... It is from the database in the zwave chip itself. The only way to reset this on the vera is to get the device reconfigured because a flag was set at the serial level. On Z-way you can remove this flag with a click but the vera doesn't offer this option. So... you should not see these anymore after you have the devices reconfigured. The way I previously addressed this was running the vera on a USB stick and then stick it into a windows PC and use the PC controller software from silabs to reset the failed flag before sticking it back into the vera. there should also be a serial command from the command line to do this on the vera but I forgot...

                                          cw-kidC Offline
                                          cw-kidC Offline
                                          cw-kid
                                          wrote on last edited by
                                          #26

                                          @rafale77 Is Z-Way good then? It's from Z-Wave.me right.

                                          They are also the main Z-Wave distributors for Europe based in Germany.

                                          I only need two projects to support a Z-Wave platform that could be used as just a radio. MSR and The Home Remote dashboard app.

                                          rafale77R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Recent Topics

                                          • Gradually turn on lights.
                                            G
                                            gwp1
                                            0
                                            4
                                            141

                                          • Stop the MSR by an external switch on Hubitat.
                                            wmarcolinW
                                            wmarcolin
                                            0
                                            1
                                            35

                                          • Error After Upgrade
                                            G
                                            gwp1
                                            0
                                            4
                                            105

                                          • Reset attribute value of entity in event handler
                                            R
                                            RHCPNG
                                            0
                                            5
                                            207

                                          • Need help figuring out how to delay a reset on reaction
                                            G
                                            gwp1
                                            0
                                            22
                                            930

                                          • Way to search for rules (rule state) in other rules
                                            T
                                            tamorgen
                                            0
                                            3
                                            101

                                          • Links to MSR from HA
                                            Tom_DT
                                            Tom_D
                                            0
                                            1
                                            91

                                          • Set Reaction > Script Action
                                            wmarcolinW
                                            wmarcolin
                                            0
                                            11
                                            437

                                          • Wiring Samotech SM308-S into light fitting
                                            akbooerA
                                            akbooer
                                            0
                                            2
                                            151

                                          • Errors after updating to MQTTController build 25139
                                            toggledbitsT
                                            toggledbits
                                            0
                                            6
                                            239

                                          • 🎉 My very first MSR controller: OpenSprinkler
                                            therealdbT
                                            therealdb
                                            5
                                            13
                                            919

                                          • Advice reqeusted to migrate MSR from Bare Metal to Container
                                            T
                                            tamorgen
                                            0
                                            5
                                            263
                                          Powered by NodeBB | Contributors
                                          Hosted freely by 10RUPTiV - Solutions Technologiques | Contact us
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Unsolved