nefit-easy-http-server icon indicating copy to clipboard operation
nefit-easy-http-server copied to clipboard

Nefit Enviline heatpump

Open marcews opened this issue 6 years ago • 10 comments

Did anyone have any luck with connecting to a Nefit Enviline heatpump? It looks as if the procedure is very much the same like connecting to the Nefit Easy but I am stuck at XMPP aythentication failure. Have tried every single combination of keys (from the label), prefixes etc etc.

marcews avatar Feb 18 '19 20:02 marcews

You could try this module. If you install it globally (npm install bosch-xmpp -g), it will install a command line tool that you can use to check if perhaps the "ivt" client works for your heat pump.

It also has a built-in bridge that works similar to the Easy HTTP server.

robertklep avatar Feb 18 '19 20:02 robertklep

Thank you Robert for the quick response. Tried that already with result: Unhandled rejection XMPP authentication failure. Am struggling with the 3 codes on the label. Am guessing that XXX-XXXXXXXXX-XXXXXXXXXX is the serial, Loginname = access-key (XXXXXXXXX) and Passwort = password (XXXX-XXXX-XXXX-XXXX). Loginname is identical to the middle part of serial. Or is password the password for the app (app is working fine)

marcews avatar Feb 18 '19 20:02 marcews

Speaking for the Nefit Easy: the serial number is 9 digits, the access key is 16 alphanumerical characters, and password I can't remember (but should be setable from the app).

At least for the serial number and access key, hyphens (-) should be removed. The serial number and access key are the only values that are used in the XMPP authentication, the password is used to decrypt the data that is sent by the device.

robertklep avatar Feb 18 '19 21:02 robertklep

Yep, found and tried these comments before. Is there any way to test that at least all other parameters are correct and it really fails at the xmpp auth of login an serial or is the error 100% clear that is that is is one or both credentials that fail?

marcews avatar Feb 18 '19 21:02 marcews

You can run with debug logging enabled:

env DEBUG=* bosch-xmpp --serial=XXX --access-key=YYY --password=ZZZ nefit get /ecus/rrc/uiStatus

But I'm fairly sure that if it says "XMPP authentication error", it's just that, and either the serial and/or access key aren't correct, or it's using a completely different authentication scheme.

Which (mobile) app do you use to control the heat pump?

robertklep avatar Feb 19 '19 06:02 robertklep

Nefit ProControl. With packet capture it looks like communication is the same....

Already did try debug. See file response (keys removed, do not know if that is neccesary).

response.txt

I send you a PM by email as well.

marcews avatar Feb 19 '19 12:02 marcews

Meanwhile I got this running and can read a lot of endpoints that are the same as gas heatees. but I am missing a lot of heatpump particular endpoints. Did you ever come across more info on heatpump particular endpoints?

marcews avatar Jan 22 '20 21:01 marcews

@marcews I extracted this list from the Nefit app:

[
  "/application/tbso/electricity/tariffID",
  "/application/tbso/enable",
  "/dhwCircuits",
  "/dhwCircuits/dhw1",
  "/dhwCircuits/dhw1/actualTemp",
  "/dhwCircuits/dhw1/charge",
  "/dhwCircuits/dhw1/chargeDuration",
  "/dhwCircuits/dhw1/currentSetpoint",
  "/dhwCircuits/dhw1/operationMode",
  "/dhwCircuits/dhw1/singleChargeSetpoint",
  "/dhwCircuits/dhw1/status",
  "/dhwCircuits/dhw1/switchPrograms",
  "/dhwCircuits/dhw1/switchPrograms/A",
  "/dhwCircuits/dhw1/temperatureLevels",
  "/dhwCircuits/dhw1/temperatureLevels/high",
  "/dhwCircuits/dhw1/temperatureLevels/low",
  "/dhwCircuits/dhw1/temperatureLevels/off",
  "/dhwCircuits/dhw1/waterFlow",
  "/dhwCircuits/dhw1/workingTime",
  "/gateway",
  "/gateway/DateTime",
  "/gateway/firmware",
  "/gateway/haiPassword",
  "/gateway/instAccess",
  "/gateway/instPassword",
  "/gateway/instWriteAccess",
  "/gateway/userpassword",
  "/gateway/uuid",
  "/gateway/versionFirmware",
  "/gateway/versionHardware",
  "/gservice_tariff/relativePrice/1?interval=2015-02-18",
  "/gservice_tariff/relativePrice/1?interval=2015-02-18T00:00:00/2015-02-18T23:59:59&sample-rate=P1H&recording-type=actual",
  "/gservice_tariff/tariff",
  "/gservice_tariff/tariff/SE",
  "/gservice_tariff/tariff/SE/Nordpool",
  "/gservice_tariff/tariff/SE/Nordpool/SEK",
  "/gservice_tariff/tariff/SE/Nordpool/SEK/SE1",
  "/gservice_tariff/tariffinfo/1",
  "/heatSources",
  "/heatSources/CHpumpModulation",
  "/heatSources/ChimneySweeper",
  "/heatSources/actualCHPower",
  "/heatSources/actualDHWPower",
  "/heatSources/actualModulation",
  "/heatSources/actualPower",
  "/heatSources/actualSupplyTemperature",
  "/heatSources/burnerModulationSetpoint",
  "/heatSources/burnerPowerSetpoint",
  "/heatSources/fanSpeed_setpoint",
  "/heatSources/flameCurrent",
  "/heatSources/flameStatus",
  "/heatSources/hs1",
  "/heatSources/hs1/CHpumpModulation",
  "/heatSources/hs1/actualCHPower",
  "/heatSources/hs1/actualDHWPower",
  "/heatSources/hs1/actualModulation",
  "/heatSources/hs1/actualPower",
  "/heatSources/hs1/energyReservoir",
  "/heatSources/hs1/flameStatus",
  "/heatSources/hs1/fuel",
  "/heatSources/hs1/fuel/caloricValue",
  "/heatSources/hs1/fuel/density",
  "/heatSources/hs1/fuelConsmptCorrFactor",
  "/heatSources/hs1/nominalCHPower",
  "/heatSources/hs1/nominalDHWPower",
  "/heatSources/hs1/nominalFuelConsumption",
  "/heatSources/hs1/numberOfStarts",
  "/heatSources/hs1/reservoirAlert",
  "/heatSources/hs1/supplyTemperatureSetpoint",
  "/heatSources/hs1/type",
  "/heatSources/nominalCHPower",
  "/heatSources/nominalDHWPower",
  "/heatSources/numberOfStarts",
  "/heatSources/powerSetpoint",
  "/heatSources/returnTemperature",
  "/heatSources/supplyTemperatureSetpoint",
  "/heatSources/systemPressure",
  "/heatSources/workingTime",
  "/heatSources/workingTime/centralHeating",
  "/heatSources/workingTime/secondBurner",
  "/heatSources/workingTime/totalSystem",
  "/heatingCircuits",
  "/heatingCircuits/hc1",
  "/heatingCircuits/hc1/activeSwitchProgram",
  "/heatingCircuits/hc1/actualSupplyTemperature",
  "/heatingCircuits/hc1/controlType",
  "/heatingCircuits/hc1/currentOpModeInfo",
  "/heatingCircuits/hc1/currentRoomSetpoint",
  "/heatingCircuits/hc1/designTemp",
  "/heatingCircuits/hc1/heatCurveMax",
  "/heatingCircuits/hc1/heatCurveMin",
  "/heatingCircuits/hc1/manualRoomSetpoint",
  "/heatingCircuits/hc1/operationMode",
  "/heatingCircuits/hc1/pumpModulation",
  "/heatingCircuits/hc1/roomInfluence",
  "/heatingCircuits/hc1/roomTempOffset",
  "/heatingCircuits/hc1/roomtemperature",
  "/heatingCircuits/hc1/setpointOptimization",
  "/heatingCircuits/hc1/solarInfluence",
  "/heatingCircuits/hc1/status",
  "/heatingCircuits/hc1/switchPrograms",
  "/heatingCircuits/hc1/switchPrograms/A",
  "/heatingCircuits/hc1/switchPrograms/B",
  "/heatingCircuits/hc1/temperatureLevels",
  "/heatingCircuits/hc1/temperatureLevels/comfort2",
  "/heatingCircuits/hc1/temperatureLevels/eco",
  "/heatingCircuits/hc1/temperatureRoomSetpoint",
  "/heatingCircuits/hc1/temporaryRoomSetpoint",
  "/heatingCircuits/hc2",
  "/heatingCircuits/hc2/activeSwitchProgram",
  "/heatingCircuits/hc2/actualSupplyTemperature",
  "/heatingCircuits/hc2/controlType",
  "/heatingCircuits/hc2/currentOpModeInfo",
  "/heatingCircuits/hc2/currentRoomSetpoint",
  "/heatingCircuits/hc2/designTemp",
  "/heatingCircuits/hc2/heatCurveMax",
  "/heatingCircuits/hc2/heatCurveMin",
  "/heatingCircuits/hc2/manualRoomSetpoint",
  "/heatingCircuits/hc2/operationMode",
  "/heatingCircuits/hc2/pumpModulation",
  "/heatingCircuits/hc2/roomInfluence",
  "/heatingCircuits/hc2/roomTempOffset",
  "/heatingCircuits/hc2/roomtemperature",
  "/heatingCircuits/hc2/setpointOptimization",
  "/heatingCircuits/hc2/solarInfluence",
  "/heatingCircuits/hc2/status",
  "/heatingCircuits/hc2/switchPrograms",
  "/heatingCircuits/hc2/switchPrograms/A",
  "/heatingCircuits/hc2/switchPrograms/B",
  "/heatingCircuits/hc2/temperatureLevels",
  "/heatingCircuits/hc2/temperatureLevels/comfort2",
  "/heatingCircuits/hc2/temperatureLevels/eco",
  "/heatingCircuits/hc2/temperatureRoomSetpoint",
  "/heatingCircuits/hc2/temporaryRoomSetpoint",
  "/heatingCircuits/hc3",
  "/heatingCircuits/hc3/activeSwitchProgram",
  "/heatingCircuits/hc3/actualSupplyTemperature",
  "/heatingCircuits/hc3/controlType",
  "/heatingCircuits/hc3/currentOpModeInfo",
  "/heatingCircuits/hc3/currentRoomSetpoint",
  "/heatingCircuits/hc3/designTemp",
  "/heatingCircuits/hc3/heatCurveMax",
  "/heatingCircuits/hc3/heatCurveMin",
  "/heatingCircuits/hc3/manualRoomSetpoint",
  "/heatingCircuits/hc3/operationMode",
  "/heatingCircuits/hc3/pumpModulation",
  "/heatingCircuits/hc3/roomInfluence",
  "/heatingCircuits/hc3/roomTempOffset",
  "/heatingCircuits/hc3/roomtemperature",
  "/heatingCircuits/hc3/setpointOptimization",
  "/heatingCircuits/hc3/solarInfluence",
  "/heatingCircuits/hc3/status",
  "/heatingCircuits/hc3/switchPrograms",
  "/heatingCircuits/hc3/switchPrograms/A",
  "/heatingCircuits/hc3/switchPrograms/B",
  "/heatingCircuits/hc3/temperatureLevels",
  "/heatingCircuits/hc3/temperatureLevels/comfort2",
  "/heatingCircuits/hc3/temperatureLevels/eco",
  "/heatingCircuits/hc3/temperatureRoomSetpoint",
  "/heatingCircuits/hc3/temporaryRoomSetpoint",
  "/notifications",
  "/recordings",
  "/recordings/heatSources",
  "/recordings/heatSources/actualCHPower",
  "/recordings/heatSources/actualCHPower?interval=2015-02",
  "/recordings/heatSources/actualCHPower?interval=2015-02-18",
  "/recordings/heatSources/actualCHPower?interval=2015-W8",
  "/recordings/heatSources/actualDHWPower",
  "/recordings/heatSources/actualDHWPower?interval=2015-02",
  "/recordings/heatSources/actualDHWPower?interval=2015-02-18",
  "/recordings/heatSources/actualDHWPower?interval=2015-W8",
  "/recordings/heatSources/actualPower",
  "/recordings/heatSources/actualPower?interval=2015-02",
  "/recordings/heatSources/actualPower?interval=2015-02-18",
  "/recordings/heatSources/actualPower?interval=2015-W8",
  "/recordings/heatSources/hs1",
  "/recordings/heatSources/hs1/actualPower",
  "/recordings/heatSources/hs1/actualPower?interval=2015-02",
  "/recordings/heatSources/hs1/actualPower?interval=2015-02-18",
  "/recordings/heatSources/hs1/actualPower?interval=2015-W8",
  "/recordings/heatingCircuits",
  "/recordings/heatingCircuits/hc1",
  "/recordings/heatingCircuits/hc1/roomtemperature",
  "/recordings/heatingCircuits/hc1/roomtemperature?interval=2015-02",
  "/recordings/heatingCircuits/hc1/roomtemperature?interval=2015-02-18",
  "/recordings/heatingCircuits/hc1/roomtemperature?interval=2015-W8",
  "/recordings/heatingCircuits/hc2",
  "/recordings/heatingCircuits/hc2/roomtemperature",
  "/recordings/heatingCircuits/hc2/roomtemperature?interval=2015-02",
  "/recordings/heatingCircuits/hc2/roomtemperature?interval=2015-W8",
  "/recordings/heatingCircuits/hc3",
  "/recordings/heatingCircuits/hc3/roomtemperature",
  "/recordings/heatingCircuits/hc3/roomtemperature?interval=2015-02-18",
  "/recordings/heatingCircuits/hc3/roomtemperature?interval=2015-W8",
  "/recordings/solarCircuits",
  "/recordings/solarCircuits/sc1",
  "/recordings/solarCircuits/sc1/solarYield",
  "/recordings/solarCircuits/sc1/solarYield?interval=2015-02",
  "/recordings/solarCircuits/sc1/solarYield?interval=2015-02-18",
  "/recordings/solarCircuits/sc1/solarYield?interval=2015-W8",
  "/recordings/system",
  "/recordings/system/heatSources",
  "/recordings/system/heatSources/hs1",
  "/recordings/system/heatSources/hs1/actualPower",
  "/recordings/system/heatSources/hs1/actualPower?interval=2015-02",
  "/recordings/system/heatSources/hs1/actualPower?interval=2015-02-18",
  "/recordings/system/heatSources/hs1/actualPower?interval=2015-W8",
  "/recordings/system/sensors",
  "/recordings/system/sensors/temperatures",
  "/recordings/system/sensors/temperatures/outdoor_t1",
  "/recordings/system/sensors/temperatures/outdoor_t1?interval=2015-02",
  "/recordings/system/sensors/temperatures/outdoor_t1?interval=2015-02-18",
  "/recordings/system/sensors/temperatures/outdoor_t1?interval=2015-W8",
  "/solarCircuits",
  "/solarCircuits/sc1",
  "/solarCircuits/sc1/actuatorStatus",
  "/solarCircuits/sc1/collectorTemperature",
  "/solarCircuits/sc1/dhwTankTemperature",
  "/solarCircuits/sc1/pumpModulation",
  "/solarCircuits/sc1/solarYield",
  "/solarCircuits/sc1/status",
  "/system",
  "/system/appliance",
  "/system/appliance/CHpumpModulation",
  "/system/appliance/ChimneySweeper",
  "/system/appliance/actualPower",
  "/system/appliance/actualSupplyTemperature",
  "/system/appliance/fanSpeed_setpoint",
  "/system/appliance/flameCurrent",
  "/system/appliance/nominalBurnerLoad",
  "/system/appliance/numberOfStarts",
  "/system/appliance/powerSetpoint",
  "/system/appliance/systemPressure",
  "/system/appliance/workingTime",
  "/system/appliance/workingTime/centralHeating",
  "/system/appliance/workingTime/secondBurner",
  "/system/appliance/workingTime/totalSystem",
  "/system/brand",
  "/system/bus",
  "/system/healthStatus",
  "/system/heatSources",
  "/system/heatSources/hs1",
  "/system/heatSources/hs1/actualModulation",
  "/system/heatSources/hs1/actualPower",
  "/system/heatSources/hs1/energyReservoir",
  "/system/heatSources/hs1/fuel",
  "/system/heatSources/hs1/fuel/caloricValue",
  "/system/heatSources/hs1/fuel/density",
  "/system/heatSources/hs1/fuelConsmptCorrFactor",
  "/system/heatSources/hs1/nominalFuelConsumption",
  "/system/heatSources/hs1/reservoirAlert",
  "/system/holidayModes",
  "/system/holidayModes/hm1",
  "/system/holidayModes/hm1/assignedTo",
  "/system/holidayModes/hm1/delete",
  "/system/holidayModes/hm1/dhwMode",
  "/system/holidayModes/hm1/hcMode",
  "/system/holidayModes/hm1/startStop",
  "/system/holidayModes/hm2",
  "/system/holidayModes/hm2/assignedTo",
  "/system/holidayModes/hm2/delete",
  "/system/holidayModes/hm2/dhwMode",
  "/system/holidayModes/hm2/hcMode",
  "/system/holidayModes/hm2/startStop",
  "/system/holidayModes/hm3",
  "/system/holidayModes/hm3/assignedTo",
  "/system/holidayModes/hm3/delete",
  "/system/holidayModes/hm3/dhwMode",
  "/system/holidayModes/hm3/hcMode",
  "/system/holidayModes/hm3/startStop",
  "/system/holidayModes/hm4",
  "/system/holidayModes/hm4/assignedTo",
  "/system/holidayModes/hm4/delete",
  "/system/holidayModes/hm4/dhwMode",
  "/system/holidayModes/hm4/hcMode",
  "/system/holidayModes/hm4/startStop",
  "/system/holidayModes/hm5",
  "/system/holidayModes/hm5/assignedTo",
  "/system/holidayModes/hm5/delete",
  "/system/holidayModes/hm5/dhwMode",
  "/system/holidayModes/hm5/hcMode",
  "/system/holidayModes/hm5/startStop",
  "/system/info",
  "/system/minOutdoorTemp",
  "/system/sensors",
  "/system/sensors/temperatures",
  "/system/sensors/temperatures/outdoor_t1",
  "/system/sensors/temperatures/return",
  "/system/sensors/temperatures/supply_t1",
  "/system/sensors/temperatures/supply_t1_setpoint",
  "/system/sensors/temperatures/switch",
  "/system/systemType"
]

robertklep avatar Jan 23 '20 07:01 robertklep

Thx Robert but this does not give me new (working) endpoints. Did you see the new Nefit Easy service app? That seems to do the trick but I think you need an (expensive) subscription to use it....

marcews avatar Jan 25 '20 16:01 marcews

I don't have that app, or know how to get it :(

robertklep avatar Jan 26 '20 08:01 robertklep