# \[HomeyScript\] Zelfs in een kleine test, om ergens anders iets te begrijpen, snap ik de fout melding niet

**URL:** <https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950>\
**Category:** Vragen & hulp\
**Created:** [August 13, 2023, 12:03pm UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950 "2023-08-13T12:03:01Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 13, 2023, 12:03pm UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/1 "2023-08-13T12:03:01Z")

</div>

Eindelijk de moed gehad om eens te kijken of enkele functions in JavaScript om te zetten in HomeyScript.  
Als eerste de paasdatum in een jaar en daarna het Juliaansedag getal van een dag.  
Het werk zit in de kop en de staart. De data erin en er weer uit te krijgen.

Helaas ging terug krijgen van een Juliaans dagnummer naar de datum niet lekker.  
Wel tijdens het testen maar niet in de flow omgeving.

Dan ga je wat kleine testjes doen en de eerste geeft in de flow omgeving een voor mij onbegrijpelijke fout.

```auto
let JulianDay = args[0] // args[0] 2460169.5  
 
 var YMD = JulianDay;
 var Year = 2023;
 var Month = 8;
 var DayTotal = 13;
 
  await tag('Yearj', Year);		
  await tag('Monthj', Month);
  await tag('Dayj', DayTotal);
  await tag('YMDj', YMD);
 

console.log(Year,Month,DayTotal,YMD,JulianDay);
return(true);	

```

De kaart antwoord met “het krijgen van een **string** waar een **nummer** wordt verwacht.”  
Diezelfde kaart geeft bij dezelfde invoer waarde geen fout bij een ander script.  
(Wel het bewuste script wat geen uitvoer wil geven.)

De await tag’s zijn die ik in dat andere script wil gebruiken.

Wanneer het hier al fout gaat dan hoef ik niet verder te werken aan het grotere script.

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [August 14, 2023, 12:19am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/2 "2023-08-14T00:19:05Z")

</div>

> [@Theo\_de\_Koning](#):
>
> “het krijgen van een **string** waar een **nummer** wordt verwacht.”

> [@Theo\_de\_Koning](#):
>
> ```auto
> var YMD = JulianDay;
> var Year = 2023;
> var Month = 8;
> var DayTotal = 13;
> 
> ```

Data van type String / Tekst die je in tags wil schrijven, moet met ’ ’ worden omgeven

```auto
 var YMD = 'JulianDay';

```

Zie de ‘example-tag.js’ in Homeyscript:

```auto
// Create Tags
log('Creating My String...');
await tag('My String', 'abcdef');

log('Creating My Number...');
await tag('My Number', 123);

log('Creating My Boolean...');
await tag('My Boolean', true);

```

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 14, 2023, 5:15am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/3 "2023-08-14T05:15:49Z")

</div>

> [@Theo\_de\_Koning](#):
>
> De kaart antwoord met “het krijgen van een **string** waar een **nummer** wordt verwacht.”

Waarschijnlijk worden argumenten als string doorgegeven en moet je `JulianDay` expliciet omzetten naar nummer:

```auto
var YMD = Number(JulianDay);

```

---

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 14, 2023, 8:04am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/4 "2023-08-14T08:04:42Z")

</div>

**Het blijkt inderdaad niet de punt of komma te zijn.**

–

Ga ik in het script bovenaan op JulianDay staan dan geeft de pop-up:  
“let JulianDay: number”  
En dat is bij elke keer.

Bij YMD is dat:  
“var YMD: number”

Dit geldt verder voor al de andere var’s

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 14, 2023, 8:42am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/5 "2023-08-14T08:42:12Z")

</div>

> [@Theo\_de\_Koning](#):
>
> **In de scripts wordt de . (punt) gebruikt: 2460169.5**  
> **Op de kaart moet dat dus de , (komma) zijn 2460169,5**
> 
> Blijft er wel nog een vraag over:  
> Als het script een . (punt) als uitvoer heeft kan dat dan ook fout gaan in een flow?

De komma wordt alleen gebruikt voor “display purposes” en is afhankelijk van je land/taalinstelling. Intern (en in scripts) zou het gewoon een nummer met een punt moeten zijn.

---

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 14, 2023, 9:35am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/6 "2023-08-14T09:35:15Z")

</div>

Helemaal gelijk @robertklep

Zeker weer de test waarde laten zitten en opgeslagen.

* * *

Edit: helaas niet gevonden

```auto
Het is niet voor niets een testscript.
Alleen door tikfouten en test tag's is die lijst onder "hom" wat vervuild.
Zo die graag zelf opruimen. Kan dat?

Bedankt allemaal voor het meedenken.
Nu dan toch verder met het lastigere script.
```

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 14, 2023, 9:37am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/7 "2023-08-14T09:37:10Z")

</div>

> [@Theo\_de\_Koning](#):
>
> Maar nu toch de fout gevonden.  
> **JulianDay wordt al gebruikt in een ander script en is daar een tag geworden**. 😳  
> Het is nu:
> 
> ```auto
> let Julday = args[0] // args[0] 2460169.5  
>  
> var YMD = Julday;
> 
> ```

HomeyScripts staan op zichzelf, en variabelen staan los van tags. Dus het lijkt me sterk dat dit het echte probleem is.

---

<div class="post-metadata">

**Author:** ![Torch1969](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/torch1969/32/33305_2.png) [@Torch1969](https://community.homey.app/u/Torch1969)\
**Post date:** [August 14, 2023, 10:27am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/8 "2023-08-14T10:27:46Z")

</div>

> [@Theo\_de\_Koning](#):
>
> Alleen door tikfouten en test tag’s is die lijst onder “hom” wat vervuild.  
> Zo die graag zelf opruimen. Kan dat?

Ja, zie “example-tag.js”. Schrijf de tag waarde in een script weg met waarde “null”.

---

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 14, 2023, 10:49am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/9 "2023-08-14T10:49:10Z")

</div>

Dit is wat ik opmerk.

```auto
  await tag('Yearj', Year);		
  await tag('Monthj', Month);
  await tag('Dayj', DayTotal);
  await tag('YMDj', YMD);

```

Die ‘YMDj’ geeft het probleem en met name de j achteraan.  
Deze heeft wel een een groene tag. Ook een andere van een ander script.  
Later maar verder uitzoeken waarom.

@Torch1969, ik ga vanavond eens kijken hoe “example-tag.js” werkt. Bedankt.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 14, 2023, 10:52am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/10 "2023-08-14T10:52:23Z")

</div>

> [@Theo\_de\_Koning](#):
>
> Die ‘YMDj’ geeft het probleem

Ik heb al [uitgelegd](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/3) waarom.

---

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 14, 2023, 11:02am UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/11 "2023-08-14T11:02:09Z")

</div>

Het in de await tag alleen YDMj die dat doet.  
Moet nu echt weg.  
Vanavond kijken naar die ander kleur van de YDMj tag.

---

<div class="post-metadata">

**Author:** ![Theo\_de\_Koning](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/theo_de_koning/32/136062_2.png) [@Theo\_de\_Koning](https://community.homey.app/u/Theo_de_Koning)\
**Post date:** [August 14, 2023, 5:33pm UTC](https://community.homey.app/t/homeyscript-zelfs-in-een-kleine-test-om-ergens-anders-iets-te-begrijpen-snap-ik-de-fout-melding-niet/86950/12 "2023-08-14T17:33:08Z")

</div>

Na zo’n 2,5 uur rommelen denk ik dat ik het nu begrijp, alhoewel… 😉

Het vreemdste is wel dat zaken soms wel en dan weer niet werken.  
Mij Easter script werkte ineens ook niet meer bij het testen.  
De tip: _var YMD = Number(JulianDay);_ werkte eerst ook echt niet.

Toen maar puin gaan ruimen in het **Hom** eyScipt tag chaos.  
Daarna

```auto
let input_easter = args[0] // args[0] 2023

  var easteryear = Number(input_easter);

```

Dit wil ik dan ook standaard gaan doen.  
De naam van het script in de input.

Hoewel twee script zeer nauw verwant zijn blijkt dat je moet uitkijken naar benamingen.  
YMDtoJullian en JulianToYMD.  
Vanavond zal il wel niet meer verder gaan om die laatste verder te bekijken met omzetten.

Nogmaals bedankt voor de tips.
