Blockly - can't find/pick some items

Hello!
i’m on openhab 4.1 and i’m trying some things with blockly (for the first time).
now here’s my problem: i can’t find some items…

here are some textual configured items:

Group   piCoreK         "Musik Küche"                       {alexa="Speaker"}
Player	piCoreK_control "Küche Control" (piCoreK)		    { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:control", alexa="Playback" }
Switch  piCoreK_power                   (piCoreK)           { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:power", alexa="PowerState" }

String  piCoreK_artist                                      { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:artist" }
String  piCoreK_title                                       { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:title" }
String  piCoreK_remoteTitle                                 { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:remotetitle" }
String  piCoreK_stream                                      { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:stream" }

Dimmer  piCoreK_volume   "Küche Volume" (piCoreK)           { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:volume", alexa="VolumeLevel" }
Image   piCoreK_albumArt                                    { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:coverartdata" }

String  piCoreK_PlayFavorite                                { channel="squeezebox:squeezeboxplayer:unRaid:piCoreK:playFavorite" }

but i can’t find/pick the items which are members of group piCoreK (showing also non-semantic):

and not showing non-semantic:

what exactly am i missing? :confused:

thanks for any help!

I think there was a bug I saw go by related to this. IIRC there is a combo of being non-semantically tagged and the Item having metadata that makes it not show up in the Item picker. If this is the case I think the only way to work around it is one of the following:

  • upgrade to the latest 4.2 snapshot or at least the latest 4.2 milestone release
  • add a semantic tag to the Item, at least long enough for it to show up in the picker
  • open the code tab and manually edit the Item name from there

this would be my preferred solution but i couldn’t even find out how to manually edit the blockly code.
when accessing the script via MainUI
image
it says
image

You have to go to the code-tab of the rule and scroll down: Open the rule (not the action) and near the top-right corner you see the code tab.

But don’t forget to make a copy of your rule as a backup.
And: To filter items you have to first select “show non semantic” and then enter your filter. The other way around doesn’t work.

1 Like

oh - sorry, i totally forgot to mention that i’m setting up a script and not a rule.
is there also a way to manually edit a script?

Hi,

did you try to search for the label?

Have a good weekend!
HFM

Unfortunately not yet.

yes, see my last screenshot in opening post.

i’ll try

tomorrow!

Just to be clear as I was never aware about this, Rich, we have that issue in 4.1 but it was fixed in 4.2 or is it yet to be corrected?

I have no idea if it’s fixed in 4.2 but the Item picker is the generic one used everywhere in MainUI, right? There was an Issue and PR that changed something like the problem reported here. So it’s probably fixed in 4.2 but I’m not running 4.2 and even if I were I don’t have any items that are not showing up so probably couldn’t great it anyway.

solved my problem! so i’ll take this approach and wait for stable 4.2!

thanks

Is still(/again?) have this issue. Some items do not show up in the picker, only when I have ticked “show non-semantic” AND “show name” and have them in a defined group (order):

Player Show_Buero                           "show buero"        <amazon_display>    (DG_Arbeitszimmer, Alexa_Buero, All_Echo, gAlexa)   ["tTTS"]  {channel="amazonechocontrol:echoshow:account1:show_buero:player"}
String Show_Buero_MusicProviderId           "music provider"    (Alexa_Buero, All_Echo_MusicProviderId)     {channel="amazonechocontrol:echoshow:account1:show_buero:musicProviderId"}
String Show_Buero_PlayMusicCommand          "play music"        (Alexa_Buero, All_Echo_PlayMusicCommand)    {channel="amazonechocontrol:echoshow:account1:show_buero:playMusicVoiceCommand"}
Dimmer Show_Buero_Volume                    "Volume"            (Alexa_Buero, All_Echo_Volume)              {channel="amazonechocontrol:echoshow:account1:show_buero:volume"}
Dimmer Show_Buero_TTS_Volume                "tts Volume"        (Alexa_Buero, All_Echo_TTS_Volume)  ["tTTSVolume"]  {channel="amazonechocontrol:echoshow:account1:show_buero:textToSpeechVolume"}
String Show_Buero_TTS                       "text to speech"    (DG_Arbeitszimmer, Alexa_Buero, All_Echo_TTS) ["tTTS"]    {channel="amazonechocontrol:echoshow:account1:show_buero:textToSpeech"}

When I search for “show” in the picker, I will get the items “Show_Buero” and “Show_Buero_TTS” because they are in the DG_Arbeitsplatz group. This group in nested into several items:

Group           EWS3C                       "ews3c"                 <house>                                             ["Building"]
...
Group           DG                          "Dachgeschoss"          <attic>             (EWS3C)                         ["Attic"]
...
Group           DG_Arbeitszimmer            "Arbeitszimmer"         <coding>            (EWS3C, DG)                     ["Room"]

I am running OH 4.2.2. Is this the same issue or do I miss something else?

I’m not seeing this. When I check “show non-semantic” I see all my Items whether they are in a Group or not.

Are you looking in the right spot? First are the semantically tagged Items, then the Groups and only then the Items that are not in Groups.

Have you looked in the Alexa_Buero Group or one of the All_Echo Groups in the list? The Item will only appear in one place in the list and I’m not sure how which Group it appears in is chosen.

Really different here and I do not understand why.
Show non-semantic (i did tick the pox and searched afterwards)


Show name:

I understand why both are different (for the TTS item “show” is only in the item name), but when I search for “text”, several other items should show up but the are nowhere to be found.

I use the "get item → item “MyItem” Blockly element. In the developer sidebar I can see 7 items with “show”, but it seems that I cannot use them from the sidebar.

Edit: just realized I have this issue elsewhere too:
When I use “add trigger” in a rule and select “item” I will get the same picker and will not get a list of all items. With “show all” → “item stage is updated” I get a different type of list which provides all items:
image

And the meantime I’ve updated my sources (debian apt update&upgrade), but there was only a zulu java update available, nothing about openhab.

OH runs on a time based release cycle.

  • Twice a year in June and December are the official releases. These are the point releases (e.g. 4.3 will be the next piont release in Dec.).
  • Once a month a milestone release is created. The most recent milestone is 4.3 M2.
  • Once a day a new snapshot release is created.
  • Occasionally, usually corresponding with the milestone releases, a few significant bug fixes might get backported to previous releases (e.g. 4.2.2).

Depending on which repo you are using will dep

You don’t say what version of OH you are using, but if you want the latest you need to be using the snapshots. I wouldn’t expect any more changes to 4.2.2 until 4.3 comes out in December.

I know about the release cycles and even mentioned using version OH 4.2.2 in my former post (no problem though, everybody oversees something). But as you talked about 4.2 I thought/hoped it was already fixed. Especially as 4.2 is the stable version at the moment. I would expect more people to complain about it, if this is an issue for all of them, which makes me ask myself if there is anything wrong in my system.

Let’s try to dig deeper and find out what’s going on behind the scenes, in particular if it is frontend or backend issue.

  • Please create a blockly rule and add the following block
    image

  • Then in the browser open the developer tools (on mac cmd-option-i)

  • select the network tab

  • only now click on “myitem” to open the selection dialog

  • It should give you an entry in the network tab like so

  • Copy the URL like below

  • Open a new browser tab and paste the URL

and you should get a result.

  • Check within the result of the item in question is contained.
  • repeat with the following checkbox selected

Thank you for the precise instruction and your time!

Both results are the identical (checked with meld), but the items I am missing in the picker (frontend) are within the data:

{
    "link": "https://g****c:8443/rest/items/Show_Buero_TTS",
    "stateDescription": {
      "pattern": "%s",
      "readOnly": false,
      "options": []
    },
    "editable": false,
    "type": "String",
    "name": "Show_Buero_TTS",
    "label": "text to speech",
    "tags": [
      "tTTS"
    ],
    "groupNames": [
      "DG_Arbeitszimmer",
      "Alexa_Buero",
      "All_Echo_TTS"
    ]
  },
...
{
    "link": "https://g****c:8443/rest/items/Show_Buero_TTS_Volume",
    "editable": false,
    "type": "Dimmer",
    "name": "Show_Buero_TTS_Volume",
    "label": "tts Volume",
    "tags": [
      "tTTSVolume"
    ],
    "groupNames": [
      "Alexa_Buero",
      "All_Echo_TTS_Volume"
    ]
  },

But somehow the picker is not populated correctly. No errors in the console though. I’ll have a try with another browser later (currently blink based vivaldi on ubuntu 24.04).

Hmmm, so we know that the items are loaded from the backend. Just to make sure it is not Blockly-UI related, do you mind checking if the same happens if you use the picker on a different page?

Yes, I have this behavior in other places too:

And in the model page too.
Currently I do not understand the difference. All items are coming from an old *.items file, but the data structure in the json does not differ beside where I group them.