Giter VIP home page Giter VIP logo

iobroker.ems-esp's People

Contributors

dependabot[bot] avatar mattreim avatar mcm1957 avatar michaeldvp avatar tp1de avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

iobroker.ems-esp's Issues

datapoints in api are using language dependent names.

Hi,
with version 2.0.0 all my datapoints are now in the selected web language.
So all writing into influxdb is to new datapoints, old history is lost.
A little bit of inconsitency, some values are the original old names :-(

See screenshots:
grafik

The line "dampedoutdoortemp" is still there (as not deleting data with database use), but not active anymore. New temperature is provided in "gedämpfte Außentemperatur".

This breaks all history of ESP data!

IMHO the api should not be language dependent, in the web configuration some configuration (e.g. boolean format for web // boolean format for api/mqtt) takes this perfectly into account.

Maybe that this new problem is in connection to the "use language for device entities" - this should be ONLY for web, not for api/mqtt.

Please revert/solve soon, as I loose my continous historic data - thank you
cu
Harvey

feature: MX300

Hi,

I try to understand what protocol the MX300 device use. The app seems to check that the local device is available (didn't figure out how; device does not answer to ping and seems not to have a port open in range 1 to 1000). Then it communicates with an online web service on port 443 (TLS encrypted).
Any other experience to get to the MX300 device data? Maybe this adapter could support the MX300, too?

Support of new Bosch Gateways - e.g. MX300

As far as I can see new Bosch Gateways are not accessible on local LAN anymore.
Therefore the EMS-ESP Adapter does not work.

Older Gateways could be accessed by local http API call. The get/post commands just needed to be en-/decrypted.
The necessary key was generated by using the gateway password next to the private password set by using the myDevice App.

New gateways just seem to communicate with the Bosch cloud. Cloud-based apps like MyBuderus / HomeCom etc. are using this cloud data. The functionality is very limited for private users. Installers can use a paid version which might offer more info / functionality.

Since this adapter does not support cloud access, I might recommend to consider buying an EMS-ESP gateway from BBQKees.
https://bbqkees-electronics.nl/

If there are any other findings, please reply.

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/tp1de/ioBroker.ems-esp

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Adapter stürzt immer wieder ab

Hallo zusammen,

Ich habe eine neue Wärmepumpe und das Gateway S32 von BBQKees (Firmware 3.5.1).
die Wärmepumpe und das Gateway scheinen ohne Probleme mit einander zu kommunizieren.
Nun haber ich mir den iobroker-Adapter EMS-ESP installiert und versuche ihn erst einmal "minimal" zu betreiben. also nur IP eingetragen.
im Gateway noch das "Boolean Format" auf 1/0 und "Bypass Access Token authorization on API calls" auf true

hat jemand eine Idee?

Gruß
und Danke

im iobroker log kommt dann folgender Absturz:
info: host.yyyyyyyyyyyy instance system.adapter.ems-esp.0 started with pid 20864
info: ems-esp.0 (20864) starting. Version 1.30.0 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v18.16.1, js-controller: 5.0.6
info: ems-esp.0 (20864) API version identified V3
info: ems-esp.0 (20864) start initializing ems states false
info: ems-esp.0 (20864) V3 url:http://xx.xx.xx.xx/api/system
info: ems-esp.0 (20864) V3 url1:http://xx.xx.xx.xx/api/boiler
error: ems-esp.0 (20864) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
error: ems-esp.0 (20864) unhandled promise rejection: Unexpected token , in JSON at position 119
error: ems-esp.0 (20864) SyntaxError: Unexpected token , in JSON at position 119
at write_state (/opt/iobroker/node_modules/iobroker.ems-esp/lib/ems.js:413:22)
at init_states_emsesp (/opt/iobroker/node_modules/iobroker.ems-esp/lib/ems.js:95:8)
at async Object.init (/opt/iobroker/node_modules/iobroker.ems-esp/lib/ems.js:44:17)
at async main (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:99:49)
error: ems-esp.0 (20864) Unexpected token , in JSON at position 119

Wirkungsgradberechnung

Hallo,
ich möchte gerne die Wirkungsgradberechnung im EMS-ESP Adapter aktivieren, habe aber keinen KM200.
Habe mir den Quellcode auf Github angesehen. Wenn ich es richtig verstehe müsste die Berechnung auch ohne KM200 funktionieren.
Mein Problem ist die Rücklauftemperatur. Bei meiner Anlage gib es diesen Wert nicht (ZSB 24-5). Daher habe ich einen Dallassensor als Rücklauffühler.
Frage: währe es möglich in der Adapterkonfiguration die Rücklauftemperatur auf einen anderen Datenpunkt umzulenken?
Ich weiß, dass das einer Anpassung im Adapter bedarf. Aber vielleich würden sich andere Benutzer auch darüber freuen.
Viele Grüße und vielen Dank für die tolle Arbeit
joschi71r

Value not send to MB-Lan ?

Describe the bug
A value written to:
ems-esp.0.heatingCircuits.hc1.operationMode is not send to the Interface.

The value is probably not sent to the interface and is overwritten by the value set by the app after a certain time (approx. 6-120sec).
Example:
Set by app: permanentlyLow(1)
New transmitted value :permanentlyHigh(2)
Value is set, remains red, and is then reset to permanentlyLow(1)

** Releated to gateway(s) and/or adapter configuration

B Which version of the ems-esp adapter are you using?
2.5.1

C is this bug related to the ems-esp or km200 gateway? (which gateway hardware are you using?)
km200

D please descripe software versions of the ems-esp firmware and/or km200 gateway
Gateway Firmware 01.10.03, iCom_Low_v1

E please post screenshot(s) of the adapter config

Expected behavior
in the "old" Adapter Buderus KM200 I was able to change the value.

IOBroker;
Node.js v18.17.1
js-controller: 5.0.12

Edit KM200.csv

The Adapter is working perfectly, but i want to edit the km200.csv file because i get lot error because there are to many fields in dont need.

how i can do that ???

I think there are many people out there with the same problem as me.

Green Lamp - Gateway unreachable

Actually the adapter doesn't show if the ems-esp gateway is reachable:
image

Today my gateway get stuck, and I didn't recognize, because the lamp was green.

Isn't there a possibility to make it like this:
image

error reading KM200 gateway information (wrong passwords please re-enter) - stop km200 read

Hello,

I'm trying to use the km200-part for my Buderus gateway. I checked the IP, used the gateway pw and the private pw which I use for the Buderus MyDevice App (which works perfectly fine). For the gateway pw I used the 16 digits with our without the dash.

The instance mouseover tells me its connected but when I check in objects > controls > active it's not.

Can someone please help me?

thanx, Martin

Update stable version in repo from 2.6.2 to 2.6.3

Think about update stable version to 2.6.3

Version: stable=2.6.2 (62 days old) => latest=2.6.3 (15 days old)
Installs: stable=810 (61.36%), latest=129 (9.77%), total=1320

Click to use developer portal
Click to edit

Note: This is an automatically generated message and not personally authored by bluefox!
Do not close this issue manually as a new issue will be created if condition for update still exists
@mcm1957 for evidence

Warnung nach Update von V1.30.0 auf V2.1.0

Nach dem Update auf v 2.1.0 wird nach jeder Aktualisierung folgende Warnung im Iobroker Protokoll gemeldet:

Der für „ems-esp.0.heatingCircuits.hc2.fastHeatupFactor“ festzulegende Statuswert hat den Wert „0“, der kleiner als min. „1“ ist.
Diese Meldung kommt für hc1 und hc2

AHS (Alternative Heatsource / Buderus AM200 Module) values not displayed

Hi,

great adapter! I really appreciate all the work you put into this...

I have the following problem / configuration:
When a AM200 (Alternative Heatsource) module is present additional values are generated by EMS-ESP under the boiler/ahs path.
The return value of http://ems-esp/api/boiler looks like this (please not the "ahs" part at the bottom):

{ "wwsettemp": 13, "wwseltemp": 52, "wwtype": "layered buffer", "wwcomfort": "eco", "wwflowtempoffset": 40, "wwmaxpower": 100, "wwcircpump": "off", "wwchargetype": "3-way valve", "wwhyston": -8, "wwhystoff": 0, "wwdisinfectiontemp": 69, "wwcircmode": "2x3min", "wwcirc": "off", "wwcurtemp": 27.2, "wwcurtemp2": 27.3, "wwcurflow": 0.0, "wwstoragetemp1": 27.3, "wwstoragetemp2": 27.3, "wwactivated": "on", "wwonetime": "off", "wwdisinfecting": "off", "wwcharging": "off", "wwrecharging": "off", "wwtempok": "off", "wwactive": "off", "ww3wayvalve": "off", "wwmixertemp": 32.7, "wwcylmiddletemp": 52.7, "wwstarts": 1068, "wwworkm": 11220, "heatingactive": "off", "tapwateractive": "off", "selflowtemp": 33, "selburnpow": 100, "heatingpumpmod": 10, "outdoortemp": 7.3, "curflowtemp": 32.7, "rettemp": 29.7, "switchtemp": 33.1, "syspress": 1.7, "burngas": "off", "burngas2": "off", "flamecurr": 0.0, "heatingpump": "on", "fanwork": "off", "ignwork": "off", "oilpreheat": "off", "heatingactivated": "on", "heatingtemp": 75, "pumpmodmax": 100, "pumpmodmin": 10, "pumpdelay": 3, "burnminperiod": 10, "burnminpower": 0, "burnmaxpower": 100, "boilhyston": -6, "boilhystoff": 6, "curburnpow": 0, "burnstarts": 2954, "burnworkmin": 138120, "burn2workmin": 0, "heatworkmin": 126900, "ubauptime": 666119, "lastcode": "6L(229) 07.04.2022 19:59 (0 min)", "servicecode": "0Y", "servicecodenumber": 204, "maintenancemessage": "H00", "maintenance": "off", "maintenancetime": 6000, "maintenancedate": "01.01.2009", "ahs": { "altflowtemp": 65.2, "cyltoptemp": 54.4, "cylcentertemp": 58.4, "cylbottomtemp": 46.8, "valvebuffer": 50, "valvereturn": 50, "altpumpmod": 50, "vr2config": "bypass", "ahsactivated": "off", "apumpconfig": "on", "apumpsignal": "off", "apumpmin": 50, "temprise": "off", "setreturntemp": 60, "mixruntime": 120, "setflowtemp": 70, "bufbypass": "no", "bufmixruntime": 120, "bufconfig": "monovalent", "blockmode": "blocking", "blockterm": "n_o", "blockhyst": 5, "releasewait": 60 } }

I am pretty much interested in /boiler/ahs/altflowtemp, cyltoptemp, cylcentertemp, cylbottomtemp and maybe apumpconfig and so on...

Instead of a folder 'ahs' inside of 'boiler' just a single node is created in ioBroker.
I would expect a folder to be created with the values according to the JSON above...

Bildschirmfoto 2022-12-22 um 18 45 03

It seems that the Adapter is trying to pull the values from ems-esp. I get the following in the log:

000+00:38:21.247 E 199: [emsesp] Call failed with error: cannot find values for entity 'ahs/valvebuffer' (Error) 000+00:38:21.247 E 200: [emsesp] Call failed with error: cannot find values for entity 'ahs/valvereturn' (Error) 000+00:38:21.247 E 201: [emsesp] Call failed with error: cannot find values for entity 'ahs/altpumpmod' (Error) 000+00:38:21.247 E 202: [emsesp] Call failed with error: cannot find values for entity 'ahs/vr2config' (Error) 000+00:38:21.247 E 203: [emsesp] Call failed with error: cannot find values for entity 'ahs/ahsactivated' (Error) 000+00:38:21.247 E 204: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpconfig' (Error) 000+00:38:21.247 E 205: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpsignal' (Error) 000+00:38:21.247 E 206: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpmin' (Error) 000+00:38:21.247 E 207: [emsesp] Call failed with error: cannot find values for entity 'ahs/temprise' (Error) 000+00:38:21.247 E 208: [emsesp] Call failed with error: cannot find values for entity 'ahs/setreturntemp' (Error) 000+00:38:21.247 E 209: [emsesp] Call failed with error: cannot find values for entity 'ahs/mixruntime' (Error) 000+00:38:21.247 E 210: [emsesp] Call failed with error: cannot find values for entity 'ahs/setflowtemp' (Error) 000+00:38:21.247 E 211: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufbypass' (Error) 000+00:38:21.247 E 212: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufmixruntime' (Error) 000+00:38:21.247 E 213: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufconfig' (Error) 000+00:38:21.247 E 214: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockmode' (Error) 000+00:38:21.247 E 215: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockterm' (Error) 000+00:38:21.247 E 216: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockhyst' (Error) 000+00:38:21.247 E 217: [emsesp] Call failed with error: cannot find values for entity 'ahs/releasewait' (Error) 000+00:38:29.733 E 218: [emsesp] Call failed with error: cannot find values for entity 'ahs/altflowtemp' (Error) 000+00:38:29.733 E 219: [emsesp] Call failed with error: cannot find values for entity 'ahs/cyltoptemp' (Error) 000+00:38:29.733 E 220: [emsesp] Call failed with error: cannot find values for entity 'ahs/cylcentertemp' (Error) 000+00:38:29.733 E 221: [emsesp] Call failed with error: cannot find values for entity 'ahs/cylbottomtemp' (Error) 000+00:38:29.733 E 222: [emsesp] Call failed with error: cannot find values for entity 'ahs/valvebuffer' (Error) 000+00:38:29.733 E 223: [emsesp] Call failed with error: cannot find values for entity 'ahs/valvereturn' (Error) 000+00:38:29.733 E 224: [emsesp] Call failed with error: cannot find values for entity 'ahs/altpumpmod' (Error) 000+00:38:29.733 E 225: [emsesp] Call failed with error: cannot find values for entity 'ahs/vr2config' (Error) 000+00:38:29.733 E 226: [emsesp] Call failed with error: cannot find values for entity 'ahs/ahsactivated' (Error) 000+00:38:29.733 E 227: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpconfig' (Error) 000+00:38:29.733 E 228: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpsignal' (Error) 000+00:38:29.733 E 229: [emsesp] Call failed with error: cannot find values for entity 'ahs/apumpmin' (Error) 000+00:38:29.733 E 230: [emsesp] Call failed with error: cannot find values for entity 'ahs/temprise' (Error) 000+00:38:29.733 E 231: [emsesp] Call failed with error: cannot find values for entity 'ahs/setreturntemp' (Error) 000+00:38:29.733 E 232: [emsesp] Call failed with error: cannot find values for entity 'ahs/mixruntime' (Error) 000+00:38:29.733 E 233: [emsesp] Call failed with error: cannot find values for entity 'ahs/setflowtemp' (Error) 000+00:38:29.733 E 234: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufbypass' (Error) 000+00:38:29.733 E 235: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufmixruntime' (Error) 000+00:38:29.733 E 236: [emsesp] Call failed with error: cannot find values for entity 'ahs/bufconfig' (Error) 000+00:38:29.733 E 237: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockmode' (Error) 000+00:38:29.733 E 238: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockterm' (Error) 000+00:38:29.733 E 239: [emsesp] Call failed with error: cannot find values for entity 'ahs/blockhyst' (Error) 000+00:38:29.733 E 240: [emsesp] Call failed with error: cannot find values for entity 'ahs/releasewait' (Error)

Not sure if the problem is in ems-esp API itself or the ioBroker.ems-esp

  • Adapter version: 1.15.0
  • Node version: v16.15.1
  • Operating system: Ubuntu 20.04
  • ems-esp Version: v3.5.0b7

This happens in native ems-esp and the KM200 structure

thanks,
Michael

State values are not beeing aknowledged after successful change in ems-esp or km200 by the adapter

Hi Thomas,
when changing a state value in ioBroker, the adapter does not acknowledge the new value in ioBroker when the change was successful in ems-esp or km200. As far as i can see this happens for all states.

Example:
When changing ems-esp.0.dhwCircuits.dhw1.singleChargeSetpoint (for km200) or ems-esp.0.dhwCircuits.dhw1.wwseltemp (for ems-esp) the value gets changed in ems-esp or km200 successfully! However, the adapter does not aknowledge the value. The value is displayed in 'red' in ioBroker. When hovering over the value with the mouse it is displayed as Aknowledged: false, From: Admin.0

Expected behaviour:
When changing a value in ioBroker without the 'aknowledged' checkbox set, the value needs to be aknowledged by the adapter after successfully sending it to km200 or ems-esp. The value will be displayed in 'green', then in 'white' after the adapter has aknowledged the value. When hovering over the value it should be displayed as Aknowledged: true, From: ems-esp.0 (instance ID of the adapter beeing 0)

Best Regards,
Michael

Please allow km200_polling < 90

It works fine for smaller devices

ems-esp.0 | 2023-08-19 14:08:13.429 | info | KM200: polling every 60 secs
ems-esp.0 | 2023-08-19 14:08:13.428 | info | end of initializing KM200 states
ems-esp.0 | 2023-08-19 14:07:57.204 | info | start initializing KM200 states
ems-esp.0 | 2023-08-19 14:07:57.201 | info | write KM200 file:/opt/iobroker/iobroker-data//ems-esp/0/km200.csv
ems-esp.0 | 2023-08-19 14:07:57.200 | info | End reading KM200 data-structure: 115 fields found
ems-esp.0 | 2023-08-19 14:07:24.491 | info | start reading KM200 data-structure
ems-esp.0 | 2023-08-19 14:07:24.240 | info | starting. Version 2.2.0 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v18.17.1, js-controller: 5.0.11

Energy recordings (consumption) enabled for ems-esp gateways

With adapter version >= 2.3.1 energy consumption processing and statistics for the ems-esp gateways are enabled.

Similar to the "recordings" within the original Bosch gateways the energy statistics are processed in a similar way.
Recordings take samples of modulation / boiler power every minute, for ems-esp this samples are taken now every 15 seconds.
The result is within objects substructure "energy".

As a result, the power consumption is even more accurate than recordings. I will go on testing and comparing.

The recordings provide historic consumptions, the ems-esp statistics are collected when you start this function within the ioBroker adapter. Whenever the ems-esp gateway is down or the adapter is not running, statistics can't be collected.

Please report your experience with this new function.

Adapter stürzt immer wieder ab

Hallo,

leider stürzt der Adapter nach ein paar Minuten ab. Ich nutze nur die KM200

ems-esp.0 | 2023-07-13 15:04:12.460 | warn | Terminated (UNCAUGHT_EXCEPTION): Without reason
-- | -- | -- | --
ems-esp.0 | 2023-07-13 15:04:12.459 | info | terminating
ems-esp.0 | 2023-07-13 15:04:12.456 | error | Parameter "instanceName" needs to be of type "string" but type "undefined" has been passed
ems-esp.0 | 2023-07-13 15:04:12.454 | error | Error: Parameter "instanceName" needs to be of type "string" but type "undefined" has been passed at Validator.assertString (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/validator.js:168:19) at AdapterClass.sendTo (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5014:31) at enable_state (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:121:10) at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:330:38) at process.processImmediate (node:internal/timers:473:21)
ems-esp.0 | 2023-07-13 15:04:12.453 | error | uncaught exception: Parameter "instanceName" needs to be of type "string" but type "undefined" has been passed
ems-esp.0 | 2023-07-13 15:03:12.449 | info | km200:true 300 secs
ems-esp.0 | 2023-07-13 15:03:12.449 | info | end of initializing km200 states
ems-esp.0 | 2023-07-13 15:02:45.380 | info | start initializing km200 states
ems-esp.0 | 2023-07-13 15:02:45.379 | info | write km200 file:/opt/iobroker/iobroker-data//ems-esp/0/km200.csv
ems-esp.0 | 2023-07-13 15:02:45.379 | info | End reading km200 data-structure: 109 fields found
ems-esp.0 | 2023-07-13 15:02:12.397 | info | start reading km200 data-structure
ems-esp.0 | 2023-07-13 15:02:12.071 | info | starting. Version 1.31.0 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v18.7.0, js-controller: 5.0.7

Vielen Dank und Grüße :)

Native boolean values are converted into numbers which are written as numbers into database (influxdb)

Hi,
the bug:
some values are booleans in emsep32 (eg. in emsep32 v3.4b17) but displayed as number

versions:
ems-esp32: 3.4b17 (boolean format: true/false, enum format: Index)
iobroker admin 5.4.9
iobroker ems-esp: 1.12.1 (not km200 formating)
iobroker echarts: 1.0.7

this is an iobroker native datapoint for "hpheatingon":

{
  "_id": "ems-esp.0.boiler.hpheatingon",
  "type": "state",
  "common": {
    "id": "boiler.hpheatingon",
    "name": "ems: hp heating",
    "type": "number",
    "read": true,
    "write": false,
    "role": "value",
    "states": {
      "0": "Off",
      "1": "On"
    },
    "min": 0,
    "max": 1
  },
  "native": {
    "ems_type": "boolean",
    "ems_command": "hpheatingon",
    "ems_device": "boiler",
    "ems_id": "",
    "ems_api": "V3"
  },
  "from": "system.adapter.ems-esp.0",
  "user": "system.user.admin",
  "ts": 1652782708358,
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  }
}

The "ems_type: boolean" is converted into a "type: number" with the states "0: Off", "1: On". With this setting the native boolean values are stored as numbers in influxdb and consequently handled as numbers in following applications like echarts.

It is more or less an optical problem, as true/false or On/Off is also handled as 1/0, so lines/steps in echarts are ok. But the reading of a chart with "Heating On: 0" and "Heating On: 1" is less intuitive as "Heating On: TRUE" or "Heating On: FALSE". (Or even better "Heating: On" and "Heating: Off", as all the info is there.

thank you
Harvey

Compatibility check to js-controller 4.0

Dear Adapter developer,

with js-controller 4.0 object definitions are now also checked that min/max in only provided for number/mixed objects and that the type of the default value matches to the object type.

If something is not correct this is logged as 'warning' or 'info' log.

Please also make sure to update to the lastest @iobroker/testing dependency 2.5.4 or to accept the PR from Apollon77 for legacy testing!

Please spent some time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn or info log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1749

Please close the issue after you checked it.

Thank you very much for your support to get the best experience for the growing numbers of ioBroker users!

Data structure for heat demand calculation is not activated

Describe the bug
When I edit, e.g., the weight of the room "Wohnzimmer" in the instance configuration page "Heat Demand", the data point ems-esp.0.controls.hc1.Wohnzimmer.weight should be updated accordingly. But it is not.

** Releated to gateway(s) and/or adapter configuration
B Which version of the ems-esp adapter are you using? 2.6.3

Expected behavior
When I add the configuration page of the adapter instance, the configuration should reflect these changes as soon as possible. It would be great, if changes to the objects would also trigger changes of the configuration. Then, e.g. the weights could be adapted dynamically to the situation, e.g., differnt weights during day and during night.

Update stable version in repo from 2.2.0 to 2.4.1

Think about update stable version to 2.4.1

Version: stable=2.2.0 (47 days old) => latest=2.4.1 (15 days old)
Installs: stable=573 (54.36%), latest=122 (11.57%), total=1054

Click to use developer portal
Click to edit

Note: This is an automatically generated message and not personally authored by bluefox!

ems-esp adapter is requesting data for "unknown device"

Hi,
after updateing to ems-esp v3.7.0-dev0 (2023-10-09 around 16:00) this error is logged in ems-esp:
grafik

the times correspond to the times of the ems-esp adapter in my iobroker installation, e.g when stopping no errors, restarting errors start again at the times of the polling od data.
No error with initial data (/thermostat, /boiler, /system)

I dont see the wrong api call, please help me with settings to log the error (ems-esp or ems-esp-iobroker adapter)
grafik

Dauerhafte Warneineinträge im Protokoll

Describe the bug
Ich erhalte im Protokoll wiederkehrende Warnreinträge (siehe Screenshot).

Releated to gateway and adapter configuration
B KM200
C
D

Expected behavior
Der Adapter funktioniert super, aber das Protokoll nicht mit Warneinträgen geflutet zu bekommen wäre nett.

Additional context

grafik

Switch WM10 missing in iobroker but shown via mqtt

Hi,

in my setup I have a WM10 switch controlling the hc1 pump which is missing in iobroker while shown via MQTT:

EMS-ESP:
image

iobroker:
image

MQTT:
image

Do you have an explanation for that or is it a bug which should be fixed?
I am using the latest release version 1.15:
image

Thank you

Viele Error + Warnungen im LOG

Buderus Wärmepumpe mit IP-Inside KM200

image

ems-esp.1 2022-02-17 17:50:20.870 warn Terminated (UNCAUGHT_EXCEPTION): Without reason
ems-esp.1 2022-02-17 17:50:20.867 info terminating
ems-esp.1 2022-02-17 17:50:20.860 error Cannot read property 'length' of undefined
ems-esp.1 2022-02-17 17:50:20.859 error TypeError: Cannot read property 'length' of undefined at hours (/opt/iobroker/node_modules/iobroker.ems-esp/lib/km200.js:469:41) at async km200_recordings (/opt/iobroker/node_modules/iobroker.ems-esp/lib/km200.js:396:17) at async Object.init (/opt/iobroker/node_modules/iobroker.ems-esp/lib/km200.js:98:4) at async main (/opt/iobroker/node_modules/iobroker.ems-esp/main.js:99:49)
ems-esp.1 2022-02-17 17:50:20.857 error unhandled promise rejection: Cannot read property 'length' of undefined
ems-esp.1 2022-02-17 17:50:20.856 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
ems-esp.1 2022-02-17 17:50:20.665 info km200:true 300 secs
ems-esp.1 2022-02-17 17:50:20.664 info end of initializing km200 states
ems-esp.1 2022-02-17 17:50:20.652 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:20.652 warn Object ems-esp.1.gateway.logging.userAcceptance is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:20.503 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:20.502 warn Object ems-esp.1.gateway.update.status is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:20.360 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:20.359 warn Object ems-esp.1.gateway.instWriteAccess is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:20.220 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:20.220 warn Object ems-esp.1.gateway.instAccess is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:19.657 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:19.656 warn Object ems-esp.1.gateway.uuid is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:19.352 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:19.351 warn Object ems-esp.1.system.holidayModes.hm5.dhwMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:19.201 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:19.200 warn Object ems-esp.1.system.holidayModes.hm5.hcMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:18.770 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:18.770 warn Object ems-esp.1.system.holidayModes.hm4.dhwMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:18.631 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:18.630 warn Object ems-esp.1.system.holidayModes.hm4.hcMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:18.190 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:18.190 warn Object ems-esp.1.system.holidayModes.hm3.dhwMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:18.040 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:18.040 warn Object ems-esp.1.system.holidayModes.hm3.hcMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:17.622 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:17.621 warn Object ems-esp.1.system.holidayModes.hm2.dhwMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:17.474 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:17.473 warn Object ems-esp.1.system.holidayModes.hm2.hcMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:17.043 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:17.042 warn Object ems-esp.1.system.holidayModes.hm1.dhwMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:16.894 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:16.893 warn Object ems-esp.1.system.holidayModes.hm1.hcMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:15.603 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:15.602 warn Object ems-esp.1.system.healthStatus is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:15.162 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:15.162 warn Object ems-esp.1.system.bus is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:15.017 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:15.016 warn Object ems-esp.1.system.systemType is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:14.866 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:14.865 warn Object ems-esp.1.system.brand is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:14.715 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:14.714 warn Object ems-esp.1.heatingCircuits.hc1.status is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:14.564 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:14.563 warn Object ems-esp.1.heatingCircuits.hc1.holidayMode.activated is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:14.415 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:14.414 warn Object ems-esp.1.heatingCircuits.hc1.currentSuWiMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:14.271 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:14.270 warn Object ems-esp.1.heatingCircuits.hc1.suWiSwitchMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:13.253 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:13.252 warn Object ems-esp.1.heatingCircuits.hc1.switchProgramMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:13.105 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:13.103 warn Object ems-esp.1.heatingCircuits.hc1.activeSwitchProgram is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:12.243 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:12.242 warn Object ems-esp.1.heatingCircuits.hc1.operationMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:11.820 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:11.820 warn Object ems-esp.1.dhwCircuits.dhw1.status is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:11.680 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:11.680 warn Object ems-esp.1.dhwCircuits.dhw1.holidayMode.activated is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:11.250 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:11.250 warn Object ems-esp.1.dhwCircuits.dhw1.charge is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:09.933 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:09.932 warn Object ems-esp.1.dhwCircuits.dhw1.operationMode is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:09.784 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:09.783 warn Object ems-esp.1.heatSources.hs1.flameStatus is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:09.501 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:09.500 warn Object ems-esp.1.heatSources.hs1.type is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:06.031 warn This object will not be created in future versions. Please report this to the developer.
ems-esp.1 2022-02-17 17:50:06.030 warn Object ems-esp.1.heatSources.flameStatus is invalid: obj.common.states has an invalid type! Expected "object", received "string"
ems-esp.1 2022-02-17 17:50:05.455 info start initializing km200 states
ems-esp.1 2022-02-17 17:50:05.451 info write km200 file:/opt/iobroker/iobroker-data//ems-esp/1/km200.csv
ems-esp.1 2022-02-17 17:50:05.449 info End reading km200 data-structure: 104 fields found
ems-esp.1 2022-02-17 17:49:26.428 info start reading km200 data-structure
ems-esp.1 2022-02-17 17:49:24.581 info starting. Version 1.1.1 in /opt/iobroker/node_modules/iobroker.ems-esp, node: v14.19.0, js-controller: 4.0.10
ems-esp.1 2022-02-17 17:49:18.622 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
ems-esp.1 2022-02-17 17:49:18.620 info terminating
ems-esp.1 2022-02-17 17:49:18.616 info Got terminate signal TERMINATE_YOURSELF

Confusing config. description in readme.md

Describe the bug
The chapter "important settings in EMS-ESP:"
instructs to "The Enable API write commands settings within ems-esp has to be enabled"

Unfortunately I cannot find this in the latest stable version of the EMS-ESP setting (Ver. 3.4.4)
The only setting I can see is the checkbox "Enable Read only mode (blocks all outgoing EMS Tx write commands)"
Is this the right one? If yes, please correct this in the *.md file.

Einheiten Solar sind falsch

image

Hallo,

erstmal danke für deine Arbeit. Sehr guter Adapter.
Mir ist ein Schönheitsfehler aufgefallen.
Unter ems-esp.0.recordings.solarCircuits.sc1.solarYield sind die Einheiten falsch. Die Werte sind Wh und nicht kWh.

Gruß

Tom

ems-esp.0.thermostat.hc1 uses the parameters of "internal temperature offset"

Describe the bug
in "ems-esp.0.thermostat.hc1" the parameters of "internal temperature offset" are described

To Reproduce
open iobroker ems-esp objects
select ems-esp.0.thermostat.hc1
see the description "ems:hc1 internal temperature offset" for the hc1 object
see parameters like min=-12, max=12

Expected behavior
The "ems:hc1:internal temperature offset" should be an individual object like all the others, "ems-esp.0.hc1" has no parameters

Screenshots & Logfiles
grafik

grafik

Versions:

  • Adapter version: 1.23.0

Additional context
This bug leads into lots of warning, as more or less all temperatures aure outside the min/max range of "internal temperature offset".
No KM200 used.

KM200: Axios put: Errormeldung bei jeder schreibbaren Variable

A clear and concise description of what the bug is:

Wenn eine Variable im Iobroker geschrieben werden soll (testweise direkt aus dem Objects-Baum), kommt immer der gleiche Typ Fehlermeldung 404. Beispiel aus dem Log

2023-12-14 19:08:14.396 | warn | KM200 http write error undefined:heatingCircuits.hc1.temperatureLevels.comfort2
2023-12-14 19:08:14.396 | error | axios put: heatingCircuits.hc1.temperatureLevels.comfort2 AxiosError: Request failed with status code 404
2023-12-14 19:08:14.292 | info | KM200 write change: ems-esp.0.heatingCircuits.hc1.temperatureLevels.comfort2: 21

Dies passiert bei allen Variablen die ich versuche zu schreiben. Der Wert wird auch nicht in die Wärmepumpe übertragen.

B Which version of the ems-esp adapter are you using?
V2.6.2

C is this bug related to the ems-esp or km200 gateway? (which gateway hardware are you using?)
MB LAN gateway in Bosch Erdwärmepumpe CS7000iLW mit iCOM_Low_NSCv1 MB LAN

D please descripe software versions of the ems-esp firmware and/or km200 gateway
SW-Version 04.08 laut Display

E please post screenshot(s) of the adapter config
grafik
grafik
grafik

Expected behavior

Wenn eine Variable direkt im Objects-Baum beschrieben wird, sollte der Wert auch in die WP übertragen werden. :-)

Vielen Dank!

Dallas-Sensoren werden nicht in den iobroker übernommen.

Hallo Thomas,
ich habe ein neues Problem festgestellt .
ich habe den Haken bei "Dallas" gesetzt aber die Thermometer werden nirgends angezeigt (über MQTT aber schon).
http://ems-esp/api/dallassensor/ ergibt:
{
"message": "unknown device"
}

http://ems-esp/api/temperaturesensor/
{
"28-38A6-5704-183C": 45.1,
"28-6694-5704-653C": 38.4,
"28-B9F1-5704-823C": 38.1,
"WW Vorlauf": 46.3,
"Raumtemperatur": 33.6
}

ich Nutze v3.6.0-dev.12

Gruß und Dank
Matthias

km200

I have a Buderus oil burner connected to an underfloor heating system. For this, I am using the WM10 mixing module to operate a buffer storage tank as a hydraulic separator.
Unfortunately, I can't find the flow temperature of the heating circuit or the temperature inside the separator (in my case, the buffer storage tank) in the outputs I get from my KM200.
Am I looking in the wrong place, or are the details from the mixing module not available?

History DB Issue with KM200 Monthly Recordings

Hi. Initially recording of the consumptions was enabled via an influxdb.
For different reasons I want to move to the history adapter. Doing so it works for the hourly and daily items,
however, data are not up to date for the the monthly items . Turning back to the influxdb monthly data are Ok.
On below, data are not OK anymore since August 2023

image

Any clue?
thx!

Please fix issues reported by adapter checker

👀 [W105] "common.titleLang" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
👀 [W109] "common.desc" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)

Integrierung - Buderus KM200 HRV für Lüftungsanlagen

Hallo,
Ich habe folgenden Wunsch:
Vielleicht könnte dies integriert werden.

Leider ist in dem Adapter das Buderus KM200 HRV Gateway für Logavent Lüftungsanlagen nicht integriert.

Die Daten lassen sich nicht richtig auslesen, einige Daten werden aber abgegriffen.
Die Verbindung wurde erfolgreich über den Adapter hergestellt.
Nur kann man mit den Daten nichts anfangen...

Screenshot 2022-01-31 162736

Habe eine Buderus HRV2 Lüftungsanlage in Verbindung mit dem KM200 HRV und der Buderus App "My Vent".

Ich bin gerne bereit bei der Integrierung zu unterstützen und zu testen.

Unusal files at adapter root - please check

The following files seem to be misplaced at adapter root directoy:

index_m.html
words.js

Thea are normally located at admin directory (and they are there too)


Please check whether driectories:test is really desired at package.json. normally the test directory is NOZT delivred to customer systems

"test": "test"

Update stable version in repo from 2.8.0 to 3.0.3

Think about update stable version to 3.0.3

Version: stable=2.8.0 (49 days old) => latest=3.0.3 (15 days old)
Installs: stable=717 (52.72%), latest=114 (8.38%), total=1360

Click to use developer portal
Click to edit

Note: This is an automatically generated message and not personally authored by bluefox!
Do not close this issue manually as a new issue will be created if condition for update still exists
@mcm1957 for evidence

error ems read status

Hallo,
Habe eine Bosch 7001 Wärmepumpe. Die Haken sind alle auf Grün, aber es werden keine Daten gelesen. Im Protokol steht nur
error ems read status
Eine Idee dazu?

update ioBroker.ems-esp failed

Update to available Version 3.0.3:
The update is going through, but a 404 appears in the Instances section.

with... ioBroker Update -i

I receive the following message

Used repository: stable
Cannot read or parse /opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/.. /node_modules/iobroker.ems-esp/io-package.json: /opt/iobroker/node_modules/iobroker.ems-esp/package.json: Unexpected end of JSON input
Cannot read or parse /opt/iobroker/node_modules/@iobroker/js-controller-common/build/lib/common/.. /node_mod

Some sensor Data wrong values?

Hi, first thanks for the great great work! The solution of the Bosch is in fact crap compared on whats possible here ;-)
Looks some sensor data (chimney, hotwater_t2, supply_T1_setpoint, switch) have some incorrect information.
See data with value 3200. Data are read from the KM200.

image

SyntaxError: Unexpected token � in JSON at position 0

After Updating the Buanet Iobroker Image in the Docker to the latest Version (Node.js: v18.20.1 / NPM: 10.5.1 / IOB: v6.13.16) for the update of the ems-esp to Version 3.03 i get a red protocol response by using the km200 gateway:

km200 decrypt: http://192.168.0.225 - SyntaxError: Unexpected token � in JSON at position 0

Excepting this entry the Adapter works fine an i get the data from the km100.
No additional entrys in the configuration excepting ip adress an password(s).

Is this a problem that I can fix by myself or is it a failure in the adapter?

Thank you.

Screenshot 2024-04-05 180326

error reading KM200 gateway information (wrong passwords please re-enter) - stop km200 read

i get this error message since i try to change over from km200 adapter to ems-esp adapter
error reading KM200 gateway information (wrong passwords please re-enter) - stop km200 read
i changed the personal password several times and re enered the gatway password but always the same error message
i typed in the gateway password complete the same way as on the sticker (same as in the km200 adapter)
on the old km200 adapter all worked fine
i changed the log mode of the adapter to all but no addittional messages about the connection attemp
ems-esp v2.6.3
admin v6.13.16
node v 18.18.2
npm v9.8.1
system raspberry 4
heating Bosch mblan2:
software 4.8.2
hardware v1

Daten werden nicht mit Version 2.6.3 aktualisiert. KM200

"Daten werden mit der oben genannten Version nicht aktuallsiert."

Systemdaten:
Plattform: docker (official image - v9.0.1)
Betriebssystem: linux
Architektur: x64
CPUs: 2
Geschwindigkeit: 2001 MHz
Modell: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz
RAM: 9.5 GB
System-Betriebszeit: 220 T. 11:06:26
Node.js: v18.19.0
time: 1706788795180
timeOffset: -60
NPM: 10.2.3
Adapter-Anzahl: 527
Datenträgergröße: 3572.6 GB
Freier Festplattenspeicher: 3198.3 GB
Aktive Instanzen: 28
Pfad: /opt/iobroker/
Betriebszeit: 05:28:16
aktiv:

Buderus gb212 Km200

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.