You could, but it won’t render. You can display
<html>
<header>....
</html>
as text from an Item. You can’t load up an Item with HTML and have OH render that.
You can do pretty much anything you want in that respect. But you’ll probably need to create a custom widget to display it reasonably. And by the time you’ve munged together a widget that can both parse JSON and use it as you want, you’ve done more work had you used Items in the first place.
No, I think it might be implemented as an iFrame or something like that. It’s not embedded in the page, it’s loaded into the page. It’s mostly used for things like showing a camera feed from an IP camera or the trash pick schedule from an external website and stuff like that.
I don’t know because this isn’t the sort of thing that OH is designed to handle. It works with its own Items and its own database information. It’s not designed to be a generic display to show stuff that is pretty much wholly outside itself. That’s not it’s job.
There are tons of ways to do this that do not involve an external Python script and a table of text. Presumably these are devices that are important to OH so it’s probably already subscribed to those topics so an expire timer on those Items could be used if it doesn’t report after a time. The devices should have a LWT so that an OFFLINE message is published when the MQTT Broker sees that it went offline. OH can see that and set the MQTT Thing as OFFLINE which can in turn update the Items as appropriate.
Rarely do such short cuts that seem simpler end up being simpler in the long run. When using Groups, the semantic model, and widgets like the oh_repeater widget, you’d only need to change it in one place in OH too.
The currency in OH is Items. If it’s something that is worth displaying in OH, it’s also probably something worth OH acting upon (e.g. send a Telegram message when a node goes offline, turn on a heater when the temp sensor gets too low, etc). To achieve that, each sensor and actuator needs to be its own Item. If all you want to do is display a bunch of information from various sources, some other product is going to be a better fit for you. If you want to do some automation around this information, it must be broken up into individual Items.
You can easily do this in OH. But you’ll need three different Channels for each piece of information, link those three pieces to three separate Items, and then create a custom UI widget that displays those three Items with the style and formatting you desire.
And once you’ve done that, not only can you display it, you can have OH actually do something with them. Remember the “A” in openHAB stands for “automation”.