• mwittig

    The showToastMessage() function of the frontend should be configurable, i.e. it should be possible to disable toast messages completely.

    posted in Feature Requests read more
  • mwittig

    As you may already know pimatic v0.9 will support adding/editing/removing devices with a device editor. During my tests with v0.9.x development stream I found editing a device is a bit awkward in some cases. The current flow is as follows:

    1. Select “Devices” from the “Menu”
    2. Then you get a list of devices to choose from.

    If you have a lot of devices it may take some time to find the device in the list. To ease some use cases it would be nice to have a shortcut for editing a device displayed on a page. This could be part of the bubble displayed when you click on the name of the displayed device as shown below.

    Screenshot

    posted in Feature Implemented read more
  • mwittig

    This memo describes how you can install a plugin from github by either using the npm or git command. Using npm (Method 1) should be the preferred approach for most users.

    A typical use case for this is to trial changes made by a developer (possibly on a fork if the original code base) which have not been published in a official package release yet.

    Method 1 - Using npm

    Npm is able to install a package from github rather than using the package registry. Actually, it will use git internally to fetch the project sources.

    1. Make sure you have a released version of the plugin installed. The plugin should already be part of of your pimatic setup and configuration
    2. Make sure you have git installed on your raspberry by simply typing the command git. If not found you can install it as follows: sudo apt-get install git
    3. Now, perform the steps listed below. Replace <PROJECT-OWNER> with the name of the developer on github, e.g. mwittig, and <PLUGIN-PACKAGE> with name of the plugin, e.g. *pimatic-demo’.
    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/ 
    sudo rm -rf <PLUGIN-PACKAGE>
    sudo npm install <PROJECT-OWNER>/<PLUGIN-PACKAGE> --unsafe-perm
    sudo service pimatic start
    

    Installing a specific branch

    The steps described in the previous section will install the default branch which typically is the “master”. Sometimes, the code snapshot may be located on a different branch, e.g. “development”. If you haven’t installed the snapshot yet, you can simply extend the “npm install” command of the previous section as follows.

    sudo npm install <PROJECT-OWNER>/<PLUGIN-PACKAGE>#<BRANCHNAME> --unsafe-perm 
    

    Reverting to the released package

    That’s easy! Just follow the steps below.

    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/ 
    sudo rm -rf <PLUGIN-PACKAGE>
    sudo npm install <PLUGIN-PACKAGE> --unsafe-perm
    sudo service pimatic start
    
    

    Well, having this said it should be said that some plugins for pimatic 0.9 have been release with “beta” tag. Thus it may be required to use the following install command instead. The developer in charge should give advice on this.

    sudo npm install <PLUGIN-PACKAGE>@beta --unsafe-perm
    

    Method 2 - Using git

    Installing a snapshot from github

    1. Make sure you have a released version of the plugin installed. The plugin should already be part of of your pimatic setup and configuration
    2. Make sure you have git installed on your raspberry by simply typing the command git. If not found you can install it as follows: sudo apt-get install git
    3. Now, perform the steps listed below. Replace <PLUGIN-PACKAGE> with name of the plugin, e.g. “pimatic-demo” and <URL> with URL of the repostory. You can easily copy the URL of a github repostory by clicking on the copy icon.
    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/ 
    sudo rm -rf <PLUGIN-PACKAGE>
    git clone <URL>
    cd <PLUGIN-PACKAGE>
    npm install
    sudo service pimatic start
    

    Checking out a specific branch

    The steps described in the previous section will checkout the default branch which typically is the “master”. Sometimes, the code snapshot may be located on a different branch, e.g. “development”. If you haven’t installed the snapshot yet, you can simply extend the “git clone” command of the previous section as follows.

    git clone <URL> --branch <BRANCHNAME>
    

    If you need switch the branch at a later point in time you need to perform the following steps.

    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/<PLUGIN-PACKAGE>
    git fetch
    git checkout <BRANCHNAME>
    git pull
    sudo service pimatic start
    

    Updating a snapshot from github

    If you have already installed a snapshot from github and the developer has updated files on github you may want to synchronize your local files with the current version on github. As the dependencies defined in the package.json file may have changed you should also run npm install as shown below.

    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/<PLUGIN-PACKAGE>
    git pull
    npm install
    sudo service pimatic start
    

    Reverting to the released package

    That’s easy! Just follow the steps below.

    sudo service pimatic stop
    cd /home/pi/pimatic-app/node_modules/ 
    sudo rm -rf <PLUGIN-PACKAGE>
    sudo npm install <PLUGIN-PACKAGE> --unsafe-perm
    sudo service pimatic start
    
    

    Well, having this said it should be said that some plugins for pimatic 0.9 have been release with “beta” tag. Thus it may be required to use the following install command instead. The developer in charge should give advice on this.

    sudo npm install <PLUGIN-PACKAGE>@beta --unsafe-perm
    

    posted in Howto ... read more
  • mwittig

    See discussion on topic http://forum.pimatic.org/topic/359/pimatic-sms-plugin/3

    General features of a google-calendar integration:

    • a calendar publisher to create Google Calendar Items using pimatic rule actions. This may be used for example to create a calendar event to notify the user about certain events in the home, e.g., a PV Inverter failure. A long with calendar event it is possible set notifiers, e.g., the SMS notification discussed on zthe other thread.
    • a calendar subscriber to get notified on calendar events and to be able to use the events as part of rule conditions. This way you may be able to program your heating at home using calendar events, for example.

    If you like this idea please take some time to think about viable use cases. Your comments will be highly appreciated.

    posted in Feature Requests read more
  • mwittig

    Following the discussion on https://forum.pimatic.org/topic/1602/sunrise-and-sunset-plugin this request is about extending the pimatic-sunrise plugin to provide a device type with the desired sunrise and sunset times. The device type could also provide more times like “solarNoon” which might be interesting for PV applications. See https://github.com/mourner/suncalc#reference for details. It shall be possible to have have multiple device instances with different locations.

    posted in Feature Implemented read more
  • mwittig

    pimatic-metar-weather

    Npm Version

    I have written a new pimatic plugin to obtain weather data from METAR reports. Installation via Frontend will be available tomorrow morning.

    METAR is the abbreviation for METeorological Aerodrome Reports standardized by the ICAO. It was introduced in 1968 to provide pilots with observational weather data to be used for pre-flight weather briefings, for example. Nowadays, METAR data can be obtained for about 9000 airport sites around the world. Typically, the accuracy of the measurement data is better than the data provided by the numerous public weather services.

    Currently, the plugin is able to provide data for

    • air temperature at ground-level
    • dew point temperature
    • relative humidity
    • barometric pressure
    • wind speed, direction, and gust
    • generalized cloud cover in percent based on octas where cover for different heights is accumulated
    • precipitation (rain and snow if data available)

    Future work

    There are a couple of things on my list:

    • add information on precipitation (rain and snow if available)
    • add switch to support imperial measures
    • provide a textual report on visibility, clouds and precipitation
    • add support for TAF forecasts

    Contributions

    Contributions to the project are welcome. You can simply fork the project and create a pull request with
    your contribution to start with. If you like this plugin, please consider ★ starring
    the project on github.

    Plugin Configuration

    {
          "plugin": "metar-weather",
          "debug": false,
    }
    

    The plugin has the following configuration properties:

    Property Default Type Description
    debug false Boolean Debug mode. Writes debug messages to the pimatic log, if set to true

    Device Configuration

    Screenshot

    The Metar Weather device is provided to obtain weather data for a single location.

    {
          "id": "metar-1",
          "name": "TXL",
          "class": "MetarWeather",
          "attributes": [
            "temperature",
            "dewPoint",
            "humidity",
            "pressure",
            "windSpeed",
            "windGust",
            "windDirection",
            "clouds"
          ],
          "stationCode": "EDDT",
          "interval": 30
    }
    

    The location is identified by a four-letter station code. It can be looked up as follows:

    The device has the following configuration properties:

    Property Default Type Description
    interval 30 Number The data acquisition time interval in minutes (minimum 30)
    stationCode - String The 4-letter station code for the weather station
    attributes “temperature” Enum The attribute to be exhibited by the device

    Links

    posted in Plugins read more
  • mwittig

    As part of the discussion on https://github.com/philip1986/pimatic-led-light/issues/27 @thymian mentioned the following idea:

    “I am missing something like a morning light. People pay 200€ for these bulbs which dim up in about 30 min to emulate the sun rising. I once wrote a script myself but this was very bad written because i dont understand that promise programming and didn’t find out how [to] use for or while [loops]”

    @leopoldkoenig wrote:

    I’m missing a feature, whereby I can control my led light by saying “please dim my light from the current state to 100% within 5 minutes”. Any chance to realise it?

    incmve created this issue in philip1986/pimatic-led-light

    closed Wifi370 no colors #27

    posted in Feature Requests read more
  • mwittig

    This “how to” article is to give some insights on using String Expressions and Functions with pimatic variable and rule definitions. For now, only the subString and date functions are covered. More content for other functions will be added soon.

    String Expressions

    String Expression can be used for variables of type “Expression” and as parameters for some rule predicates and actions.
    String Expressions may be one of the following:

    • variable references, e.g., $someVar
    • plain string, e.g., "ABC"
    • function calls, e.g., subString($someVar, "BB")
    • string with embedded expressions, "AA$someVar"

    In some cases it is required to surround an embedded expression with curly brackets to get parsed properly, e.g. "{$someVar}BB". This way, it is also possible to embed function calls, e.g., "AA{subString($someText, "BB")}"

    The subString function

    subString(<string expression>, <regular expression>[, <flags>])

    This function returns the substring of a given string expression matching the regular expression and flags where the latter may be provided optionally. The function uses Javascript regular expressions which are provided without the surrounding slashes and flags. Simply provide the regular expression as a string, e.g., "\D+". The flags may be optionally provided as a separate string.

    Note, some special characters of regular expressions need to be escaped with a preceding backslash. Otherwise, they would be interpreted as pimatic special characters for string expressions or variable references. Use:

    • \{ and \} instead of { and } to specify occurrences of the preceding sub expression
    • \$ instead of $ to end of the string expression

    In the following, some usage examples are provided which use a global variable $someVar set to the value "AABBCCC". If you wish to trial the example, define another global variable, e.g. $subText and set its type to “Expression”

    • subString($someVar, "BB") results in BB. It matches the first occurrence of the letter sequence BB in $someVar

    • subString($someVar, "B\{2\}") results in BB and is equivalent to expression above. Note, the curly braces need to be quoted with a backslash as the brace would be interpreted as an embedded pimatic expression otherwise

    • subString($someVar, "[A-Z]\{5\}") results in AABBC. Returns the first occurrence of five characters where each character is contained in the set “A to Z”

    • subString($someVar, "c", "gi") results in CCC. It concatenates all occurrences (flag g for global matching) of the letter c or C (flag i for case insensitive)

    • subString($someVar, "A|B", "g") results in AABB. It concatenates all occurrences (flag g for global matching) of the letters A or B

    • subString($someVar, ".\$") results in C. It matches the last character of $someVar. Note the dollar sign needs to be quoted with a backslash as the dollar sign would be interpreted variable reference start symbol, otherwise

    • Function calls can also be embedded into a string. To get it parsed properly the function is surrounded by brackets: "XX{subString($someVar, "..(..)")}" results in XXBB

    • It is also possible to nest function calls: subString(subString($someVar, "A|B", "g"), ".\$") results in B. The inner function yields all caracters A or B, i.e., AABB. The outer function yields the last character.

    The following gives an example of using the function as part of a rule definition:

    WHEN subString("$someVar", "A", "g") equals "AA"   
    THEN toggle denon-avr-power
    

    The date function

    date([<format string>])

    Outputs the current date using an optionally provided format string. If no format string is provided the format "YYYY-MM-DD hh:mm:ss" is used.
    For the date formatting the date-format-lite package is used. See supported syntax below.

    • Y - A two digit representation of a year without leading zeros. Examples: 99 or 3
    • YY - A two digit representation of a year. Examples: 99 or 03
    • YYYY - A full numeric representation of a year, 4 digits. Examples: 1999 or 2003
    • M - Numeric representation of a month, without leading zeros. 1 through 12
    • MM - Numeric representation of a month, with leading zeros. 01 through 12
    • MMM - A short textual representation of a month, three letters. Jan through Dec
    • MMMM - A full textual representation of a month, such as January or March. January through December
    • D - Day of the month without leading zeros. 1 to 31
    • DD - Day of the month, 2 digits with leading zeros. 01 to 31
    • DDD - A textual representation of a day, three letters. Mon through Sun
    • DDDD - A full textual representation of the day of the week. Sunday through Saturday
    • H - 12-hour format of an hour without leading zeros. 1 through 12
    • HH - 12-hour format of an hour with leading zeros. 01 through 12
    • h - 24-hour format of an hour without leading zeros. 0 through 23
    • hh - 24-hour format of an hour with leading zeros. 00 through 23
    • m - Minutes without leading zeros. 0 through 59
    • mm - Minutes with leading zeros. 00 to 59
    • s - Seconds without leading zeros. 0 through 59
    • ss - Seconds with leading zeros. 00 to 59
    • S - Milliseconds without leading zeros. 0 through 999
    • SS - Milliseconds with leading zeros. 000 to 999
    • U - Milliseconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
    • u - Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
    • A - Ante meridiem and Post meridiem. AM or PM
    • "text" - text, quotes should be escaped, eg ‘“a \“quoted text\”” YYYY’

    Time zone designators

    • Z - Time offsets from UTC in the form ±hh[:mm] Examples: +02, +02:30
    • ZZ - Time offsets from UTC in the form ±hh[mm] Examples: +02, +0230
    • ZZZ - Time offsets from UTC in the form ±hh:mm Examples: +02:00, +02:30
    • ZZZZ - Time offsets from UTC in the form ±hhmm Examples: +0200, +0230

    ISO-8601

    • w - Day of the week. 1 (for Monday) through 7 (for Sunday)
    • W - Week number of year, first week is the week with 4 January in it
    • o - ISO-8601 year number. This has the same value as YYYY,
      except that if the ISO week number (W) belongs to the previous or next year, that year is used instead
    • iso - Full ISO-8601 date time string Example: 2013-07-10T13:47:36Z

    posted in Howto Pimatic read more
  • mwittig

    It would be nice to be able to dynamically configure plugins without having to restart pimatic (similar to what is provided for devices).

    posted in Feature Requests read more
  • mwittig

    Would be great for a better overview to have the groups collapsed by default.
    Best would be to remember the state but that would be harder to implement.

    Maybe we should add a collapse/expand all button.

    posted in Feature Requests read more
  • mwittig

    pimatic-milight-reloaded

    Npm Version

    I have created a new plugin for Milight which is the result of my ongoing efforts to provide better support for Milight with pimatic.
    screenshot
    It has the following features:

    • Support for the new Milight controller iBox1 and iBox2, including auto-discovery
    • Improved auto-discovery supporting multi-homed hosts
    • Support for bridge light of the iBox2 controller
    • Milight color action to control color of MilightRGBWZone, MilightBridgeLight, and MilightFullColorZone.
      Note, the action currently only changes the hue value of the lights. Brightness control can be added,
      but unfortunately it is not possible to control saturation which limits the color rendition, drastically
    • Implemented basic support for V6 full color bulbs (color temperature and saturation control missing to date)
    • Implemented actions to control color temperature and brightness for MilightWWCWZone

    The next steps are as follows:

    • Improve the support for the new full color bulbs by adding the missing features, i.e. color temperature and saturation control
    • Provide a custom UI control
    • Provide more actions for other stuff like effect mode control and advanced dimming with fading

    Contributions

    Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with. If you like this plugin, please consider ★ starring the project on github.

    posted in Plugins read more
  • mwittig

    I am not sure how many of you use Milight LEDs or are interested in buying some. For sure, IWY Master and WIFI370 provide the better technical solution, but Milight has a much lower price tag. One of the downsides of Milight is the limited color control. It only provides 255 presets for hue, 19 presets for brightness, and absolutely no saturation control.

    The intent is to support Milight as part of pimatic-led-light which currently provides a RGB color picker. See also http://forum.pimatic.org/topic/332/plugin-for-wifi-controlled-led-light-iwy-light

    I have implemented a Milight adapter for the RGB color picker on a dev-branch, but the user experience is pretty average imho. Therefore, this is to suggest an alternative UI adapter (as part of pimatic-led-light) for Milight devices. The UI shall simply consist of a brightness slider (DimmerDevice with value 0 used for Off) and a Milight-specific Color Slider with 256 values, where 0…255 is used for the color presets and 256 for white mode. To give you a better idea of it I have drafted a prototype of the color slider - see https://jsfiddle.net/WittigMarcus/p0xw0jks/

    Note, the Milight color wheel is completely different from the HSV color circle! See image below. This feature request is to get your feedback and to get an idea how many potential Milight users we have on board :)

    Milight Remote

    posted in Feature Requests read more
  • mwittig

    @kreg Nothing, I am aware of. Started a new project. Give me four weeks to complete it. You can track the project at https://github.com/mwittig/pimatic-energy-monitor

    posted in Feature Requests read more
  • mwittig

    pimatic-filter

    Npm Version

    Following a discussion on digital filter and digital smoothing of data I have created pimatic-filter which provides various filtering functions to achieve digital filtering or smoothing of sensor data. It is useful, for example, if the sensor data is not accurate and you wish to disregard potential outliers at the minimum and maximum of sensor values processed.

    Status of Implementation

    To date, the plugin provides three filter types. More filters can be added on request. If you wish to get involved you’re welcome to make contributions. If you’re not familiar with programming please open issue to describe your request as detailed as possible including references to background material and possibly an algorithmic description. If you like this plugin, please consider ★ starring the project on github.

    Plugin Configuration

    You can load the plugin by editing your config.json to include the following in the plugins section. However, it
    is recommended to use the plugin editor instead which is provided with the pimatic web frontend

    {
       "plugin": "filter",
       "debug": false
    }
    

    Filters Configuration

    A filter basically is a pimatic device instance which takes an input value from another device which is processed to
    produce an output value. Depending on the type of filter the number of output values produced may different from the
    number of inputs provided.

    Simple Moving Average

    The Simple Moving Average filter, is the unweighted mean of a given number of previous sensor values processed. For a general discussion see Wikipedia on Moving Average.

    The number previous sensor values processed by the filter is called sliding window. You can specify the “size” of the sliding window. By default, the window takes five elements. Initially, when the number of data values processed is smaller than the window size, the mean will be calculated from the existing values.

    The “output” property defines the attribute which represents the output produced by the filter. It must have a “name” and an “expression” which defines a reference to the input value. In the simplest case, the expression contains a variable, but it can also contain a calculation or a string interpolation which finally produces the input value. Note, however, the resulting value must be a number to be processed by the filter. The “output” property may also contain a “label”, “acronym”, and “unit”. If the “unit” value is set to “auto” the unit will be derived from the input attribute.

        {
            "class": "SimpleMovingAverageFilter",
            "id": "filter1",
            "name": "Filter",
            "size": 5,
            "output": {
                "name": "temperature",
                "label": "Temperature",
                "expression": "$unipi-2.temperature",
                "acronym": "T",
                "unit": "°C"
            }
        }
    

    Simple Truncated Mean

    The Simple Truncated Mean filter is a truncated mean, where the highest and lowest value of a given number of previous sensor values is disregarded (truncated) and the remaining values are used to calculate the arithmetic mean. For a general discussion see Wikipedia on Truncated Mean.

    The number previous sensor values processed by the filter is called sliding window. You can specify the “size” of the sliding window. By default, the window takes five elements. Initially, when the number of data values processed is smaller than the window size the mean will be calculated, as follows:

    • if there are less than three values, no truncating is performed and the mean is calculated from the existing values
    • if there are three or more values, truncating is performed and the mean is calculated from the remaining values.

    The “output” property defines the attribute which represents the output produced by the filter. It must have a “name” and an “expression” which defines a reference to the input value. In the simplest case, the expression contains a variable, but it can also contain a calculation or a string interpolation which finally produces the input value. Note, however, the resulting value must be a number to be processed by the filter. The “output” property may also contain a “label”, “acronym”, and “unit”. If the “unit” value is set to “auto” the unit will be derived from the input attribute.

        {
            "class": "SimpleTruncatedMeanFilter",
            "id": "filter1",
            "name": "Filter",
            "output": {
                "name": "Temperature",
                "expression": "$unipi-2.temperature",
                "acronym": "T",
                "unit": "°C"
            }
        }
    

    Simple Rate of Change

    The Simple Rate of Change filter provides the relative rate of value change per minute. It calculates the difference of two attribute value updates and divides it by the time difference of the updates. The rate scale can be changed from “minute” to “millisecond”, “second” or “hour” by setting the “timeBase” property (see example below). Generally, it can be used to detect an unusual value change. An example use case for the Simple Moving Average is a humidity sensor in the bathroom where the rate of value change is used to detect if someone is taking a shower or the bathroom window has been opened (in wintertime).

    The “output” property defines the attribute which represents the output produced by the filter. It must have a “name” and an “expression” which defines a reference to the input value. In the simplest case, the expression contains a variable, but it can also contain a calculation or a string interpolation which finally produces the input value. Note, however, the resulting value must be a number to be processed by the filter. The “output” property may also contain a “label”, “acronym”, and “unit”. If the “unit” value is set to “auto” the unit will be derived from the input attribute followed by the “timebase” fraction denominator.

        {
            "class": "SimpleRateOfChangeFilter",
            "id": "filter2",
            "name": "Filter",
            "output": {
                "name": "rateOfChange",
                "expression": "$unipi-2.temperature",
                "acronym": "roc",
            },
            "timeBase": "minute"
        }
    

    Statistical Attributes (Stats)

    Screenshot

    All device classes provide support for statistical attributes which can be added easily to the the device configuration:

    • min - minimum value
    • max - maximum value
    • mean - arithmetic mean value
    • increase - increase of the value in relation to the previous value
    • percentChange - the percentage change of the value in relation to the previous value
    • source - input value (provided here for convenience)

    The attributes are added by setting the “stats” property of the device configuration which takes an array of string values. It is recommended to configure the attributes using the device editor provided with the pimatic web frontend as shown in the screenshot below.

    Screenshot

    History

    See Release History.

    License

    Copyright © 2015-2016, Marcus Wittig and contributors. All rights reserved.

    AGPL-3.0

    posted in Plugins read more
  • mwittig

    @n3ro I have just tried the Calendar Trick manually, which works fine for me. It is even possible to set a SMS Reminder, e.g. one minute before the scheduled start date by overriding the reminder defaults. I have tried this using the Google API Explorer. This way, only a single Gmail account is required.

    If enough users upvote this feature I am happy to investigate this further

    Example Request for use with API Explorer

    POST https://www.googleapis.com/calendar/v3/calendars/{USER}%40googlemail.com/events?key={YOUR_API_KEY}
    
    Enable OAuth 2.0,
    The URL above is just for information
     
    {
     "reminders": {
      "overrides": [
       {
        "method": "sms",
        "minutes": 1
       }
      ],
      "useDefault": false
     },
     "start": {
      "dateTime": "2015-04-20T13:44:00Z"
     },
     "summary": "Meeting",
     "end": {
      "dateTime": "2015-04-20T14:40:00Z"
     }
    }

    posted in Feature Implemented read more
  • mwittig

    I have written a plugin for Edimax Wifi-SmartPlugs SP1101W and SP2101W. For the latter power metering is supported. For details see README

    screenshot

    A warning message: Logilink offers a Smart Plug, the PA0066X which looks similar and one might expect it is an OEM version of the Edimax plug. Unfortunately this is not case. The protocol is completely different and has been obfuscated. So, I won’t buy it.

    Current Version

    • 20161208, V0.3.14
      • Dependency Update: edimax-smartplug@0.0.16 and pimatic-plugin-commons@0.9.3
      • Node.js 0.10 is no longer supported
      • Revised README

    posted in Plugins read more
  • mwittig

    Apparently, several users are demanding a common set of LED device types as part of the Pimatic core which they can use as a base for their own device driver implementation. LED device drivers have been implemented by several plugins including pimatic-led-light, pimatic-johnny-five (work in progress), pimatic-hue-zll, pimatic-hue, and pimatic-mqtt (work in progress).

    To make this happen we need to look at the different types of LED devices, to define a set of device classes with perhaps some optional features to be able to tailor the UI and the device behaviour.

    • LED
      • absolute Dimmer, relative Dimmer with +/- buttons
    • RGB LED
      • perhaps with option to switch color model: RGB, HSV, HSV Hue-only, proprietary Hue, CIE
    • RGBW LED
      • there may be variation where you can contol the color temperature)
    • WW/CW LED
      • basic switch, color temperature asjust)
      • this may be also be regarded as BiColor LED

    To define the device classes we need to look at the different LED makes we currently support, i.e. Milight (+ Milight CW/WW), Wifi 370, Harmony, Hue, and so on. As a starting point for UI elements we can have look at pimatic-led-light (including the new UI under development) and pimatic-hue-zll. Personally, I am much in favor of the UI provided pimatic-hue-zll as it is already getting close to the outlined idea of having different LED device classes.

    EDIT: Oops, This request seem to be redundant to some extent as there had been filed a similar request a couple three weeks ago which I did not notice. Sorry about this. https://forum.pimatic.org/topic/1451/rgb-base-device

    posted in Feature Requests read more
  • mwittig

    This plugin is not brand new, but I just wanted to make sure it works fine before announcing it here. The plugin implements a UPnP Basic Device to advertise the Pimatic web interface to control points on the Local Network. For example, this may be useful for Windows users as the Pimatic device will show in the network view. Double-clicking the device will open the web interface using the default web browser. See also README.

    Network View

    If required, the plugin can also be extended to implement other UPnP device types to exhibit Pimatic devices on the network. UPnP provides standardized device types for lights, shutters, thermostats, and such. This may be sensible, for example, to integrate Pimatic with other home automation systems such as OpenRemote. It should also be noted that UPnP is the baseline technology adopted by DLNA. So, most TVs, AV Receivers, set-top boxes, and such talk UPnP these days.

    posted in Plugins read more
  • mwittig

    @ruudvddries This feature has been implemented as part of pimatic@0.9.36. For a page the “allowedRoles” property can be set to a list of user ids which shall be granted access. In the example shown below, the page “dash” is only visible to user “pi”:

    "pages": [
        {
          "id": "dash",
          "name": "dash",
          "allowedRoles": [
            "pi"
          ],
          "devices": [
            {
              "deviceId": "system-sensor"
            }
          ]
        },
    ...
      ],

    posted in Feature Implemented read more
  • mwittig

    pimatic-denon-avr

    screenshot

    Pimatic plugin to monitor & control a Denon AV Receiver over a network connection.

    Status of Implementation

    The feature set so far:

    • presence sensor for the power status which also provides information about the master volume and selected input source
    • power switch to switch the AVR on or off (standby)
    • mute switch to mute and unmute the master volume
    • master volume control
    • input selector
    • support for controlling multiple zones
    • auto-discovery for upcoming pimatic v0.9
    • new: HTTP transport as an alternative to using telnet for recent AVR models

    Additional features can be added easily and I am happy to do this on demand. I have tested the plugin thoroughly with Denon AVR 1200w. If you’re going to test it with other receivers please let me know about your findings. Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with.

    If you like this plugin, please consider ★ starring the project on github.

    Current Release

    • 20161001, V0.9.1
      • Added HTTP transport which can be used with '11, '12, '13, and X series AVR and newer models released since 2014
      • Improved volume control mapping between absolute, dB, and slider levels
      • Added support for undocumented MVMAX (telnet transport, only)
      • Added proper removal of event listeners to device destroy() methods to avoid potential resource leak

    posted in Plugins read more

Looks like your connection to pimatic forum was lost, please wait while we try to reconnect.