[Plugin] Script Connector pour HomeSeer 2

Solution Ă  base d'un PC et du logiciel Homeseer. Vous trouverez ici les tutos, les discussions sur les plugs-in et les scripts Ă  base de VBasic, ASP, VBScript, etc

[Plugin] Script Connector pour HomeSeer 2

Messagede stipus » 01 Sep 2007, 01:30

Bonjour,

J'ai créé un nouveau plugin pour HomeSeer 2. Il permet de faire tourner des scripts HomeSeer sur des machines distantes.

Les scripts ont accès à toutes les resources de la machine distante (système de fichier, ports com, ecran, clavier, souris...) et ont accès à l'API HomeSeer standard. Toutes les methodes hs.xyz() sont supportées.

Avec ce plugin il est donc très facile de mettre à jour un device HomeSeer avec le contenu d'un fichier sur une machine distante, ou afficher des messages et même des boites de dialogue complexes sur les machines distantes.

Pour tester et avoir plus d'infos cela se passe ici:
http://board.homeseer.com/showthread.php?t=123161

Cordialement,
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 01 Sep 2007, 17:30

La version V0.4.2.2 du plugin est sortie !

Il y a maintenant un support de la ligne de commande sur le Client. Il est donc maintenant possible de lancer un Script HomeSeer (contenant n'importe quelle commande HomeSeer) depuis une machine distante. (Avec les versions précédentes, le script devait systématiquement être lancé depuis un evenement HomeSeer ou par l'API du plugin).

Par exemple depuis la ligne de commande Windows:
HSSCRIPT.EXE remote_writelog.vb Salut depuis une machine distante

... va afficher le message dans l'eventlog de HomeSeer.


Je suis assez fier de ce petit script d'exemple, qui montre une boite de dialogue assez complexe:

Image

Depuis une machine distante (ou mĂŞme en local si on lance le Client sur le serveur HomeSeer), on peut choisir un HouseCode, puis le statut des devices sur ce HouseCode s'affiche. Si on clique sur un des icones, cela change le statut des devices. Le statut est mis Ă  jour toutes les 10 secondes.
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 01 Sep 2007, 23:27

La version V0.5.2.2 du plugin est disponible.

Cette version ajoute le support des scripts Ă©crits en C-Sharp.

Deux nouveaux scripts d'exemple ont été ajoutés:

- remote_writelog.cs <-- Ajoute un message dans l'event log HomeSeer depuis une machine distante.

- remote_marquee.cs <-- Affiche un grand message déroulant sur un ordinateur distant. Cliquer sur le message pour le faire disparaitre.

HSSCRIPT remote_marquee.cs Hello from HomeSeer

Image
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede fran_joel » 04 Sep 2007, 18:29

Idée géniale...!

Je vais essayer le script dès que possible...

Joel
Avatar de l’utilisateur
fran_joel
Membre un peu timide !
 
Messages: 2
Inscription: 04 Sep 2007, 18:26
Localisation: Ottawa, Canada

Messagede stipus » 04 Sep 2007, 19:33

Merci !

Je viens de terminer un "petit" script permettant de controler un thermostat HomeSeer depuis une machine distante:

Image

Ce nouveau script est disponible sur le forum HomeSeer, et sera inclu dans la version du plugin que je m'apprĂŞte Ă  envoyer Ă  l'updater.

Le script est modulable et dispose d'une section permettant d'interfacer avec ses propres thermostats s'ils ne peuvent pas être gérés par l'API de contrôle de thermostat d'HomeSeer.
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 05 Sep 2007, 18:53

Un nouveau script un peu plus sympas pour gérer des lumières depuis n'importe quel PC distant. Il est disponible sur le forum HomeSeer.

Image

Il suffit d'appeler le script et de passer une liste de device codes en paramètre. Une fenêtre semi-transparente est alors construite dynamiquement avec le status de chaque device, et le device location + device name.

Quand on clique sur le petit icône la lumière correspondante est allumée ou éteinte.

Quand on laisse la souris sur le nom d'un device, le device-code apparait dans une bulle d'aide.
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 06 Sep 2007, 22:47

La nouvelle version V0.6.2.2 du plugin est disponible.

- Il est maintenant possible d'utiliser une étoile (*) comme nom de client, pour lancer le même script sur tous les ordinateurs connectés. C'est très utile par exemple pour lancer un message d'alerte avec le script remote_marquee.cs

- Les scripts tournent maintenant dans une thread qui leur est propre, plutôt qu'une thread du ThreadPool. Cela permet de modifier le "Threading apartment" si le script doit hoster des composants COM spécifiques. Pour cela il suffit d'utiliser les mots clés #MTA ou #STA au début des scripts. Par défaut, les scripts tournent en mode MTA (Multiple Threaded Apartement Model).

- Les scripts distants peuvent maintenant retourner une valeur au script appelant, sous la forme d'un objet. Ceci offre de nouvelles possibilités pour faire du scripting distribué sous HomeSeer !

Par exemple, voici un script HomeSeer standard qui tourne sur le serveur principal, et qui fait appel Ă  deux autres scripts sur des ordinateurs distants:
Code: Tout sélectionner
Sub Main( param )
    Dim result As Object
    result = hs.Plugin("Script Connector").ExecFunc( "ClientName", "remote_test_func.cs", Nothing )
    hs.WriteLog( "Result CS", result)
    result = hs.Plugin("Script Connector").ExecFunc( "ClientName", "remote_test_func.vb", Nothing )
    hs.WriteLog( "Result VB", result)
End Sub


Script remote_test_func.vb tournant sur un ordinateur distant:
Code: Tout sélectionner
Function Main( param As Object ) As Object
Main = "Hello from Remote VB Script"
End Function


Script remote_test_func.cs tournant sur un ordinateur distant:
Code: Tout sélectionner
object Main( object param )
{
return "Hello from remote CSharp Script";
}


- En dernier lieu, de nombreux scripts d'exemple ont été ajoutés dans le répertoire Scripts.
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 09 Sep 2007, 18:03

La nouvelle version V0.7.2.2 du plugin Script Connector est disponible sur le forum HomeSeer

Au menu:

- Tous les scripts sont maintenant immédiatement interrompus lorsqu'on quitte le Script Client.

- Si on redémarre le Script Client, les scripts ne seront plus systématiquement recompilés (sauf s'ils ont été modifiés). Cela permet un redémarrage plus rapide.

- L'API du plugin a été renommée:

hs.Plugin("Script Connector").ExecRemoteSub( scriptClient, scriptFile, param )
object = hs.Plugin("Script Connector").ExecRemoteFunc( scriptClient, scriptFile, param )

- Une nouvelle API a été ajoutée, qui permet de récupérer la liste des Script Clients connectés sous la forme d'un tableau de string

string[] = hs.Plugin("ScriptConnector").ClientList

- Une nouvelle directive #USING est supportée afin d'utiliser d'autres namespace sans forcément ajouter de référence.

- L'objet hs est maintenant global à tout le script. Il n'est plus nécessaire de le passer aux autres objets.

- Un nouvel objet global sh (Script Host) est disponible dans les scripts.

sh.SetContext( keyString, paramObject ) <-- Permet de sauvegarder un objet dans le Script Client
object = sh.GetContext( keyString) <-- Récupère un objet sauvegardé
boolean = sh.ExecLocalSub( scriptPath, paramObject )
object = sh.ExecLocalFunc( scriptPath, paramObject )
boolean = sh.ExecRemoteSub( scriptClient, scriptPath, paramObject )
object = sh.ExecRemoteFunc( scriptClient, scriptPath, paramObject )
string [] = sh.ClientList
string = sh.ClientName

- Nouveaux scripts d'exemple Distributed HomeSeer Media Player

Ces scripts permettent de jouer des musiques et vidéos sur des ordinateurs distants, et de prendre le contrôle et parcourir les fichiers media disponibles depuis n'importe quel ordinateur qui fait tourner le Script Client.

Pour le moment, ces scripts ne sont compatibles qu'avec VLC. Des scripts existent pour contrôler Windows Media Player et WinAmp, mais ils ne sont pas implémentés pour le moment. VLC 0.8.6 doit être installé sur tous les ordinateurs dont vous voulez prendre le contrôle.

Pour lancer l'interface de contrĂ´le, il suffit de lancer le script media/control.cs
Vous pouvez aussi éditer les scripts GetVideoDirectory et GetMusicDirectory.cs sur chaque ordinateur pour configurer les répertoires initiaux.
Vous pouvez aussi editer GetMusicPlayerType.cs et GetVideoPlayerType.cs sur chaque ordinateur pour autoriser ou pas le lancement de media Ă  distance.

Image
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 13 Sep 2007, 17:46

La version V0.8.2.2 du Script Connector est maintenant disponible depuis l'updater HomeSeer.

Il n'y a pas de différence avec la V0.7.2.2, sauf que la date d'expiration a été retirée, et le plugin est passé en mode payant ($29.95).
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 15 Sep 2007, 00:38

2 nouveaux packs de contrĂ´le sont disponibles sur le forum HomeSeer pour le Distributed Media Player.

- Pack de contrôle pour Winamp 2.x (testé avec winamp 2.95)
- Pack de contrôle pour Winamp 5.x (testé avec winamp 5.35)

Pour rappel, le but du Distributed Media Player est de contrôler n'importe quel Media Player sur n'importe quel ordinateur, depuis n'importe quel autre ordinateur. Pour le moment VLC, winamp2 et winamp5 sont supportés.
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 16 Sep 2007, 10:23

1 nouveau pack de contrĂ´le est disponible sur le forum HomeSeer pour le Distributed Media Player.

- Pack de contrĂ´le pour Windows Media Player (Audio seulement)
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Messagede stipus » 16 Sep 2007, 20:49

1 nouveau pack de contrĂ´le est disponible sur le forum HomeSeer pour le Distributed Media Player.

- Pack de contrĂ´le pour Media Player Classic.

Ce pack de contrôle supporte toutes les fonctionnalités du Distributed Media Player et permet de lancer à distance des media audio ou video, de changer le volume (UP/DOWN/MUTE), de créer des playlists, de passer en Fullscreen pour les videos...
stipus
--
PC: Athlon 2100+ 512Mo 240Go disque (4x120Go en mirroir)
HomeSeer 2.2, avec plugins ACRF, Direct Input, Instant Messenging, Bluetooth, SIP , Skype, Script Connector, PLCBUS
Interfaces: CM11a, PLCBUS-1141, W800RF32, RFXCOM, RFXSensor, RFXPower
X10: a peu près tous les modules existants
Télécommande: Pronto RU990 avec recepteur Li910 RF vers IR
Robots ménagers: Roomba, Scooba
stipus
Dieu de domotique
 
Messages: 1575
Inscription: 30 Jan 2006, 17:59

Suivante

Retourner vers Homeseer

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique


cron