Open axel-loewe opened 2 years ago
The 404 is returned by the device, so I have to assume that the operation isn't supported. Perhaps it's missing some additional parameters, but I'd have to dig deep into the official app to see how exactly it sets this value (I assume it works with that app).
Seeing the same thing when trying to "put" to an bosch compress 7001i, works to adjust the temp from the easycontroll app but when using the CLI it returns 404.
Tried put on
/heatingCircuits/hc1/manualRoomSetpoint '{"value":20.0}'/heatingCircuits/hc1/temperatureRoomSetpoint '{"value":20.0}' /heatingCircuits/hc1/temperatureLevels/comfort2 '{"value":20.0}'
all gives
response: { protocolVersion: 'HTTP/1.0', statusCode: '404', statusMessage: 'Not Found', headers: {}, body: '' }
same endpoints work with get and showes up as writable. Any ideas?
This is also the case for Bosch Compress 3000 EW + IP module. Works fine with both EasyRemote and HomeCom Easy apps. Just to add some logs:
xmpp:connection send: <message to="gateway_238310407@wa2-mz36-qrmzh6.bosch.de" type="chat"><body>PUT /heatingCircuits/hc1/switchPrograms/A HTTP/1.1
xmpp:connection User-Agent: TeleHeater
xmpp:connection Content-Type: application/json
xmpp:connection Content-Length: 1240
xmpp:connection Seq-No: 1
xmpp:connection
xmpp:connection Zirq...tTg==</body></message> +34ms
xmpp:connection receive: <presence from="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j" to="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j"/> +151ms
bosch-easyremote received stanza of type "presence" +152ms
bosch-easyremote:raw <presence from="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j" to="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j" xmlns:stream="http://etherx.jabber.org/streams"/> +152ms
bosch-easyremote message timed out, retrying... +5s
bosch-easyremote queuing request (retries = 13) +0ms
bosch-easyremote sending message +0ms
bosch-easyremote:raw <message to="gateway_238310407@wa2-mz36-qrmzh6.bosch.de" type="chat"><body>PUT /heatingCircuits/hc1/switchPrograms/A HTTP/1.1
bosch-easyremote:raw User-Agent: TeleHeater
bosch-easyremote:raw Content-Type: application/json
bosch-easyremote:raw Content-Length: 1240
bosch-easyremote:raw Seq-No: 1
bosch-easyremote:raw
bosch-easyremote:raw Zirq...tTg==</body></message> +5s
xmpp:connection send: <message to="gateway_238310407@wa2-mz36-qrmzh6.bosch.de" type="chat"><body>PUT /heatingCircuits/hc1/switchPrograms/A HTTP/1.1
xmpp:connection User-Agent: TeleHeater
xmpp:connection Content-Type: application/json
xmpp:connection Content-Length: 1240
xmpp:connection Seq-No: 1
xmpp:connection
xmpp:connection Zirq...tTg==</body></message> +5s
xmpp:connection receive: <message from="gateway_238310407@wa2-mz36-qrmzh6.bosch.de/iCom-RestApi" to="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j">
xmpp:connection <body>HTTP/1.0 404 Not Found
xmpp:connection </body>
xmpp:connection </message> +386ms
bosch-easyremote received stanza of type "message" +387ms
bosch-easyremote:raw <message from="gateway_238310407@wa2-mz36-qrmzh6.bosch.de/iCom-RestApi" to="contact_238310407@wa2-mz36-qrmzh6.bosch.de/ael8fnyl2j" xmlns:stream="http://etherx.jabber.org/streams">
bosch-easyremote:raw <body>HTTP/1.0 404 Not Found
bosch-easyremote:raw </body>
bosch-easyremote:raw </message> +388ms
Error: INVALID_RESPONSE
at /usr/local/lib/node_modules/bosch-xmpp/lib/base-client.js:257:23
at tryCatcher (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/bosch-xmpp/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (node:internal/timers:464:21) {
response: {
protocolVersion: 'HTTP/1.0',
statusCode: '404',
statusMessage: 'Not Found',
headers: {},
body: ''
}
}
Hi,
I manage to query information from our Bosch Compress 7400 heat pump via get requests. This list was extremely helpful.
However, setting values via put requests does not work even if the endpoint says it's "writeable" as above. After several attempts, the request times out and returns "404" (debug log see below). Same issue with other writable endpoints. Increasing the timeout limit to 60s doesn't help.
Did anyone experience a similar issue? Am I missing something? Is setting values not supported?