npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pimatic-home-connect

v0.2.17

Published

Pimatic plugin to connect home-connect to Pimatic

Downloads

57

Readme

pimatic-home-connect

Pimatic plugin for connecting Home-Connect devices to Pimatic

Installation

HOME-CONNECT

Create an application in your account on the developers site of Home-connect. For the simulator usage Authorisation Code Grant Flow as authorisation type and http://localhost:3000/o2c as redirect uri. The ClientId and ClientSecret of this application must be used as clientIdSim and clientSecretSim in the plugin. For live usage create another application and use Device Flow as authorisation type. The ClientId and ClientSecret of this application must be used as clientId and clientSecret in the plugin.

PIMATIC

  1. install the plugin via the plugins page
  2. add your credentials; clientId and clientSecret (for live) and clientIdSim and clientSecretSim (for simulator)
  3. set the plugin in simulator or live (simulator = false)
  4. restart Pimatic
  5. create a HomeconnectManager device
  6. start discovery and add discovered devices

The devices CoffeeMaker, Washer, DishWasher, Oven, Dryer, FridgeFreezer, Hood and CleaningRobot are implemented. In simulator mode the approval of the Home-Connect access rights is handled by the plugin. No popup screen! In Live mode the approval is done via the gui. In the HomeconnectManager device the link in the label is used for the authentication uri.

Devices must be added via the device discovery. All devices are of the HomeconnectDevice class.

Switching from Simulator mode to Live mode is done in the plugin config. After that a restart is required. Simulator devices are offline in Live mode and Live devices are offline in Simulator mode.

Actions

Actions can be executed via rules. The rule syntax is

homeconnect <device id or name> [start, startopts $<programOptionsVariable>, pause, resume, stop]

Whether an action is available, is depending on the device capabilities and the allowed control scope.

The format for the $<programOptionsVariable> is:

program: <programId>, <optionName>: <optionValue>, <optionName>: <optionValue>, ...

Example for CoffeeMaker

homeconnect <CoffeeMakerId> startopts $options

Value of the variable $options is

program: Cappuccino, BeanAmount: DoubleShot, CoffeeTemperature: 95C, FillQuantity: 100

The used syntax for the program name, option name and option value must be exactly as defined in the api documentation. See the Programs and options for syntax definitions. For an example see the CoffeeMaker API-DOCS. For the name part after the last dot is used for the value its also the part after the last dots (in case of enum) or the value itself. If a program or option parameter is not used in the option variable, the current setting for that parameter is used.

For the interface with the Home-Connect api the homeconnect_api.js is used. This lib is written by Alexander Thoukydides.

Programs and options

The following program and options settings are the maximum available for a device. A specific type / brand of a device will probably use a subset of these values. See your device manual to check what is available for your device.

Coffeemaker

Programs: Espresso, EspressoMacchiato, Coffee, Cappuccino, LatteMacchiato, CaffeLatte, Americano, EspressoDoppio, FlatWhite, Galao, MilkFroth, WarmMilk, Ristretto, Cortado, KleinerBrauner, GrosserBrauner, Verlaengerter, VerlaengerterBraun, WienerMelange, FlatWhite, Cortado, CafeCortado, CafeConLeche, CafeAuLait, Doppio, Kaapi, KoffieVerkeerd, Galao, Garoto, Americano, RedEye, BlackEye, DeadEye

BeanAmount: VeryMild, Mild, MildPlus, Normal, NormalPlus, Strong, StrongPlus, VeryStrong, VeryStrongPlus, ExtraStrong, DoubleShot, DoubleShotPlus, DoubleShotPlusPlus, CoffeeGround

CoffeeTemperature: 88C, 90C, 92C, 94C, 95C, 96C

FillQuantity: 60 - 260 with stepsize 20

Washer

Programs: Cotton, EasyCare, Mix, DelicatesSilk, Wool, Sensitive, Auto30, Auto40, Auto60, Chiffon, Curtains, DarkWash, Dessous, Monsoon, Outdoor, PlushToy, ShirtsBlouses, Outdoor, SportFitness, Towels, WaterProof

Temperature: Cold, GC20, GC30, GC40, GC50, GC60, GC70, GC80, GC90

Spinspeed: RPM400, RPM600, RPM800, RPM1000, RPM1200, RPM1400

DishWasher

Programs: Auto1, Auto2, Auto3, Eco50, Quick45, Intensiv70, Normal65, Glas40, GlassCare, NightWash, Quick65, Normal45, Intensiv45, AutoHalfLoad, IntensivPower, MagicDaily, Super60, Kurz60, ExpressSparkle65, MachineCare, SteamFresh, MaximumCleaning

StartInRelative: 1 - 86340 (in seconds)

Oven

Programs: PreHeating, HotAir, TopBottomHeating, PizzaSetting, HotAirEco, HotAirGrilling, TopBottomHeatingEco, BottomHeating, SlowCook, IntensiveHeat, KeepWarm, PreheatOvenware, FrozenHeatupSpecial, Desiccation, Defrost, Proof

SetpointTemperature: 30 - 275 (in °C)

Duration: 1 - 86340 (in seconds)

FastPreHeat: false or true

StartInRelative: 1 - 86340 (in seconds)

Dryer

Programs: Cotton, Synthetic, Mix, Blankets, BusinessShirts, DownFeathers, Hygiene, Program.Jeans, Outdoor, SyntheticRefresh, Towels, Delicates, Super40, Shirts15, Pillow, AntiShrink

DryingTarget: IronDry, CupboardDry, CupboardDryPlus

FridgeFreezer

Programs: none

SetpointTemperatureRefrigerator: 2 to 8 (in °C)

SetpointTemperatureFreezer: -24 to -16 (in °C)

SuperModeRefrigerator: false or true

SuperModeFreezer: false or true

EcoMode: false or true

Hood

Programs: Automatic, Venting, DelayedShutOff

VentingLevel: FanOff, FanStage01, FanStage02, FanStage03, FanStage04, FanStage05

IntensiveLevel: IntensiveStageOff, IntensiveStage1, IntensiveStage2

CleaningRobot

Programs: CleanAll, CleanMap, GoHome

CleaningMode: Silent, Standard, Power

ReferenceMapID: TempMap, Map1, Map2, Map3, Map4, Map5


The minimum requirement for this plugin is node v8!