Problem with port reading, while using firefly in grasshopper

Hello everyone,

I am using Grasshopper and the firefly plugin on Windows 11 and Rhino 8.

In my Grasshopper file the openport gives me:

  1. Solution exception:Method not found: ‘Microsoft.VisualBasic.Devices.Ports Microsoft.VisualBasic.Devices.Computer.get_Ports()’.

Any constructive help would be nice, thanks in advance.
2024_17_01_firefly port problem.gh (18.0 KB)

I am having the same problem. I am not sure but up till now the only issue I have narrowed down is because of Rhino grasshopper 8 version.

Yes, since I am unfortunately no programmer, I am now back to Rhino 7.

This comment fixed it for me: For whoever is trying to use firefly with updated software and gets the WriteToDAC error, Download the fixed Firmata from here:

or fix it yourself as seen in this video: https://www.youtube.com/watch?v=a1fwyfkEHAg

RR7 am Mi, 15/12/2021 - 00:52

I tested loading it on the Arduino with the Software Version 1.6.5. and 2.2.2 both worked for me.

Yes. Unfortunately, the Firefly Arduino components are not compatible with Rhino 8.

1 Like

Thanks for your answer!
Andy, since I have you here directly…

I am trying now to receive two OSC messages from Processing in Grasshopper via the firefly listener, but only the branch and one message comes through.
When I put in more messages I only receive as before the branch and a 0. Could you maybe point me to somehting that helps me understand why it behaves like that?

Edit: I dont have problems with TouchOSC, everything comes through here. So maybe its a problem with my usage of oscP5…

How are you sending the data as an OSC message? Typically an OSC message is composed of 3 things:

  • An address pattern
  • Type Tag
  • Argument List

I’ll let you read more about these in the link above, but the Firefly listener will create a new branch for every incoming OSC message it receives whose address pattern is unique. If there’s already an address pattern that it recognizes, then it will just update the existing value with the incoming one.
So, in the image below, there was a message sent first whose address pattern was /1/toggle1 and it had a value of 1. Then, I sent a second message whose address pattern was /1/toggle3 whose value was 1. Since this address pattern was unique, it created a new branch and output the pattern and the value. Does this help?

1 Like

This helped, thank you! It is something about the string I was sending out in Processing. Now I know where to approach :smiley: