Skip to content

Commit

Permalink
New binding - added plex binding for openhab 3
Browse files Browse the repository at this point in the history
Signed-off-by: Aron Beurskens <aron@beurskens.nl>
  • Loading branch information
aronbeurskens committed Feb 6, 2022
1 parent c4c2e4c commit 290a303
Show file tree
Hide file tree
Showing 67 changed files with 1,621 additions and 860 deletions.
154 changes: 93 additions & 61 deletions bundles/org.openhab.automation.jsscripting/README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bundles/org.openhab.automation.jsscripting/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<graal.version>21.3.0</graal.version>
<asm.version>6.2.1</asm.version>
<oh.version>${project.version}</oh.version>
<ohjs.version>openhab@1.2.1</ohjs.version>
<ohjs.version>openhab@1.2.2</ohjs.version>
</properties>

<build>
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# binding
binding.ambientweather.name = Extension Ambient Weather
binding.ambientweather.description = Extension prenant en charge les stations météo Ambient Weather

# thing types
thing-type.ambientweather.bridge.label = Pont Ambient Weather
thing-type.ambientweather.bridge.description = Passerelle Ambient Weather
thing-type.ambientweather.ws1400ip.label = Ambient Weather WS-1400-IP
thing-type.ambientweather.ws1400ip.description = Station météo Ambient Weather WS-1400-IP
thing-type.ambientweather.ws8482.label = Ambient Weather WS-8482
thing-type.ambientweather.ws8482.description = Station météo Ambient Weather WS-8482
thing-type.ambientweather.ws2902a.label = Ambient Weather WS-2902A
thing-type.ambientweather.ws2902a.description = Station météo Ambient Weather WS-2902A
thing-type.ambientweather.ws0900ip.label = Ambient Weather WS-0900-IP
thing-type.ambientweather.ws0900ip.description = Station météo Ambient Weather WS-0900-IP
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# binding
binding.automower.name = Robot tondeuse
binding.automower.description = Cette extension permet d'interagir avec les robots tondeuses Husqvarna


# automower parameters
thing-type.config.automower.automower.mowerId.label = ID
thing-type.config.automower.automower.mowerName.label = Nom
thing-type.config.automower.automower.mowerModel.label = Modèle
thing-type.config.automower.automower.mowerId.mowerSerialNumber = Numéro de série
thing-type.config.automower.automower.connected.label = Connecté
thing-type.config.automower.automower.timestamp.label = Dernière mise à jour d'état
thing-type.config.automower.automower.batteryPct.label = Pourcentage de la batterie

# channel types
channel-type.automower.mode.label = Mode
channel-type.automower.mode.description = Mode
channel-type.automower.activity.label = Activité
channel-type.automower.activity.description = Activité
channel-type.automower.state.label = État
channel-type.automower.state.description = État
channel-type.automower.last-update.label = Dernière Mise à Jour
channel-type.automower.last-update.description = Dernière mise à jour
channel-type.automower.planner-next-start.label= Prochain Démarrage Prévu
channel-type.automower.planner-next-start.description= Prochain démarrage prévu
channel-type.automower.planner-override-action.label = Action Dérogative Planning
channel-type.automower.planner-override-action.description = Action dérogative au planning
channel-type.automower.planner-restricted-reason.label = Restriction Planning
channel-type.automower.planner-restricted-reason.description = Restriction du planning
channel-type.automower.calendar-tasks.label = Les informations du planning au format JSON
channel-type.automower.calendar-tasks.description = Les informations du planning au format JSON

conf-error-no-app-key = Impossible de se connecter à la passerelle Automower car aucune clé d'application n'est définie dans la configuration
conf-error-no-username = Impossible de se connecter à la passerelle Automower car il n'y a aucun nom d'utilisateur défini dans la configuration
conf-error-no-password = Impossible de se connecter à la passerelle Automower car il n'y a aucun mot de passe défini dans la configuration
conf-error-invalid-polling-interval = Définition invalide de l'intervalle d'interrogation. Il doit être >\= 1

conf-error-no-mower-id = Aucun identifiant de robot tondeuse spécifié. Impossible de communiquer avec la tondeuse sans ID
conf-error-no-bridge = Aucune passerelle valide disponible pour le robot tondeuse

comm-error-httpclient-init-failed = Impossible d'initialiser le client http
comm-error-query-mowers-failed = Impossible d'interroger les tondeuses enregistrées
comm-error-query-mower-failed = Impossible d'interroger l'état du robot tondeuse
comm-error-send-mower-command-failed = Impossible d'envoyer une commande au robot tondeuse

comm-error-mower-not-connected-to-cloud = Robot tondeuse non connecté au cloud

action-start-label = démarrer le robot tondeuse
action-start-desc = Démarre le robot tondeuse pour un temps défini, en dérogeant au planning.

action-pause-label = mettre le robot tondeuse en pause
action-pause-desc = Met le robot tondeuse en pause où qu'il se trouve actuellement.

action-parkuntilnextschedule-label = garer jusqu'à la prochaine planification
action-parkuntilnextschedule-desc = Gare le robot tondeuse jusqu'à la prochaine planification.

action-parkuntilfurthernotice-label = garer jusqu'à nouvel ordre
action-parkuntilfurthernotice-desc = Gare le robot tondeuse jusqu'à la reprise du planning.

action-park-label = garer le robot tondeuse
action-park-desc = Gare le robot tondeuse pour un temps défini, en dérogeant au planning.

action-resumeschedule-label = reprendre le planning
action-resumeschedule-desc = Reprend le planning pour le robot tondeuse.

action-input-duration-label = Durée
action-input-duration-desc = La durée de la commande du robot tondeuse en minutes
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ protected void pollStatus() throws IOException {
return;
}
ControlInfo controlInfo = webTargets.getControlInfo();
updateStatus(ThingStatus.ONLINE);
updateState(DaikinBindingConstants.CHANNEL_AC_POWER, controlInfo.power ? OnOffType.ON : OnOffType.OFF);
updateTemperatureChannel(DaikinBindingConstants.CHANNEL_AC_TEMP, controlInfo.temp);

Expand Down Expand Up @@ -153,6 +152,7 @@ protected void pollStatus() throws IOException {
// Suppress any error if energy info is not supported.
logger.debug("getEnergyInfoDayAndWeek() error: {}", e.getMessage());
}
updateStatus(ThingStatus.ONLINE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ protected boolean handleCommandInternal(ChannelUID channelUID, Command command)
@Override
protected void pollStatus() throws IOException {
AirbaseControlInfo controlInfo = webTargets.getAirbaseControlInfo();
updateStatus(ThingStatus.ONLINE);

if (airbaseModelInfo == null || !"OK".equals(airbaseModelInfo.ret)) {
airbaseModelInfo = webTargets.getAirbaseModelInfo();
Expand Down Expand Up @@ -115,6 +114,7 @@ protected void pollStatus() throws IOException {
.forEach(idx -> updateState(DaikinBindingConstants.CHANNEL_AIRBASE_AC_ZONE + idx,
OnOffType.from(zoneInfo.zone[idx])));
}
updateStatus(ThingStatus.ONLINE);
}

@Override
Expand Down Expand Up @@ -178,18 +178,25 @@ protected void changeFanSpeed(String speed) throws DaikinCommunicationException
}

protected void changeZone(int zone, boolean command) throws DaikinCommunicationException {
if (zone <= 0 || zone > airbaseModelInfo.zonespresent) {
AirbaseZoneInfo zoneInfo = webTargets.getAirbaseZoneInfo();
long commonZones = 0;
long maxZones = zoneInfo.zone.length;

if (airbaseModelInfo != null) {
maxZones = Math.min(maxZones - 1, airbaseModelInfo.zonespresent);
commonZones = airbaseModelInfo.commonzone;
}
if (zone <= 0 || zone > maxZones) {
logger.warn("The given zone number ({}) is outside the number of zones supported by the controller ({})",
zone, airbaseModelInfo.zonespresent);
zone, maxZones);
return;
}

AirbaseZoneInfo zoneInfo = webTargets.getAirbaseZoneInfo();
long count = IntStream.range(0, zoneInfo.zone.length).filter(idx -> zoneInfo.zone[idx]).count()
+ airbaseModelInfo.commonzone;
logger.debug("Number of open zones: \"{}\"", count);
long openZones = IntStream.range(0, zoneInfo.zone.length).filter(idx -> zoneInfo.zone[idx]).count()
+ commonZones;
logger.debug("Number of open zones: \"{}\"", openZones);

if (count >= 1) {
if (openZones >= 1) {
zoneInfo.zone[zone] = command;
webTargets.setAirbaseZoneInfo(zoneInfo);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# binding

binding.electroluxair.name = Extension ElectroluxAir
binding.electroluxair.description = Il s'agit de l'extension pour le purificateur d'air Electrolux Pure A9.

# thing types

thing-type.electroluxair.api.label = API Delta Electrolux
thing-type.electroluxair.api.description = Cette passerelle représente le connecteur de l'API web.
thing-type.electroluxair.electroluxpurea9.label = ElectroluxAir Pure A9
thing-type.electroluxair.electroluxpurea9.description = Cet objet représente l'ElectroluxAir Pure A9.

# thing types config

thing-type.config.electroluxair.api.password.label = Mot de passe
thing-type.config.electroluxair.api.password.description = Le mot de passe utilisé pour se connecter à l'application Wellbeing Electrolux.
thing-type.config.electroluxair.api.refresh.label = Intervalle d’actualisation
thing-type.config.electroluxair.api.refresh.description = Définit l'intervalle d'actualisation en secondes.
thing-type.config.electroluxair.api.username.label = Nom d'utilisateur
thing-type.config.electroluxair.api.username.description = Le nom d'utilisateur utilisé pour se connecter à l'application Wellbeing Electrolux.
thing-type.config.electroluxair.electroluxpurea9.deviceId.label = Identifiant de l'appareil
thing-type.config.electroluxair.electroluxpurea9.deviceId.description = Identifiant unique

# channel types

channel-type.electroluxair.co2.label = CO2
channel-type.electroluxair.co2.description = Dioxyde de carbone
channel-type.electroluxair.doorOpen.label = État Porte
channel-type.electroluxair.doorOpen.description = Statut de la porte ouverte/fermée
channel-type.electroluxair.fanSpeed.label = Réglage Vitesse Ventilateur
channel-type.electroluxair.fanSpeed.description = Réglage de la vitesse du ventilateur
channel-type.electroluxair.fanSpeed.state.option.1 = Vitesse 1
channel-type.electroluxair.fanSpeed.state.option.2 = Vitesse 2
channel-type.electroluxair.fanSpeed.state.option.3 = Vitesse 3
channel-type.electroluxair.fanSpeed.state.option.4 = Vitesse 4
channel-type.electroluxair.fanSpeed.state.option.5 = Vitesse 5
channel-type.electroluxair.fanSpeed.state.option.6 = Vitesse 6
channel-type.electroluxair.fanSpeed.state.option.7 = Vitesse 7
channel-type.electroluxair.fanSpeed.state.option.8 = Vitesse 8
channel-type.electroluxair.fanSpeed.state.option.9 = Vitesse 9
channel-type.electroluxair.filterLife.label = Durée Vie Filtre
channel-type.electroluxair.filterLife.description = Durée de vie du filtre
channel-type.electroluxair.humidity.label = Humidité
channel-type.electroluxair.humidity.description = Humidité
channel-type.electroluxair.ionizer.label = Statut Ioniseur
channel-type.electroluxair.ionizer.description = Statut de l'ioniseur
channel-type.electroluxair.pm1.label = PM1
channel-type.electroluxair.pm1.description = Densité de particules 1 (0.001mm)
channel-type.electroluxair.pm10.label = PM10
channel-type.electroluxair.pm10.description = Densité de particules 10 (0.01mm)
channel-type.electroluxair.pm2_5.label = PM2.5
channel-type.electroluxair.pm2_5.description = Densité de particules 2.5 (0.0025mm)
channel-type.electroluxair.status.label = État Actuel
channel-type.electroluxair.status.description = Informations sur l'état actuel.
channel-type.electroluxair.temperature.label = Température
channel-type.electroluxair.temperature.description = Température
channel-type.electroluxair.tvoc.label = TVOC
channel-type.electroluxair.tvoc.description = Total de composés organiques volatils
channel-type.electroluxair.workMode.label = Réglage Mode Fonctionnement
channel-type.electroluxair.workMode.description = Réglage du mode de fonctionnement
channel-type.electroluxair.workMode.state.option.PowerOff = Extinction
channel-type.electroluxair.workMode.state.option.Auto = Automatique
channel-type.electroluxair.workMode.state.option.Manual = Manuel
Loading

0 comments on commit 290a303

Please sign in to comment.