Controle commando bibliotheek

De commandobibliotheek bevat alle beschikbare commando's die naar het (de) apparaat(en) worden gestuurd. Deze is opgesplitst in verschillende groepen die kunnen worden geselecteerd bij het toevoegen van een apparaat aan de besturingsconfiguratie. Sommige commandogroepen zijn aangemaakt door GoBright en kunnen in het algemeen worden gebruikt voor een aantal apparaten.

2019-07-30_14_44_03-Window.png

Opdrachten aanpassen

Het echte voordeel van commandogroepen is de mogelijkheid om aangepaste commando's voor specifieke apparaten te maken. Deze kunnen worden toegevoegd met de knop '+' naast de subkop 'Groepen' of met de knop 'Kopiëren' wanneer een groep is geselecteerd.

Algemeen

Elke groep heeft een naam die in de lijst aan de linkerkant verschijnt. De groepen die voorgedefinieerd zijn door GoBright zijn te herkennen aan het GoBright Logo aan de linkerkant van de titel. Deze voorgedefinieerde groepen kunnen niet worden gewijzigd, maar het is mogelijk om ze te kopiëren en een nieuwe groep te maken met hun commando's.

De verbinding kan zowel op TCP als op HTTP worden ingesteld en is afhankelijk van het apparaat dat wordt gebruikt. Het selectievakje 'controlesom gebruiken' bepaalt of commando's een controlesom nodig hebben om goed te kunnen werken. Houd er rekening mee dat momenteel slechts enkele checksumberekeningen worden ondersteund.

Tags in GoBright.png

Opdrachten

Onder de naam en verbinding staat een lijst die alle commando's binnen de groep weergeeft. Nieuwe commando's kunnen worden toegevoegd door de '+' knop te gebruiken of bestaande commando's kunnen worden gewijzigd door er een uit de lijst te selecteren. Bij het bewerken van het commando worden de opties aan de rechterkant van het scherm geconfigureerd.

mceclip1.png

Voer een commando of een reeks commando's in met de '+'-knop. Als u meerdere commando's invoert, worden deze in opeenvolgende volgorde van boven naar beneden verzonden. Na elk commando wordt het teken voor het einde van het bericht gebruikt om aan te geven wanneer een antwoord volledig is ontvangen.

Berichtvertraging vertraagt een commando met een ingevoerd aantal milliseconden. Commando's kunnen herhaaldelijk naar het apparaat gestuurd worden. De laatste optie is een selectievakje dat kan worden gebruikt voor verificatie, waar we in de volgende sectie dieper op in zullen gaan.

Verificatie

Door gebruik te maken van verificatie is het mogelijk de status van een apparaat op te vragen en dit vormt op zijn beurt de basis voor tweerichtingscommunicatie tussen het GoBright platform en het apparaat. Verificatiecommando's worden elke 5 seconden uitgevoerd om veranderingen op het apparaat vast te stellen, bijv. een volumewijziging met een afstandsbediening. Dit is nuttig om zeker te weten wat de toestand van het apparaat is.

2019-08-06_11_12_35-Window.png

Elk commando kan een verificatiecommando triggeren en een antwoord verwachten. De verificatieprocessor controleert in welk deel het verwachte antwoord te vinden is met behulp van JavaScript op het "resultaat" dat het apparaat zal sturen.

Als laatste kan het selectievakje 'use verification argument extracting' worden aangevinkt. Verificatie argument extractie is alleen nuttig voor commando's die een argument nodig hebben. Voor de meeste (zo niet alle) toestellen betekent dit alleen het volumeniveau. Dit haalt een argument op uit het originele commando, dat de naam 'args[0]' moet hebben, en gebruikt het in het verificatieproces. Dit is zeer aanpasbaar, maar gevoelig voor fouten als de verkeerde strings worden ingevoerd. Laten we eens kijken naar een voorbeeld van de LG TV die het commando voor volumeregeling gebruikt.

Voorbeeld - LG TV Volumeregeling

Om te demonstreren hoe commando's en verificatie werken gebruiken we de LG TV als voorbeeld. Hieronder staat het volledige commando voor de volumeregeling, die verandert met de schuifregelaar op het bedieningspaneel of met de afstandsbediening van de TV. Door gebruik te maken van verificatie zijn beide volume-instellingen constant in sync met elkaar.

2019-08-06_11_17_50-Window.png

Volumeregeling Commando

Het volledige (RS232) commando om de volumeregelaar op de LG TV in te stellen is 'kf 1 {}'. Het eerste deel 'kf 1' is het begin van bijna elk commando dat door de LG serie wordt gebruikt. Omdat het alleen hexadecimale strings accepteert, converteren we het volgende deel met 'custom.intToHex'. Het laatste deel '(args[0], 2)' stelt het volume in op een bepaalde waarde.

Alle LG-commando's eindigen met een "x" die is ingesteld in het veld "Einde bericht". Er is geen berichtvertraging en het commando wordt slechts eenmaal verzonden.

Verificatie

Het verificatiecommando haalt de status van het apparaat op. In dit geval controleert het commando 'kf 1 FF' het huidige volume van de LG TV. Dat betekent dat zodra het commando wordt verzonden, het onmiddellijk de status ophaalt.

Het verwachte antwoord is "OK", dat deel uitmaakt van het resultaat wanneer de status wordt opgehaald. Dit deel van het resultaat wordt geëxtraheerd door gebruik te maken van de '{}' functie. Deze leest alleen de string van het 6e tot het 8e teken en controleert deze met het verwachte antwoord.

De laatste functie maakt gebruik van een argument (args[0]) dat het zo instelt dat het binnen het commando kan worden gebruikt. Het moet een geheel getal zijn, dus het eerste deel van de functie 'custom.hexToInt' converteert de opgehaalde hexadecimaal naar een geheel getal. Het middelste deel maakt gebruik van een regex-aanroep die wordt gebruikt om een bepaald deel van het resultaat te filteren 'custom.regex'. Het laatste deel gebruikt regex om te zoeken naar de volumehoogte die wordt weergegeven na het "f 01 OK" gedeelte en voor de "x".

Om samen te vatten wat er gebeurt:

  • Het verificatiecommando wordt elke 5 seconden verzonden
  • De processor voert alle stringmanipulaties uit, zoals een substring of een decimale naar hexadecimale conversie
  • Het antwoord van de inrichting wordt gecontroleerd aan de hand van een verwacht antwoord, indien het antwoord overeenstemt met het verwachte antwoord, wordt de gebruikersinterface bijgewerkt naar deze toestand
  • De processor controleert een deel van het resultaat
  • De argument extractor extraheert het argument en stuurt het naar de gebruikersinterface(bv. het volumeniveau wordt naar de gebruikersinterface gestuurd)

Dit artikel komt uit het Helpcentrum van GoBright.

Bekijk origineel artikel

Vragen? Ga naar onze FAQ

Heb je een vraag? Hier vind je de antwoorden op de meest gestelde vragen.

Blader door de FAQ's

Help Center

Een goudmijn voor alle IT en Facility Managers. Verdiep je in de technische details van onze producten en oplossingen.

Bezoek het Helpcentrum

Nieuwsbrief

Wil je op de hoogte blijven van alle Smart Office ontwikkelingen en onze oplossingen? Schrijf je dan nu in.

Nu abonneren