Thermostat ELV/eQ-3/Conrad Max! / MaxCube

Oui c’est bien le passage vers jeeObject.

T’as le multi cube en béta ? Si oui je bascule peut être ^^

pour info, je suis en train de reprendre le dev jeedom sur un autre plugin, j’en profiterais pour update celui ci !

1 « J'aime »

Bonjour fensoft,

rançon du succès, j’attends avec impatience une version compatible de Maxcube avec V4 … pour relancer mon installation qui est aveugle maintenant.

à bientôt.

ça marche en v4 si tu change le object en jeeobject comme décrit si dessus.

1 « J'aime »

Très bonne nouvelle fensoft !

Si en plus il y a le multi cubes :stuck_out_tongue: :smiley:

Merci pour l’info.
J’ai modifié récemment quelques consignes de température des vannes thermostatiques avec l’appli Maxcube. Suite à cette modif, le daemon ne démarrait plus.

Le log du daemon en debug:

[2021-02-17T17:06:31+00:00] Data received: C [0c6ee7]
buffer.js:330
throw new ERR_INVALID_ARG_TYPE(
^
TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at Function.from (buffer.js:330:9)
at new Buffer (buffer.js:286:17)
at MaxCube.parseCommandConfiguration (/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/maxcube/maxcube.js:364:24)
at MaxCube.parseCommand (/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/maxcube/maxcube.js:212:40)
at Socket.<anonymous> (/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/maxcube/maxcube.js:81:36)
at Socket.emit (events.js:314:20)
at addChunk (_stream_readable.js:297:12)
at readableAddChunk (_stream_readable.js:272:9)
at Socket.Readable.push (_stream_readable.js:213:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
code: 'ERR_INVALID_ARG_TYPE'
}

Résolu en modifiant le début de la fonction parseCommandConfiguration dans le fichier maxcube.js

function parseCommandConfiguration (payload) {
  if (payload.length == 0 || payload.indexOf(",") == -1 ) {
    // log('Skipped payload: ' +payload.toString('hex'));
    return; // Payload vide ou mal formé
  }

0c6ee7 est le rf_address d’une vanne thermo qui est dans le group_rf_address 0c6ee7 avec le thermostat mural et le contact de fenêtre.

Nodejs v12.20.2 sur ma Smart en buster

tu as update node j’imagine, reinstalle les dépendances

Bonjour @fensoft

J’ai migré ma Smart en Buster en début d’année.
node v12 a été installé par le plugin alexa-api à ce moment.
Les dépendances de maxcube ont été installées aussitôt après et le daemon a démarré.

Après modification de la config du cube et reboot de la Smart, le daemon ne démarre plus.

Avec ma correction de maxcube.js, le log contient maintenant:

[2021-02-19T16:52:30+00:00] Data received: C [0c6ee7]
[2021-02-19T16:52:30+00:00] Data received: , [gxu5wEDEKBLRVEwOTEyMjE2JyM9CQcYA3AM/wBHIEcgRyBHIEcgRyBHIEUgRSBFIEUgRSBFIEcgRyBHIEcgRyBHIEcgRSBFIEUgRSBFIEUgRyBHIEcgRyBHIEcgRyBFIEUgRSBFIEUgRSBCtE0gTSBNIE0gTSBNIEUgRSBFIEUgRSBFIExXTttHIEcgRyBHIEcgRSBFIEUgRSBFIEUgRyBHIEcgRyBHIEcgRyBFIEUgRSBFIEUgRSBHIEcgRyBHIEcgRyBHIEUgRSBFIEUgRSBFIA==]
[2021-02-19T16:52:30+00:00] Unknown command type: ,

Je n’ai pas réinstallé les dépendances de maxcube sur ma Smart. Je ne modifie pas ce qui fonctionne.
Je l’ai toutefois fait sur une VM ( en désactivant le daemon de la Smart ). J’ai la même erreur sur la VM.

tu as ajouté des modules et/ou renomé des modules ? il y a un pb avec une config trop longue, essaie de renomer tes devices pour des trucs plus court

Hello fensoft :slight_smile:

Est ce que la beta prend en compte les correctifs sur le multi cube ?

Hello,

Des news sur le plugin fensoft ?

Bon et bien moi je suis planté avec ce plungin qui ne fonctionne plus du tout… C’est moche car ca me fati 15 radiateurs à réequiper…

Ce n’est plus mis a jour mais pour le moment ça fonctionne encore en dernière version jeedom pour moi. Tu as fais quoi que ça ne vas plus?

Bonjour,
Avec les modifs décrites dans ce post: Le daemon maxcube ne peut plus remonter les informations au plugin
il fonctionne encore chez moi.
Avez-vous les erreurs ? « Vous n’êtes pas autorisé à effectuer cette action »

Oui pareil chez moi j’ai du faire ces modifications aussi :+1:

Bon, je m’en sortait pas et du coup j’ai désinstallé le pligin pour le réinstaller…

Résultat, impossible d’installer les dépendances… :frowning:

une idée pour m’en sortir ?

+++ dirname /var/www/html/plugins/maxcube/core/class/../../resources/install_maxcube.sh
++ cd /var/www/html/plugins/maxcube/core/class/../../resources
++ pwd
+ ME=/var/www/html/plugins/maxcube/resources
+ touch /tmp/maxcube_in_progress
+ echo 0
+ echo 'Installing maxcube dependencies'
Installing maxcube dependencies
+ sudo apt-get install -y git
Reading package lists...
Building dependency tree...
Reading state information...
git is already the newest version (1:2.20.1-2+deb10u4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+ echo 10
++ which node
+ BIN=/usr/bin/node
+ '[' /usr/bin/node = '' ']'
+ '[' /usr/bin/node = '' ']'
++ /usr/bin/node -v
+ actual=v16.18.1
++ /usr/bin/node -v
++ sed s#v##
++ sed 's#[.].*##'
+ major=16
+ echo 'Current version: v16.18.1 (major 16)'
Current version: v16.18.1 (major 16)
+ echo 30
++ arch
+ '[' armv7l == armv6l -a 16 -lt 5 ']'
+ '[' 16 -lt 8 ']'
++ which node
+ BIN=/usr/bin/node
+ '[' /usr/bin/node = '' ']'
++ /usr/bin/node -v
+ new=v16.18.1
+ echo 'new version installed: v16.18.1'
new version installed: v16.18.1
+ echo 50
+ git --version
git version 2.20.1
+ cd /var/www/html/plugins/maxcube/resources/maxcube.js
+ sudo rm -rf node_modules
+ echo 'cache = "/var/www/html/plugins/maxcube/resources/npm-cache"'
+ npm i
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN deprecated har-validator@5.1.3: this library is no longer supported
npm WARN deprecated uuid@3.3.2: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm ERR! code 1
npm ERR! path /var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! make: Entering directory '/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep/build'
npm ERR!   CXX(target) Release/obj.target/node_sleep/module_init.o
npm ERR! make: Leaving directory '/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep/build'
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.3.0
npm ERR! gyp info using node@16.18.1 | linux | arm
npm ERR! gyp info find Python using Python version 3.7.3 found at "/usr/bin/python3"
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/var/www/.cache/node-gyp/16.18.1/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/var/www/.cache/node-gyp/16.18.1',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/var/www/.cache/node-gyp/16.18.1/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! In file included from ../../nan/nan_converters.h:67,
npm ERR!                  from ../../nan/nan.h:222,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan_converters_43_inl.h: In static member function 'static Nan::imp::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)':
npm ERR! ../../nan/nan_converters_43_inl.h:18:51: error: no matching function for call to 'v8::Value::ToBoolean(v8::Local)'
npm ERR!        val->To ## TYPE(isolate->GetCurrentContext())                            \
npm ERR!                                                    ^
npm ERR! ../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro 'X'
npm ERR!  X(Boolean)
npm ERR!  ^
npm ERR! In file included from /var/www/.cache/node-gyp/16.18.1/include/node/node.h:73,
npm ERR!                  from ../../nan/nan.h:53,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:3086:18: note: candidate: 'v8::Local v8::Value::ToBoolean(v8::Isolate*) const'
npm ERR!    Local ToBoolean(Isolate* isolate) const;
npm ERR!                   ^~~~~~~~~
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:3086:18: note:   no known conversion for argument 1 from 'v8::Local' to 'v8::Isolate*'
npm ERR! In file included from ../../nan/nan_converters.h:67,
npm ERR!                  from ../../nan/nan.h:222,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan_converters_43_inl.h: In static member function 'static Nan::imp::ValueFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)':
npm ERR! ../../nan/nan_converters_43_inl.h:37:57: error: no matching function for call to 'v8::Value::BooleanValue(v8::Local)'
npm ERR!    return val->NAME ## Value(isolate->GetCurrentContext());                     \
npm ERR!                                                          ^
npm ERR! ../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro 'X'
npm ERR!  X(bool, Boolean)
npm ERR!  ^
npm ERR! In file included from /var/www/.cache/node-gyp/16.18.1/include/node/node.h:73,
npm ERR!                  from ../../nan/nan.h:53,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:3096:8: note: candidate: 'bool v8::Value::BooleanValue(v8::Isolate*) const'
npm ERR!    bool BooleanValue(Isolate* isolate) const;
npm ERR!         ^~~~~~~~~~~~
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:3096:8: note:   no known conversion for argument 1 from 'v8::Local' to 'v8::Isolate*'
npm ERR! In file included from ../../nan/nan_new.h:189,
npm ERR!                  from ../../nan/nan.h:223,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan_implementation_12_inl.h: In static member function 'static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)':
npm ERR! ../../nan/nan_implementation_12_inl.h:356:37: error: no matching function for call to 'v8::StringObject::New(v8::Local&)'
npm ERR!    return v8::StringObject::New(value).As();
npm ERR!                                      ^
npm ERR! In file included from /var/www/.cache/node-gyp/16.18.1/include/node/node.h:73,
npm ERR!                  from ../../nan/nan.h:53,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:6196:23: note: candidate: 'static v8::Local v8::StringObject::New(v8::Isolate*, v8::Local)'
npm ERR!    static Local New(Isolate* isolate, Local value);
npm ERR!                        ^~~
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:6196:23: note:   candidate expects 2 arguments, 1 provided
npm ERR! In file included from ../../nan/nan_new.h:189,
npm ERR!                  from ../../nan/nan.h:223,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan_implementation_12_inl.h:356:58: error: expected primary-expression before '>' token
npm ERR!    return v8::StringObject::New(value).As();
npm ERR!                                                           ^
npm ERR! ../../nan/nan_implementation_12_inl.h:356:60: error: expected primary-expression before ')' token
npm ERR!    return v8::StringObject::New(value).As();
npm ERR!                                                             ^
npm ERR! In file included from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
npm ERR! ../../nan/nan.h:2232:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
npm ERR!      , reinterpret_cast(AsyncExecuteComplete)
npm ERR!                                                               ^
npm ERR! In file included from /usr/include/c++/8/cassert:44,
npm ERR!                  from /var/www/.cache/node-gyp/16.18.1/include/node/node_object_wrap.h:26,
npm ERR!                  from ../../nan/nan.h:55,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../../nan/nan_object_wrap.h: In destructor 'virtual Nan::ObjectWrap::~ObjectWrap()':
npm ERR! ../../nan/nan_object_wrap.h:24:25: error: 'class Nan::Persistent' has no member named 'IsNearDeath'
npm ERR!      assert(persistent().IsNearDeath());
npm ERR!                          ^~~~~~~~~~~
npm ERR! ../../nan/nan_object_wrap.h: In static member function 'static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo&)':
npm ERR! ../../nan/nan_object_wrap.h:127:26: error: 'class Nan::Persistent' has no member named 'IsNearDeath'
npm ERR!      assert(wrap->handle_.IsNearDeath());
npm ERR!                           ^~~~~~~~~~~
npm ERR! ../module_init.cc: At global scope:
npm ERR! ../module_init.cc:4:11: error: 'v8::Handle' has not been declared
npm ERR!  using v8::Handle;
npm ERR!            ^~~~~~
npm ERR! ../module_init.cc: In function 'void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)':
npm ERR! ../module_init.cc:23:54: error: no matching function for call to 'v8::FunctionTemplate::GetFunction()'
npm ERR!      Nan::New(MUSleep)->GetFunction());
npm ERR!                                                       ^
npm ERR! In file included from /var/www/.cache/node-gyp/16.18.1/include/node/node.h:73,
npm ERR!                  from ../../nan/nan.h:53,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:6802:46: note: candidate: 'v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)'
npm ERR!    V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
npm ERR!                                               ^~~~~~~~~~~
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/v8.h:6802:46: note:   candidate expects 1 argument, 0 provided
npm ERR! In file included from ../../nan/nan.h:53,
npm ERR!                  from ../sleep.h:4,
npm ERR!                  from ../module_init.cc:1:
npm ERR! ../module_init.cc: At global scope:
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/node.h:887:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local, v8::Local, void*)'} [-Wcast-function-type]
npm ERR!        (node::addon_register_func) (regfunc),                          \
npm ERR!                                            ^
npm ERR! /var/www/.cache/node-gyp/16.18.1/include/node/node.h:921:3: note: in expansion of macro 'NODE_MODULE_X'
npm ERR!    NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
npm ERR!    ^~~~~~~~~~~~~
npm ERR! ../module_init.cc:26:1: note: in expansion of macro 'NODE_MODULE'
npm ERR!  NODE_MODULE(node_sleep, init)
npm ERR!  ^~~~~~~~~~~
npm ERR! make: *** [node_sleep.target.mk:114: Release/obj.target/node_sleep/module_init.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)
npm ERR! gyp ERR! System Linux 5.10.103-v7l+
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /var/www/html/plugins/maxcube/resources/maxcube.js/node_modules/sleep
npm ERR! gyp ERR! node -v v16.18.1
npm ERR! gyp ERR! node-gyp -v v9.3.0
npm ERR! gyp ERR! not ok
npm ERR! A complete log of this run can be found in:
npm ERR!     /var/www/html/plugins/maxcube/resources/npm-cache/_logs/2022-12-03T13_23_02_468Z-debug-0.log
+ echo 100
+ rm /tmp/maxcube_in_progress

Je l’utilise sous Windows en prévision du jour où l’exe officiel Launch Max! ne fonctionnera plus ( chgt PC, Java HS, … )
Et effectivement, il semble pouvoir faire serveur MQTT:
image

Edit: Je crois que j’ai répondu à un post de @ajja17orange qui a disparu et qui parlait de MAX! cube home automation

1 « J'aime »

J’ai supprimé mon message
(Avant de dire pour info possibilité d’ installation,…)

Faut que j’essaie car j’ai pas vu de version sans panneau d’affichage.

1 « J'aime »

Bonjour,

Je rappelle la règle sur community : pas de « sujet principal » fourre-tout mais un sujet par question.

Ce sujet a été automatiquement fermé après 4 jours. Aucune réponse n’est permise dorénavant.