Paradox : votre alarme Paradox connectée dans Constellation

Original publié sur: https://developer.myconstellation.io/package-library/paradox/

Documentation en cours de rédaction …

Bonjour

Le package Paradox ne semble pas compatible avec rasbian 9?

Bonjour
Le package paradox n’est pas compatible avec Rasbian 9 ?

A vrai dire je n’ai pas testé !

Le setting “PortCOM” sur un Windows est de type “COM1” mais sur un Linux il faudrait écrire quelque chose comme “/dev/ttyS0” ou “/dev/ttyUSB0” !

A+

Merci pour la précision pour le port.
Que signifie dans la fenêtre Deploy Paradox “Sentinel compatibility: Not supported”

Voila ce que j’obtiens sur la console:
Après le déploiement: The package ‘Paradox’ is NOT compliant with your platform (Unix). Maybe unstable !
A l’initialisation:
Critical Error : System.TypeInitializationException: The type initializer for ‘Constellation.Utils.FrameworkTools’ threw an exception. —> System.ArgumentException: Instance field ‘typeArguments’ is not defined for type ‘Microsoft.CSharp.RuntimeBinder.CSharpInvokeMemberBinder’
at System.Linq.Expressions.Expression.Field (System.Linq.Expressions.Expression expression, System.String fieldName) [0x0004c] in <e3fb361e66bb4797b6f56fd88e04971e>:0
at Constellation.Utils.FrameworkTools.CreateTypeArgumentsGetter () [0x00049] in <33d3c4da8b5b4d0db5e3d8b2b9796463>:0
at Constellation.Utils.FrameworkTools…cctor () [0x0002f] in <33d3c4da8b5b4d0db5e3d8b2b9796463>:0
— End of inner exception stack trace —
at Constellation.Package.SendMessageProxy.TryInvokeMember (System.Dynamic.InvokeMemberBinder binder, System.Object[] args, System.Object& result) [0x00066] in <33d3c4da8b5b4d0db5e3d8b2b9796463>:0
at (wrapper dynamic-method) System.Object:CallSite.Target (System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,object,<> f__AnonymousType0`2<string, bool>)
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1] (System.Runtime.CompilerServices.CallSite site, T0 arg0, T1 arg1) [0x00105] in <e3fb361e66bb4797b6f56fd88e04971e>:0
at ParadoxOnConstellation.Program.OnStart () [0x000e9] in <f36d9e32fb714e4aae491d39ad9d7d92>:0
at Constellation.Package.PackageHost.Start (System.Type packageType, System.String constellationUri, System.String sentinelName, System.String packageName, System.String accessKey) [0x002b6] in <33d3c4da8b5b4d0db5e3d8b2b9796463>:0

Hello,

Deux questions deux réponses :

1/ il est écrit “Sentinel compatibility: Not supported” sur le wizard de déploiement suivi d’un log de Warning au démarrage “The package ‘Paradox’ is NOT compliant with your platform (Unix). Maybe unstable !” car dans le manifeste de ce package j’ai défini que Linux (Unix) n’était pas supporté (voir la doc : https://developer.myconstellation.io/concepts/package-manifest/#Informations_de_compatibilite)

En fait, je n’ai pas testé ce package sur Unix/Linux, donc j’aurai du ne rien définir pour la plateforme Unix pour “laisser le doute” ! Mais quoi qu’il arrive, même si un package n’est pas compatible avec une plateforme comme ici, Constellation ne bloque pas le déploiement, on affiche juste des warnings à l’utilisateur !

2/ L’erreur en question est celle relevée ici : https://developer.myconstellation.io/forums/topic/pb-installation-mono-sur-raspberry-pi-3b/#post-5427
Elle se produit sur Mono 5.2 ou + et a été corrigé avec la lib 1.8.3.17258 !

Ainsi, je viens juste de mettre à jour le package Paradox en version 1.4.2. Dans cette version le manifeste indique que le package est compatible avec Unix pour éviter les warning meme si cette compatibilité reste à confirmer (je compte sur ton feedback de ce fait ;)). De plus cette version embarque la mise à jour de la lib Constellation 1.6.3.17258 pour corriger le bug Mono.

En attendant ton feedback.

Bien à toi,

Bonsoir
Merci beaucoup
Le package est installé et initialisé sans erreur.
Mais lorsque AreaArm est invoqué, une erreur survient avec le messae false.
Est-ce qu’il y a un moyen de vérifier la connexion au port /dev/ttyUSB0?

Hello,
Il y a un paramètre optionnel nommé “MessageLogsParadox” dans lequel on peut renseigner un répertoire pour enregistrer tous les messages bruts échangés avec le module APRT3 du système Paradox. Ca pourrait aider à diagnostiquer!
En tout cas une fois initialisé le package au démarrage doit pusher autant de StateObject que de zones dans votre système, ainsi que les Area (secteurs) et utilisateurs. Est-ce le cas ? Bien entendu il faut avoir au préalable renseigné le nombre de secteur, zones et utilisateur dans les settings du package.
N’hesitez pas à me copier le message d’erreur.
Cordialement

Bonjour
C’était une erreur de port USB.
Tout fonctionne sauf le message callback “disarm” qui donne le message suivant sur la console:
[microserver/Paradox] 16:35:16 : Unable to dispath the message AreaDisarm : Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘ParadoxOnConstellation.ArmingRequestData’ because the type requires a JSON object (e.g. {“name”:“value”}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {“name”:“value”}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path ‘Data’.

Par ailleurs je n’ai pas de fichier dans le répertoire du MessageLogsParadox

Cordialement

Salut,

J’essaye de désarmé par le packages Paradox et j’ai l’erreur suivants :
“[WIN-CONST-M/Paradox] 14:40:46 : Unable to dispath the message AreaDisarm : Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘ParadoxOnConstellation.ArmingRequestData’ because the type requires a JSON object (e.g. {“name”:“value”}) to deserialize correctly.
\nTo fix this error either change the JSON to a JSON object (e.g. {“name”:“value”}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
\nPath ‘Data’.”

De plus, je ne trouve pas la lib sur le repo git pour faire le fix.

Bonjour

Je ne suis pas encore domotisé, mais suis sérieusement en train de réfléchir à l’ensemble de système de domotique
Je m’interresse à constellation car ça semble être à ma connaissance l’une des seules passerelles entre domotique et l’alarme déjà installé dans la maison, à savoir une MG5050. J’aurai aimé connaitre les possibilités de cet interfacage:

  • à priori armer et desarmer à distance (mais il existe d’autre moyen pour ça)
  • armer/desarmer via une box domotique ? (je m’oriente vers l’eedomus ou la fibaro HC2)
  • récupérer les informations des capteurs par la box domotique? l’idée serait de faire une scénario de type IFTTT: si quelqu’un est dans la maison (alarme désarmée bien sur), ne pas activer les cameras IP

au niveau de la connection :

  • via port rj45 IP150 ? est-ce qu’il faut trouver une ancienne version ou les nouvelles “passent”
  • via port USB?

Merci d’aider un néophyte comme moi
A bientôt

@j0nathan33 @pjuhel

J’ai déployé ce package chez mon frère avec une Paradox EVO192 franchement installée ce WE. Package déployé sur un RPi3 avec une sentinelle connectée sur ma Constellation.

Le package fonctionne parfaitement, push des SO et réception des MC. L’erreur que vous remontez est peut-être dû à une lib sur Mono corrigée depuis !

En tout cas, pour moi le package fonctionne parfaitement sur Linux/Mono/Rpi.

Autrement je vais prochainement publier le code sur le repo Github pour les motifs futures et aussi le code de mon application PWA de gestion de l’alarme.